1 /* Minor modifications to fit on compatibility framework: 2 Rusty.Russell@rustcorp.com.au 3 */ 4 5 #ifndef __LINUX_FIREWALL_H 6 #define __LINUX_FIREWALL_H 7 8 /* 9 * Definitions for loadable firewall modules 10 */ 11 12 #define FW_QUEUE 0 13 #define FW_BLOCK 1 14 #define FW_ACCEPT 2 15 #define FW_REJECT (-1) 16 #define FW_REDIRECT 3 17 #define FW_MASQUERADE 4 18 #define FW_SKIP 5 19 20 struct firewall_ops 21 { 22 struct firewall_ops *next; 23 int (*fw_forward)(struct firewall_ops *this, int pf, 24 struct net_device *dev, void *phdr, void *arg, 25 struct sk_buff **pskb); 26 int (*fw_input)(struct firewall_ops *this, int pf, 27 struct net_device *dev, void *phdr, void *arg, 28 struct sk_buff **pskb); 29 int (*fw_output)(struct firewall_ops *this, int pf, 30 struct net_device *dev, void *phdr, void *arg, 31 struct sk_buff **pskb); 32 /* These may be NULL. */ 33 int (*fw_acct_in)(struct firewall_ops *this, int pf, 34 struct net_device *dev, void *phdr, void *arg, 35 struct sk_buff **pskb); 36 int (*fw_acct_out)(struct firewall_ops *this, int pf, 37 struct net_device *dev, void *phdr, void *arg, 38 struct sk_buff **pskb); 39 }; 40 41 extern int register_firewall(int pf, struct firewall_ops *fw); 42 extern int unregister_firewall(int pf, struct firewall_ops *fw); 43 44 extern int ip_fw_masq_timeouts(void *user, int len); 45 #endif /* __LINUX_FIREWALL_H */ 46