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 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _IPCONNTRACK_NETLINK_H
20#define _IPCONNTRACK_NETLINK_H
21#include <linux/netfilter/nfnetlink.h>
22enum cntl_msg_types {
23  IPCTNL_MSG_CT_NEW,
24  IPCTNL_MSG_CT_GET,
25  IPCTNL_MSG_CT_DELETE,
26  IPCTNL_MSG_CT_GET_CTRZERO,
27  IPCTNL_MSG_CT_GET_STATS_CPU,
28  IPCTNL_MSG_CT_GET_STATS,
29  IPCTNL_MSG_CT_GET_DYING,
30  IPCTNL_MSG_CT_GET_UNCONFIRMED,
31  IPCTNL_MSG_MAX
32};
33enum ctnl_exp_msg_types {
34  IPCTNL_MSG_EXP_NEW,
35  IPCTNL_MSG_EXP_GET,
36  IPCTNL_MSG_EXP_DELETE,
37  IPCTNL_MSG_EXP_GET_STATS_CPU,
38  IPCTNL_MSG_EXP_MAX
39};
40enum ctattr_type {
41  CTA_UNSPEC,
42  CTA_TUPLE_ORIG,
43  CTA_TUPLE_REPLY,
44  CTA_STATUS,
45  CTA_PROTOINFO,
46  CTA_HELP,
47  CTA_NAT_SRC,
48#define CTA_NAT CTA_NAT_SRC
49  CTA_TIMEOUT,
50  CTA_MARK,
51  CTA_COUNTERS_ORIG,
52  CTA_COUNTERS_REPLY,
53  CTA_USE,
54  CTA_ID,
55  CTA_NAT_DST,
56  CTA_TUPLE_MASTER,
57  CTA_SEQ_ADJ_ORIG,
58  CTA_NAT_SEQ_ADJ_ORIG = CTA_SEQ_ADJ_ORIG,
59  CTA_SEQ_ADJ_REPLY,
60  CTA_NAT_SEQ_ADJ_REPLY = CTA_SEQ_ADJ_REPLY,
61  CTA_SECMARK,
62  CTA_ZONE,
63  CTA_SECCTX,
64  CTA_TIMESTAMP,
65  CTA_MARK_MASK,
66  CTA_LABELS,
67  CTA_LABELS_MASK,
68  __CTA_MAX
69};
70#define CTA_MAX (__CTA_MAX - 1)
71enum ctattr_tuple {
72  CTA_TUPLE_UNSPEC,
73  CTA_TUPLE_IP,
74  CTA_TUPLE_PROTO,
75  CTA_TUPLE_ZONE,
76  __CTA_TUPLE_MAX
77};
78#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
79enum ctattr_ip {
80  CTA_IP_UNSPEC,
81  CTA_IP_V4_SRC,
82  CTA_IP_V4_DST,
83  CTA_IP_V6_SRC,
84  CTA_IP_V6_DST,
85  __CTA_IP_MAX
86};
87#define CTA_IP_MAX (__CTA_IP_MAX - 1)
88enum ctattr_l4proto {
89  CTA_PROTO_UNSPEC,
90  CTA_PROTO_NUM,
91  CTA_PROTO_SRC_PORT,
92  CTA_PROTO_DST_PORT,
93  CTA_PROTO_ICMP_ID,
94  CTA_PROTO_ICMP_TYPE,
95  CTA_PROTO_ICMP_CODE,
96  CTA_PROTO_ICMPV6_ID,
97  CTA_PROTO_ICMPV6_TYPE,
98  CTA_PROTO_ICMPV6_CODE,
99  __CTA_PROTO_MAX
100};
101#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
102enum ctattr_protoinfo {
103  CTA_PROTOINFO_UNSPEC,
104  CTA_PROTOINFO_TCP,
105  CTA_PROTOINFO_DCCP,
106  CTA_PROTOINFO_SCTP,
107  __CTA_PROTOINFO_MAX
108};
109#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
110enum ctattr_protoinfo_tcp {
111  CTA_PROTOINFO_TCP_UNSPEC,
112  CTA_PROTOINFO_TCP_STATE,
113  CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
114  CTA_PROTOINFO_TCP_WSCALE_REPLY,
115  CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
116  CTA_PROTOINFO_TCP_FLAGS_REPLY,
117  __CTA_PROTOINFO_TCP_MAX
118};
119#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
120enum ctattr_protoinfo_dccp {
121  CTA_PROTOINFO_DCCP_UNSPEC,
122  CTA_PROTOINFO_DCCP_STATE,
123  CTA_PROTOINFO_DCCP_ROLE,
124  CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
125  CTA_PROTOINFO_DCCP_PAD,
126  __CTA_PROTOINFO_DCCP_MAX,
127};
128#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
129enum ctattr_protoinfo_sctp {
130  CTA_PROTOINFO_SCTP_UNSPEC,
131  CTA_PROTOINFO_SCTP_STATE,
132  CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
133  CTA_PROTOINFO_SCTP_VTAG_REPLY,
134  __CTA_PROTOINFO_SCTP_MAX
135};
136#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
137enum ctattr_counters {
138  CTA_COUNTERS_UNSPEC,
139  CTA_COUNTERS_PACKETS,
140  CTA_COUNTERS_BYTES,
141  CTA_COUNTERS32_PACKETS,
142  CTA_COUNTERS32_BYTES,
143  CTA_COUNTERS_PAD,
144  __CTA_COUNTERS_MAX
145};
146#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
147enum ctattr_tstamp {
148  CTA_TIMESTAMP_UNSPEC,
149  CTA_TIMESTAMP_START,
150  CTA_TIMESTAMP_STOP,
151  CTA_TIMESTAMP_PAD,
152  __CTA_TIMESTAMP_MAX
153};
154#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
155enum ctattr_nat {
156  CTA_NAT_UNSPEC,
157  CTA_NAT_V4_MINIP,
158#define CTA_NAT_MINIP CTA_NAT_V4_MINIP
159  CTA_NAT_V4_MAXIP,
160#define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP
161  CTA_NAT_PROTO,
162  CTA_NAT_V6_MINIP,
163  CTA_NAT_V6_MAXIP,
164  __CTA_NAT_MAX
165};
166#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
167enum ctattr_protonat {
168  CTA_PROTONAT_UNSPEC,
169  CTA_PROTONAT_PORT_MIN,
170  CTA_PROTONAT_PORT_MAX,
171  __CTA_PROTONAT_MAX
172};
173#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
174enum ctattr_seqadj {
175  CTA_SEQADJ_UNSPEC,
176  CTA_SEQADJ_CORRECTION_POS,
177  CTA_SEQADJ_OFFSET_BEFORE,
178  CTA_SEQADJ_OFFSET_AFTER,
179  __CTA_SEQADJ_MAX
180};
181#define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1)
182enum ctattr_natseq {
183  CTA_NAT_SEQ_UNSPEC,
184  CTA_NAT_SEQ_CORRECTION_POS,
185  CTA_NAT_SEQ_OFFSET_BEFORE,
186  CTA_NAT_SEQ_OFFSET_AFTER,
187  __CTA_NAT_SEQ_MAX
188};
189#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
190enum ctattr_expect {
191  CTA_EXPECT_UNSPEC,
192  CTA_EXPECT_MASTER,
193  CTA_EXPECT_TUPLE,
194  CTA_EXPECT_MASK,
195  CTA_EXPECT_TIMEOUT,
196  CTA_EXPECT_ID,
197  CTA_EXPECT_HELP_NAME,
198  CTA_EXPECT_ZONE,
199  CTA_EXPECT_FLAGS,
200  CTA_EXPECT_CLASS,
201  CTA_EXPECT_NAT,
202  CTA_EXPECT_FN,
203  __CTA_EXPECT_MAX
204};
205#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
206enum ctattr_expect_nat {
207  CTA_EXPECT_NAT_UNSPEC,
208  CTA_EXPECT_NAT_DIR,
209  CTA_EXPECT_NAT_TUPLE,
210  __CTA_EXPECT_NAT_MAX
211};
212#define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
213enum ctattr_help {
214  CTA_HELP_UNSPEC,
215  CTA_HELP_NAME,
216  CTA_HELP_INFO,
217  __CTA_HELP_MAX
218};
219#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
220enum ctattr_secctx {
221  CTA_SECCTX_UNSPEC,
222  CTA_SECCTX_NAME,
223  __CTA_SECCTX_MAX
224};
225#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
226enum ctattr_stats_cpu {
227  CTA_STATS_UNSPEC,
228  CTA_STATS_SEARCHED,
229  CTA_STATS_FOUND,
230  CTA_STATS_NEW,
231  CTA_STATS_INVALID,
232  CTA_STATS_IGNORE,
233  CTA_STATS_DELETE,
234  CTA_STATS_DELETE_LIST,
235  CTA_STATS_INSERT,
236  CTA_STATS_INSERT_FAILED,
237  CTA_STATS_DROP,
238  CTA_STATS_EARLY_DROP,
239  CTA_STATS_ERROR,
240  CTA_STATS_SEARCH_RESTART,
241  __CTA_STATS_MAX,
242};
243#define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
244enum ctattr_stats_global {
245  CTA_STATS_GLOBAL_UNSPEC,
246  CTA_STATS_GLOBAL_ENTRIES,
247  __CTA_STATS_GLOBAL_MAX,
248};
249#define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
250enum ctattr_expect_stats {
251  CTA_STATS_EXP_UNSPEC,
252  CTA_STATS_EXP_NEW,
253  CTA_STATS_EXP_CREATE,
254  CTA_STATS_EXP_DELETE,
255  __CTA_STATS_EXP_MAX,
256};
257#define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
258#endif
259