Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 1 | #ifndef _IPTABLES_USER_H |
| 2 | #define _IPTABLES_USER_H |
| 3 | |
Jan Engelhardt | ef18e81 | 2008-08-04 12:47:48 +0200 | [diff] [blame] | 4 | #include <netinet/ip.h> |
| 5 | #include <xtables.h> |
| 6 | #include <libiptc/libiptc.h> |
Jan Engelhardt | c02e808 | 2009-02-10 10:40:15 +0100 | [diff] [blame^] | 7 | #include <iptables/internal.h> |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 8 | |
Rusty Russell | 3aef54d | 2005-01-03 03:48:40 +0000 | [diff] [blame] | 9 | #ifndef IPT_SO_GET_REVISION_MATCH /* Old kernel source. */ |
| 10 | #define IPT_SO_GET_REVISION_MATCH (IPT_BASE_CTL + 2) |
| 11 | #define IPT_SO_GET_REVISION_TARGET (IPT_BASE_CTL + 3) |
Rusty Russell | 3aef54d | 2005-01-03 03:48:40 +0000 | [diff] [blame] | 12 | #endif /* IPT_SO_GET_REVISION_MATCH Old kernel source */ |
| 13 | |
Yasuyuki KOZAKAI | 0d502bc | 2007-07-24 05:52:07 +0000 | [diff] [blame] | 14 | #define iptables_rule_match xtables_rule_match |
Yasuyuki KOZAKAI | 0d502bc | 2007-07-24 05:52:07 +0000 | [diff] [blame] | 15 | #define ipt_tryload xt_tryload |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 16 | |
Illes Marci | 63e9063 | 2003-03-03 08:08:37 +0000 | [diff] [blame] | 17 | extern int line; |
| 18 | |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 19 | /* Your shared library should call one of these. */ |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 20 | extern int do_command(int argc, char *argv[], char **table, |
Jan Engelhardt | fd18731 | 2008-11-10 16:59:27 +0100 | [diff] [blame] | 21 | struct iptc_handle **handle); |
Harald Welte | a114e9e | 2000-12-01 14:28:19 +0000 | [diff] [blame] | 22 | extern int delete_chain(const ipt_chainlabel chain, int verbose, |
Jan Engelhardt | 1c9015b | 2008-11-10 17:00:41 +0100 | [diff] [blame] | 23 | struct iptc_handle *handle); |
Harald Welte | a114e9e | 2000-12-01 14:28:19 +0000 | [diff] [blame] | 24 | extern int flush_entries(const ipt_chainlabel chain, int verbose, |
Jan Engelhardt | 1c9015b | 2008-11-10 17:00:41 +0100 | [diff] [blame] | 25 | struct iptc_handle *handle); |
| 26 | extern int for_each_chain(int (*fn)(const ipt_chainlabel, int, struct iptc_handle *), |
| 27 | int verbose, int builtinstoo, struct iptc_handle *handle); |
Henrik Nordstrom | 96296cf | 2008-05-13 13:08:26 +0200 | [diff] [blame] | 28 | extern void print_rule(const struct ipt_entry *e, |
Jan Engelhardt | 1c9015b | 2008-11-10 17:00:41 +0100 | [diff] [blame] | 29 | struct iptc_handle *handle, const char *chain, int counters); |
Phil Oester | 8cf6591 | 2005-09-19 15:00:33 +0000 | [diff] [blame] | 30 | |
| 31 | /* kernel revision handling */ |
| 32 | extern int kernel_version; |
| 33 | extern void get_kernel_version(void); |
| 34 | #define LINUX_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z) |
| 35 | #define LINUX_VERSION_MAJOR(x) (((x)>>16) & 0xFF) |
| 36 | #define LINUX_VERSION_MINOR(x) (((x)>> 8) & 0xFF) |
| 37 | #define LINUX_VERSION_PATCH(x) ( (x) & 0xFF) |
| 38 | |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 39 | #endif /*_IPTABLES_USER_H*/ |