OSDN Git Service

Check in released NDK version r4.
[android-x86/prebuilt.git] / ndk / android-ndk-r4 / linux / platforms / android-8 / arch-arm / usr / include / linux / netfilter / x_tables.h
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef _X_TABLES_H
13 #define _X_TABLES_H
14
15 #define XT_FUNCTION_MAXNAMELEN 30
16 #define XT_TABLE_MAXNAMELEN 32
17
18 struct xt_entry_match
19 {
20  union {
21  struct {
22  u_int16_t match_size;
23
24  char name[XT_FUNCTION_MAXNAMELEN-1];
25
26  u_int8_t revision;
27  } user;
28  struct {
29  u_int16_t match_size;
30
31  struct xt_match *match;
32  } kernel;
33
34  u_int16_t match_size;
35  } u;
36
37  unsigned char data[0];
38 };
39
40 struct xt_entry_target
41 {
42  union {
43  struct {
44  u_int16_t target_size;
45
46  char name[XT_FUNCTION_MAXNAMELEN-1];
47
48  u_int8_t revision;
49  } user;
50  struct {
51  u_int16_t target_size;
52
53  struct xt_target *target;
54  } kernel;
55
56  u_int16_t target_size;
57  } u;
58
59  unsigned char data[0];
60 };
61
62 struct xt_standard_target
63 {
64  struct xt_entry_target target;
65  int verdict;
66 };
67
68 struct xt_get_revision
69 {
70  char name[XT_FUNCTION_MAXNAMELEN-1];
71
72  u_int8_t revision;
73 };
74
75 #define XT_CONTINUE 0xFFFFFFFF
76
77 #define XT_RETURN (-NF_REPEAT - 1)
78
79 struct _xt_align
80 {
81  u_int8_t u8;
82  u_int16_t u16;
83  u_int32_t u32;
84  u_int64_t u64;
85 };
86
87 #define XT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1))   & ~(__alignof__(struct _xt_align)-1))
88
89 #define XT_STANDARD_TARGET ""
90
91 #define XT_ERROR_TARGET "ERROR"
92
93 #define XT_BASE_CTL 64  
94
95 #define XT_SO_SET_REPLACE (XT_BASE_CTL)
96 #define XT_SO_SET_ADD_COUNTERS (XT_BASE_CTL + 1)
97 #define XT_SO_SET_MAX XT_SO_SET_ADD_COUNTERS
98
99 #define XT_SO_GET_INFO (XT_BASE_CTL)
100 #define XT_SO_GET_ENTRIES (XT_BASE_CTL + 1)
101 #define XT_SO_GET_REVISION_MATCH (XT_BASE_CTL + 2)
102 #define XT_SO_GET_REVISION_TARGET (XT_BASE_CTL + 3)
103 #define XT_SO_GET_MAX XT_SO_GET_REVISION_TARGET
104
105 #define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0)
106 #define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
107
108 struct xt_counters
109 {
110  u_int64_t pcnt, bcnt;
111 };
112
113 struct xt_counters_info
114 {
115
116  char name[XT_TABLE_MAXNAMELEN];
117
118  unsigned int num_counters;
119
120  struct xt_counters counters[0];
121 };
122
123 #define XT_INV_PROTO 0x40  
124
125 #endif