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