diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2013-09-06 18:37:46 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2013-09-06 19:04:40 +0800 |
commit | 6986c6e7f06bb3bdedfc3bb08694da9b1227048c (patch) | |
tree | 5c0f01f1f54d9040100858182232c1fb4134b58f /9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h | |
parent | 30ee84f92cb832c789366c516fcadb718ccc25e8 (diff) | |
download | prebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.zip prebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.tar.gz prebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.tar.bz2 |
Add NDK r9 part 1/2: platforms/
Change-Id: Ie572e90ffda7f982d931dda1a9f5a0c68953a762
Diffstat (limited to '9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h')
-rw-r--r-- | 9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h b/9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h new file mode 100644 index 0000000..aa48305 --- /dev/null +++ b/9/platforms/android-18/arch-mips/usr/include/linux/netfilter_ipv4/ip_tables.h @@ -0,0 +1,180 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _IPTABLES_H +#define _IPTABLES_H + +#include <linux/compiler.h> +#include <linux/netfilter_ipv4.h> + +#include <linux/netfilter/x_tables.h> + +#define IPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN +#define IPT_TABLE_MAXNAMELEN XT_FUNCTION_MAXNAMELEN +#define ipt_match xt_match +#define ipt_target xt_target +#define ipt_table xt_table +#define ipt_get_revision xt_get_revision + +struct ipt_ip { + + struct in_addr src, dst; + + struct in_addr smsk, dmsk; + char iniface[IFNAMSIZ], outiface[IFNAMSIZ]; + unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ]; + + u_int16_t proto; + + u_int8_t flags; + + u_int8_t invflags; +}; + +#define ipt_entry_match xt_entry_match +#define ipt_entry_target xt_entry_target +#define ipt_standard_target xt_standard_target + +#define ipt_counters xt_counters + +#define IPT_F_FRAG 0x01 +#define IPT_F_GOTO 0x02 +#define IPT_F_MASK 0x03 + +#define IPT_INV_VIA_IN 0x01 +#define IPT_INV_VIA_OUT 0x02 +#define IPT_INV_TOS 0x04 +#define IPT_INV_SRCIP 0x08 +#define IPT_INV_DSTIP 0x10 +#define IPT_INV_FRAG 0x20 +#define IPT_INV_PROTO XT_INV_PROTO +#define IPT_INV_MASK 0x7F + +struct ipt_entry +{ + struct ipt_ip ip; + + unsigned int nfcache; + + u_int16_t target_offset; + + u_int16_t next_offset; + + unsigned int comefrom; + + struct xt_counters counters; + + unsigned char elems[0]; +}; + +#define IPT_BASE_CTL XT_BASE_CTL + +#define IPT_SO_SET_REPLACE XT_SO_SET_REPLACE +#define IPT_SO_SET_ADD_COUNTERS XT_SO_SET_ADD_COUNTERS +#define IPT_SO_SET_MAX XT_SO_SET_MAX + +#define IPT_SO_GET_INFO XT_SO_GET_INFO +#define IPT_SO_GET_ENTRIES XT_SO_GET_ENTRIES +#define IPT_SO_GET_REVISION_MATCH XT_SO_GET_REVISION_MATCH +#define IPT_SO_GET_REVISION_TARGET XT_SO_GET_REVISION_TARGET +#define IPT_SO_GET_MAX XT_SO_GET_REVISION_TARGET + +#define IPT_CONTINUE XT_CONTINUE +#define IPT_RETURN XT_RETURN + +#include <linux/netfilter/xt_tcpudp.h> +#define ipt_udp xt_udp +#define ipt_tcp xt_tcp + +#define IPT_TCP_INV_SRCPT XT_TCP_INV_SRCPT +#define IPT_TCP_INV_DSTPT XT_TCP_INV_DSTPT +#define IPT_TCP_INV_FLAGS XT_TCP_INV_FLAGS +#define IPT_TCP_INV_OPTION XT_TCP_INV_OPTION +#define IPT_TCP_INV_MASK XT_TCP_INV_MASK + +#define IPT_UDP_INV_SRCPT XT_UDP_INV_SRCPT +#define IPT_UDP_INV_DSTPT XT_UDP_INV_DSTPT +#define IPT_UDP_INV_MASK XT_UDP_INV_MASK + +struct ipt_icmp +{ + u_int8_t type; + u_int8_t code[2]; + u_int8_t invflags; +}; + +#define IPT_ICMP_INV 0x01 + +struct ipt_getinfo +{ + + char name[IPT_TABLE_MAXNAMELEN]; + + unsigned int valid_hooks; + + unsigned int hook_entry[NF_IP_NUMHOOKS]; + + unsigned int underflow[NF_IP_NUMHOOKS]; + + unsigned int num_entries; + + unsigned int size; +}; + +struct ipt_replace +{ + + char name[IPT_TABLE_MAXNAMELEN]; + + unsigned int valid_hooks; + + unsigned int num_entries; + + unsigned int size; + + unsigned int hook_entry[NF_IP_NUMHOOKS]; + + unsigned int underflow[NF_IP_NUMHOOKS]; + + unsigned int num_counters; + + struct xt_counters __user *counters; + + struct ipt_entry entries[0]; +}; + +#define ipt_counters_info xt_counters_info + +struct ipt_get_entries +{ + + char name[IPT_TABLE_MAXNAMELEN]; + + unsigned int size; + + struct ipt_entry entrytable[0]; +}; + +#define IPT_STANDARD_TARGET XT_STANDARD_TARGET + +#define IPT_ERROR_TARGET XT_ERROR_TARGET + +static __inline__ struct ipt_entry_target * +ipt_get_target(struct ipt_entry *e) +{ + return (void *)e + e->target_offset; +} + +#define IPT_MATCH_ITERATE(e, fn, args...) ({ unsigned int __i; int __ret = 0; struct ipt_entry_match *__match; for (__i = sizeof(struct ipt_entry); __i < (e)->target_offset; __i += __match->u.match_size) { __match = (void *)(e) + __i; __ret = fn(__match , ## args); if (__ret != 0) break; } __ret; }) + +#define IPT_ENTRY_ITERATE(entries, size, fn, args...) ({ unsigned int __i; int __ret = 0; struct ipt_entry *__entry; for (__i = 0; __i < (size); __i += __entry->next_offset) { __entry = (void *)(entries) + __i; __ret = fn(__entry , ## args); if (__ret != 0) break; } __ret; }) + +#endif |