OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [linux/] [include/] [net/] [pfil.h] - Blame information for rev 148

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*      $FreeBSD: src/sys/net/pfil.h,v 1.9 2002/03/24 09:34:04 bde Exp $        */
2
 
3
/*
4
 * Copyright (c) 1996 Matthew R. Green
5
 * All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or without
8
 * modification, are permitted provided that the following conditions
9
 * are met:
10
 * 1. Redistributions of source code must retain the above copyright
11
 *    notice, this list of conditions and the following disclaimer.
12
 * 2. Redistributions in binary form must reproduce the above copyright
13
 *    notice, this list of conditions and the following disclaimer in the
14
 *    documentation and/or other materials provided with the distribution.
15
 * 3. The name of the author may not be used to endorse or promote products
16
 *    derived from this software without specific prior written permission.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
23
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
25
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28
 * SUCH DAMAGE.
29
 */
30
 
31
#ifndef _NET_PFIL_H_
32
#define _NET_PFIL_H_
33
 
34
#include <sys/queue.h>
35
 
36
struct mbuf;
37
struct ifnet;
38
 
39
/*
40
 * The packet filter hooks are designed for anything to call them to
41
 * possibly intercept the packet.
42
 */
43
struct packet_filter_hook {
44
        TAILQ_ENTRY(packet_filter_hook) pfil_link;
45
        int     (*pfil_func)(void *, int, struct ifnet *, int, struct mbuf **);
46
        int     pfil_flags;
47
};
48
 
49
#define PFIL_IN         0x00000001
50
#define PFIL_OUT        0x00000002
51
#define PFIL_WAITOK     0x00000004
52
#define PFIL_ALL        (PFIL_IN|PFIL_OUT)
53
 
54
typedef TAILQ_HEAD(pfil_list, packet_filter_hook) pfil_list_t;
55
 
56
struct pfil_head {
57
        pfil_list_t     ph_in;
58
        pfil_list_t     ph_out;
59
        int             ph_init;
60
};
61
 
62
struct packet_filter_hook *pfil_hook_get(int, struct pfil_head *);
63
int     pfil_add_hook(int (*func)(void *, int,
64
            struct ifnet *, int, struct mbuf **), int, struct pfil_head *);
65
int     pfil_remove_hook(int (*func)(void *, int,
66
            struct ifnet *, int, struct mbuf **), int, struct pfil_head *);
67
 
68
/* XXX */
69
#if defined(_KERNEL) && !defined(KLD_MODULE)
70
#include "opt_ipfilter.h"
71
#endif
72
 
73
#if IPFILTER > 0
74
#ifdef PFIL_HOOKS
75
#undef PFIL_HOOKS
76
#endif
77
#define PFIL_HOOKS
78
#endif /* IPFILTER */
79
 
80
#endif /* _NET_PFIL_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.