blob: 6a4e618a7f7b32ff13f16d35df91a329f84ffae5 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 _LINUX_XFRM_H
20#define _LINUX_XFRM_H
21#include <linux/types.h>
22typedef union {
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 __be32 a4;
25 __be32 a6[4];
26} xfrm_address_t;
27struct xfrm_id {
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 xfrm_address_t daddr;
30 __be32 spi;
31 __u8 proto;
32};
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34struct xfrm_sec_ctx {
35 __u8 ctx_doi;
36 __u8 ctx_alg;
37 __u16 ctx_len;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 __u32 ctx_sid;
40 char ctx_str[0];
41};
42#define XFRM_SC_DOI_RESERVED 0
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define XFRM_SC_DOI_LSM 1
45#define XFRM_SC_ALG_RESERVED 0
46#define XFRM_SC_ALG_SELINUX 1
47struct xfrm_selector {
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 xfrm_address_t daddr;
50 xfrm_address_t saddr;
51 __be16 dport;
52 __be16 dport_mask;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 __be16 sport;
55 __be16 sport_mask;
56 __u16 family;
57 __u8 prefixlen_d;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 __u8 prefixlen_s;
60 __u8 proto;
61 int ifindex;
62 __kernel_uid32_t user;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64};
65#define XFRM_INF (~(__u64)0)
66struct xfrm_lifetime_cfg {
67 __u64 soft_byte_limit;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 __u64 hard_byte_limit;
70 __u64 soft_packet_limit;
71 __u64 hard_packet_limit;
72 __u64 soft_add_expires_seconds;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 __u64 hard_add_expires_seconds;
75 __u64 soft_use_expires_seconds;
76 __u64 hard_use_expires_seconds;
77};
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79struct xfrm_lifetime_cur {
80 __u64 bytes;
81 __u64 packets;
82 __u64 add_time;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __u64 use_time;
85};
86struct xfrm_replay_state {
87 __u32 oseq;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 __u32 seq;
90 __u32 bitmap;
91};
92#define XFRMA_REPLAY_ESN_MAX 4096
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94struct xfrm_replay_state_esn {
95 unsigned int bmp_len;
96 __u32 oseq;
97 __u32 seq;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 __u32 oseq_hi;
100 __u32 seq_hi;
101 __u32 replay_window;
102 __u32 bmp[0];
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104};
105struct xfrm_algo {
106 char alg_name[64];
107 unsigned int alg_key_len;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 char alg_key[0];
110};
111struct xfrm_algo_auth {
112 char alg_name[64];
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 unsigned int alg_key_len;
115 unsigned int alg_trunc_len;
116 char alg_key[0];
117};
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119struct xfrm_algo_aead {
120 char alg_name[64];
121 unsigned int alg_key_len;
122 unsigned int alg_icv_len;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 char alg_key[0];
125};
126struct xfrm_stats {
127 __u32 replay_window;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 __u32 replay;
130 __u32 integrity_failed;
131};
132enum {
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 XFRM_POLICY_TYPE_MAIN = 0,
135 XFRM_POLICY_TYPE_SUB = 1,
136 XFRM_POLICY_TYPE_MAX = 2,
137 XFRM_POLICY_TYPE_ANY = 255
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139};
140enum {
141 XFRM_POLICY_IN = 0,
142 XFRM_POLICY_OUT = 1,
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 XFRM_POLICY_FWD = 2,
145 XFRM_POLICY_MASK = 3,
146 XFRM_POLICY_MAX = 3
147};
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149enum {
150 XFRM_SHARE_ANY,
151 XFRM_SHARE_SESSION,
152 XFRM_SHARE_USER,
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 XFRM_SHARE_UNIQUE
155};
156#define XFRM_MODE_TRANSPORT 0
157#define XFRM_MODE_TUNNEL 1
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define XFRM_MODE_ROUTEOPTIMIZATION 2
160#define XFRM_MODE_IN_TRIGGER 3
161#define XFRM_MODE_BEET 4
162#define XFRM_MODE_MAX 5
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164enum {
165 XFRM_MSG_BASE = 0x10,
166 XFRM_MSG_NEWSA = 0x10,
167#define XFRM_MSG_NEWSA XFRM_MSG_NEWSA
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 XFRM_MSG_DELSA,
170#define XFRM_MSG_DELSA XFRM_MSG_DELSA
171 XFRM_MSG_GETSA,
172#define XFRM_MSG_GETSA XFRM_MSG_GETSA
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 XFRM_MSG_NEWPOLICY,
175#define XFRM_MSG_NEWPOLICY XFRM_MSG_NEWPOLICY
176 XFRM_MSG_DELPOLICY,
177#define XFRM_MSG_DELPOLICY XFRM_MSG_DELPOLICY
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 XFRM_MSG_GETPOLICY,
180#define XFRM_MSG_GETPOLICY XFRM_MSG_GETPOLICY
181 XFRM_MSG_ALLOCSPI,
182#define XFRM_MSG_ALLOCSPI XFRM_MSG_ALLOCSPI
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 XFRM_MSG_ACQUIRE,
185#define XFRM_MSG_ACQUIRE XFRM_MSG_ACQUIRE
186 XFRM_MSG_EXPIRE,
187#define XFRM_MSG_EXPIRE XFRM_MSG_EXPIRE
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 XFRM_MSG_UPDPOLICY,
190#define XFRM_MSG_UPDPOLICY XFRM_MSG_UPDPOLICY
191 XFRM_MSG_UPDSA,
192#define XFRM_MSG_UPDSA XFRM_MSG_UPDSA
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 XFRM_MSG_POLEXPIRE,
195#define XFRM_MSG_POLEXPIRE XFRM_MSG_POLEXPIRE
196 XFRM_MSG_FLUSHSA,
197#define XFRM_MSG_FLUSHSA XFRM_MSG_FLUSHSA
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 XFRM_MSG_FLUSHPOLICY,
200#define XFRM_MSG_FLUSHPOLICY XFRM_MSG_FLUSHPOLICY
201 XFRM_MSG_NEWAE,
202#define XFRM_MSG_NEWAE XFRM_MSG_NEWAE
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 XFRM_MSG_GETAE,
205#define XFRM_MSG_GETAE XFRM_MSG_GETAE
206 XFRM_MSG_REPORT,
207#define XFRM_MSG_REPORT XFRM_MSG_REPORT
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 XFRM_MSG_MIGRATE,
210#define XFRM_MSG_MIGRATE XFRM_MSG_MIGRATE
211 XFRM_MSG_NEWSADINFO,
212#define XFRM_MSG_NEWSADINFO XFRM_MSG_NEWSADINFO
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 XFRM_MSG_GETSADINFO,
215#define XFRM_MSG_GETSADINFO XFRM_MSG_GETSADINFO
216 XFRM_MSG_NEWSPDINFO,
217#define XFRM_MSG_NEWSPDINFO XFRM_MSG_NEWSPDINFO
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 XFRM_MSG_GETSPDINFO,
220#define XFRM_MSG_GETSPDINFO XFRM_MSG_GETSPDINFO
221 XFRM_MSG_MAPPING,
222#define XFRM_MSG_MAPPING XFRM_MSG_MAPPING
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 __XFRM_MSG_MAX
225};
226#define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1)
227#define XFRM_NR_MSGTYPES (XFRM_MSG_MAX + 1 - XFRM_MSG_BASE)
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229struct xfrm_user_sec_ctx {
230 __u16 len;
231 __u16 exttype;
232 __u8 ctx_alg;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 __u8 ctx_doi;
235 __u16 ctx_len;
236};
237struct xfrm_user_tmpl {
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 struct xfrm_id id;
240 __u16 family;
241 xfrm_address_t saddr;
242 __u32 reqid;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 __u8 mode;
245 __u8 share;
246 __u8 optional;
247 __u32 aalgos;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 __u32 ealgos;
250 __u32 calgos;
251};
252struct xfrm_encap_tmpl {
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 __u16 encap_type;
255 __be16 encap_sport;
256 __be16 encap_dport;
257 xfrm_address_t encap_oa;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259};
260enum xfrm_ae_ftype_t {
261 XFRM_AE_UNSPEC,
262 XFRM_AE_RTHR=1,
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 XFRM_AE_RVAL=2,
265 XFRM_AE_LVAL=4,
266 XFRM_AE_ETHR=8,
267 XFRM_AE_CR=16,
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 XFRM_AE_CE=32,
270 XFRM_AE_CU=64,
271 __XFRM_AE_MAX
272#define XFRM_AE_MAX (__XFRM_AE_MAX - 1)
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274};
275struct xfrm_userpolicy_type {
276 __u8 type;
277 __u16 reserved1;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 __u8 reserved2;
280};
281enum xfrm_attr_type_t {
282 XFRMA_UNSPEC,
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 XFRMA_ALG_AUTH,
285 XFRMA_ALG_CRYPT,
286 XFRMA_ALG_COMP,
287 XFRMA_ENCAP,
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 XFRMA_TMPL,
290 XFRMA_SA,
291 XFRMA_POLICY,
292 XFRMA_SEC_CTX,
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 XFRMA_LTIME_VAL,
295 XFRMA_REPLAY_VAL,
296 XFRMA_REPLAY_THRESH,
297 XFRMA_ETIMER_THRESH,
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 XFRMA_SRCADDR,
300 XFRMA_COADDR,
301 XFRMA_LASTUSED,
302 XFRMA_POLICY_TYPE,
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 XFRMA_MIGRATE,
305 XFRMA_ALG_AEAD,
306 XFRMA_KMADDRESS,
307 XFRMA_ALG_AUTH_TRUNC,
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 XFRMA_MARK,
310 XFRMA_TFCPAD,
311 XFRMA_REPLAY_ESN_VAL,
312 XFRMA_SA_EXTRA_FLAGS,
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700314 XFRMA_PROTO,
315 XFRMA_ADDRESS_FILTER,
Ben Cheng655a7c02013-10-16 16:09:24 -0700316 __XFRMA_MAX
317#define XFRMA_MAX (__XFRMA_MAX - 1)
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700319};
320struct xfrm_mark {
Ben Cheng655a7c02013-10-16 16:09:24 -0700321 __u32 v;
322 __u32 m;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700324};
325enum xfrm_sadattr_type_t {
Ben Cheng655a7c02013-10-16 16:09:24 -0700326 XFRMA_SAD_UNSPEC,
327 XFRMA_SAD_CNT,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700329 XFRMA_SAD_HINFO,
330 __XFRMA_SAD_MAX
Ben Cheng655a7c02013-10-16 16:09:24 -0700331#define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1)
332};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700334struct xfrmu_sadhinfo {
335 __u32 sadhcnt;
Ben Cheng655a7c02013-10-16 16:09:24 -0700336 __u32 sadhmcnt;
337};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700339enum xfrm_spdattr_type_t {
340 XFRMA_SPD_UNSPEC,
Ben Cheng655a7c02013-10-16 16:09:24 -0700341 XFRMA_SPD_INFO,
342 XFRMA_SPD_HINFO,
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700344 __XFRMA_SPD_MAX
345#define XFRMA_SPD_MAX (__XFRMA_SPD_MAX - 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700346};
347struct xfrmu_spdinfo {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700349 __u32 incnt;
350 __u32 outcnt;
Ben Cheng655a7c02013-10-16 16:09:24 -0700351 __u32 fwdcnt;
352 __u32 inscnt;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700354 __u32 outscnt;
355 __u32 fwdscnt;
Ben Cheng655a7c02013-10-16 16:09:24 -0700356};
357struct xfrmu_spdhinfo {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700359 __u32 spdhcnt;
360 __u32 spdhmcnt;
Ben Cheng655a7c02013-10-16 16:09:24 -0700361};
362struct xfrm_usersa_info {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700364 struct xfrm_selector sel;
365 struct xfrm_id id;
Ben Cheng655a7c02013-10-16 16:09:24 -0700366 xfrm_address_t saddr;
367 struct xfrm_lifetime_cfg lft;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700369 struct xfrm_lifetime_cur curlft;
370 struct xfrm_stats stats;
Ben Cheng655a7c02013-10-16 16:09:24 -0700371 __u32 seq;
372 __u32 reqid;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700374 __u16 family;
375 __u8 mode;
Ben Cheng655a7c02013-10-16 16:09:24 -0700376 __u8 replay_window;
377 __u8 flags;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700379#define XFRM_STATE_NOECN 1
380#define XFRM_STATE_DECAP_DSCP 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700381#define XFRM_STATE_NOPMTUDISC 4
382#define XFRM_STATE_WILDRECV 8
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700384#define XFRM_STATE_ICMP 16
385#define XFRM_STATE_AF_UNSPEC 32
Ben Cheng655a7c02013-10-16 16:09:24 -0700386#define XFRM_STATE_ALIGN4 64
387#define XFRM_STATE_ESN 128
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700389};
390#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700391struct xfrm_usersa_id {
392 xfrm_address_t daddr;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700394 __be32 spi;
395 __u16 family;
Ben Cheng655a7c02013-10-16 16:09:24 -0700396 __u8 proto;
397};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700399struct xfrm_aevent_id {
400 struct xfrm_usersa_id sa_id;
Ben Cheng655a7c02013-10-16 16:09:24 -0700401 xfrm_address_t saddr;
402 __u32 flags;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700404 __u32 reqid;
405};
Ben Cheng655a7c02013-10-16 16:09:24 -0700406struct xfrm_userspi_info {
407 struct xfrm_usersa_info info;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700409 __u32 min;
410 __u32 max;
Ben Cheng655a7c02013-10-16 16:09:24 -0700411};
412struct xfrm_userpolicy_info {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700414 struct xfrm_selector sel;
415 struct xfrm_lifetime_cfg lft;
Ben Cheng655a7c02013-10-16 16:09:24 -0700416 struct xfrm_lifetime_cur curlft;
417 __u32 priority;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700419 __u32 index;
420 __u8 dir;
Ben Cheng655a7c02013-10-16 16:09:24 -0700421 __u8 action;
422#define XFRM_POLICY_ALLOW 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700424#define XFRM_POLICY_BLOCK 1
425 __u8 flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700426#define XFRM_POLICY_LOCALOK 1
427#define XFRM_POLICY_ICMP 2
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700429 __u8 share;
430};
Ben Cheng655a7c02013-10-16 16:09:24 -0700431struct xfrm_userpolicy_id {
432 struct xfrm_selector sel;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700434 __u32 index;
435 __u8 dir;
Ben Cheng655a7c02013-10-16 16:09:24 -0700436};
437struct xfrm_user_acquire {
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700439 struct xfrm_id id;
440 xfrm_address_t saddr;
Ben Cheng655a7c02013-10-16 16:09:24 -0700441 struct xfrm_selector sel;
442 struct xfrm_userpolicy_info policy;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700444 __u32 aalgos;
445 __u32 ealgos;
Ben Cheng655a7c02013-10-16 16:09:24 -0700446 __u32 calgos;
447 __u32 seq;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700449};
450struct xfrm_user_expire {
Ben Cheng655a7c02013-10-16 16:09:24 -0700451 struct xfrm_usersa_info state;
452 __u8 hard;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700454};
455struct xfrm_user_polexpire {
Ben Cheng655a7c02013-10-16 16:09:24 -0700456 struct xfrm_userpolicy_info pol;
457 __u8 hard;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700459};
460struct xfrm_usersa_flush {
Ben Cheng655a7c02013-10-16 16:09:24 -0700461 __u8 proto;
462};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700464struct xfrm_user_report {
465 __u8 proto;
Ben Cheng655a7c02013-10-16 16:09:24 -0700466 struct xfrm_selector sel;
467};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700469struct xfrm_user_kmaddress {
470 xfrm_address_t local;
Ben Cheng655a7c02013-10-16 16:09:24 -0700471 xfrm_address_t remote;
472 __u32 reserved;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700474 __u16 family;
475};
Ben Cheng655a7c02013-10-16 16:09:24 -0700476struct xfrm_user_migrate {
477 xfrm_address_t old_daddr;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700479 xfrm_address_t old_saddr;
480 xfrm_address_t new_daddr;
Ben Cheng655a7c02013-10-16 16:09:24 -0700481 xfrm_address_t new_saddr;
482 __u8 proto;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700484 __u8 mode;
485 __u16 reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700486 __u32 reqid;
487 __u16 old_family;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700489 __u16 new_family;
490};
Ben Cheng655a7c02013-10-16 16:09:24 -0700491struct xfrm_user_mapping {
492 struct xfrm_usersa_id id;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700494 __u32 reqid;
495 xfrm_address_t old_saddr;
Ben Cheng655a7c02013-10-16 16:09:24 -0700496 xfrm_address_t new_saddr;
497 __be16 old_sport;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700499 __be16 new_sport;
500};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700501struct xfrm_address_filter {
502 xfrm_address_t saddr;
Ben Cheng655a7c02013-10-16 16:09:24 -0700503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700504 xfrm_address_t daddr;
505 __u16 family;
506 __u8 splen;
507 __u8 dplen;
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509};
Ben Cheng655a7c02013-10-16 16:09:24 -0700510#define XFRMGRP_ACQUIRE 1
511#define XFRMGRP_EXPIRE 2
512#define XFRMGRP_SA 4
Ben Cheng655a7c02013-10-16 16:09:24 -0700513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700514#define XFRMGRP_POLICY 8
Ben Cheng655a7c02013-10-16 16:09:24 -0700515#define XFRMGRP_REPORT 0x20
516enum xfrm_nlgroups {
517 XFRMNLGRP_NONE,
Ben Cheng655a7c02013-10-16 16:09:24 -0700518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700519#define XFRMNLGRP_NONE XFRMNLGRP_NONE
Ben Cheng655a7c02013-10-16 16:09:24 -0700520 XFRMNLGRP_ACQUIRE,
521#define XFRMNLGRP_ACQUIRE XFRMNLGRP_ACQUIRE
522 XFRMNLGRP_EXPIRE,
Ben Cheng655a7c02013-10-16 16:09:24 -0700523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700524#define XFRMNLGRP_EXPIRE XFRMNLGRP_EXPIRE
Ben Cheng655a7c02013-10-16 16:09:24 -0700525 XFRMNLGRP_SA,
526#define XFRMNLGRP_SA XFRMNLGRP_SA
527 XFRMNLGRP_POLICY,
Ben Cheng655a7c02013-10-16 16:09:24 -0700528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700529#define XFRMNLGRP_POLICY XFRMNLGRP_POLICY
Ben Cheng655a7c02013-10-16 16:09:24 -0700530 XFRMNLGRP_AEVENTS,
531#define XFRMNLGRP_AEVENTS XFRMNLGRP_AEVENTS
532 XFRMNLGRP_REPORT,
Ben Cheng655a7c02013-10-16 16:09:24 -0700533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700534#define XFRMNLGRP_REPORT XFRMNLGRP_REPORT
Ben Cheng655a7c02013-10-16 16:09:24 -0700535 XFRMNLGRP_MIGRATE,
536#define XFRMNLGRP_MIGRATE XFRMNLGRP_MIGRATE
537 XFRMNLGRP_MAPPING,
Ben Cheng655a7c02013-10-16 16:09:24 -0700538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700539#define XFRMNLGRP_MAPPING XFRMNLGRP_MAPPING
Ben Cheng655a7c02013-10-16 16:09:24 -0700540 __XFRMNLGRP_MAX
541};
542#define XFRMNLGRP_MAX (__XFRMNLGRP_MAX - 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700544#endif