Deleted Added
sdiff udiff text old ( 130731 ) new ( 135920 )
full compact
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;
43struct inpcb;
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;
51 int (*pfil_func)(void *, struct mbuf **, struct ifnet *, int, struct inpcb *);
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 *,
88 int, struct inpcb *inp);
89
90int pfil_add_hook(int (*func)(void *, struct mbuf **,
91 struct ifnet *, int, struct inpcb *), void *, int, struct pfil_head *);
92int pfil_remove_hook(int (*func)(void *, struct mbuf **,
93 struct ifnet *, int, struct inpcb *), void *, int, struct pfil_head *);
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 ---