/* Minor modifications to fit on compatibility framework: Rusty.Russell@rustcorp.com.au */ #ifndef __LINUX_FIREWALL_H #define __LINUX_FIREWALL_H /* * Definitions for loadable firewall modules */ #define FW_QUEUE 0 #define FW_BLOCK 1 #define FW_ACCEPT 2 #define FW_REJECT (-1) #define FW_REDIRECT 3 #define FW_MASQUERADE 4 #define FW_SKIP 5 struct firewall_ops { struct firewall_ops *next; int (*fw_forward)(struct firewall_ops *this, int pf, struct net_device *dev, void *phdr, void *arg, struct sk_buff **pskb); int (*fw_input)(struct firewall_ops *this, int pf, struct net_device *dev, void *phdr, void *arg, struct sk_buff **pskb); int (*fw_output)(struct firewall_ops *this, int pf, struct net_device *dev, void *phdr, void *arg, struct sk_buff **pskb); /* These may be NULL. */ int (*fw_acct_in)(struct firewall_ops *this, int pf, struct net_device *dev, void *phdr, void *arg, struct sk_buff **pskb); int (*fw_acct_out)(struct firewall_ops *this, int pf, struct net_device *dev, void *phdr, void *arg, struct sk_buff **pskb); }; extern int register_firewall(int pf, struct firewall_ops *fw); extern int unregister_firewall(int pf, struct firewall_ops *fw); extern int ip_fw_masq_timeouts(void *user, int len); #endif /* __LINUX_FIREWALL_H */