Deleted Added
full compact
pfil.h (130731) pfil.h (135920)
1/* $FreeBSD: head/sys/net/pfil.h 130731 2004-06-19 14:58:35Z bde $ */
1/* $FreeBSD: head/sys/net/pfil.h 135920 2004-09-29 04:54:33Z mlaier $ */
2/* $NetBSD: pfil.h,v 1.22 2003/06/23 12:57:08 martin Exp $ */
3
4/*
5 * Copyright (c) 1996 Matthew R. Green
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 25 unchanged lines hidden (view full) ---

35#include <sys/systm.h>
36#include <sys/queue.h>
37#include <sys/_lock.h>
38#include <sys/_mutex.h>
39#include <sys/condvar.h> /* XXX */
40
41struct mbuf;
42struct ifnet;
2/* $NetBSD: pfil.h,v 1.22 2003/06/23 12:57:08 martin Exp $ */
3
4/*
5 * Copyright (c) 1996 Matthew R. Green
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 25 unchanged lines hidden (view full) ---

35#include <sys/systm.h>
36#include <sys/queue.h>
37#include <sys/_lock.h>
38#include <sys/_mutex.h>
39#include <sys/condvar.h> /* XXX */
40
41struct mbuf;
42struct ifnet;
43struct inpcb;
43
44/*
45 * The packet filter hooks are designed for anything to call them to
46 * possibly intercept the packet.
47 */
48struct packet_filter_hook {
49 TAILQ_ENTRY(packet_filter_hook) pfil_link;
44
45/*
46 * The packet filter hooks are designed for anything to call them to
47 * possibly intercept the packet.
48 */
49struct packet_filter_hook {
50 TAILQ_ENTRY(packet_filter_hook) pfil_link;
50 int (*pfil_func)(void *, struct mbuf **, struct ifnet *, int);
51 int (*pfil_func)(void *, struct mbuf **, struct ifnet *, int, struct inpcb *);
51 void *pfil_arg;
52 int pfil_flags;
53};
54
55#define PFIL_IN 0x00000001
56#define PFIL_OUT 0x00000002
57#define PFIL_WAITOK 0x00000004
58#define PFIL_ALL (PFIL_IN|PFIL_OUT)

--- 20 unchanged lines hidden (view full) ---

79 void *phu_ptr;
80 } ph_un;
81#define ph_af ph_un.phu_val
82#define ph_ifnet ph_un.phu_ptr
83 LIST_ENTRY(pfil_head) ph_list;
84};
85
86int pfil_run_hooks(struct pfil_head *, struct mbuf **, struct ifnet *,
52 void *pfil_arg;
53 int pfil_flags;
54};
55
56#define PFIL_IN 0x00000001
57#define PFIL_OUT 0x00000002
58#define PFIL_WAITOK 0x00000004
59#define PFIL_ALL (PFIL_IN|PFIL_OUT)

--- 20 unchanged lines hidden (view full) ---

80 void *phu_ptr;
81 } ph_un;
82#define ph_af ph_un.phu_val
83#define ph_ifnet ph_un.phu_ptr
84 LIST_ENTRY(pfil_head) ph_list;
85};
86
87int pfil_run_hooks(struct pfil_head *, struct mbuf **, struct ifnet *,
87 int);
88 int, struct inpcb *inp);
88
89int pfil_add_hook(int (*func)(void *, struct mbuf **,
89
90int pfil_add_hook(int (*func)(void *, struct mbuf **,
90 struct ifnet *, int), void *, int, struct pfil_head *);
91 struct ifnet *, int, struct inpcb *), void *, int, struct pfil_head *);
91int pfil_remove_hook(int (*func)(void *, struct mbuf **,
92int pfil_remove_hook(int (*func)(void *, struct mbuf **,
92 struct ifnet *, int), void *, int, struct pfil_head *);
93 struct ifnet *, int, struct inpcb *), void *, int, struct pfil_head *);
93
94int pfil_head_register(struct pfil_head *);
95int pfil_head_unregister(struct pfil_head *);
96
97struct pfil_head *pfil_head_get(int, u_long);
98
99static __inline struct packet_filter_hook *
100pfil_hook_get(int dir, struct pfil_head *ph)

--- 12 unchanged lines hidden ---
94
95int pfil_head_register(struct pfil_head *);
96int pfil_head_unregister(struct pfil_head *);
97
98struct pfil_head *pfil_head_get(int, u_long);
99
100static __inline struct packet_filter_hook *
101pfil_hook_get(int dir, struct pfil_head *ph)

--- 12 unchanged lines hidden ---