blob: 8f65681fac34abd30127b54311360b6ce2d96fed [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_PFKEY2_H
20#define _LINUX_PFKEY2_H
21#include <linux/types.h>
22#define PF_KEY_V2 2
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define PFKEYV2_REVISION 199806L
24struct sadb_msg {
Tao Baod7db5942015-01-28 10:07:51 -080025 __u8 sadb_msg_version;
26 __u8 sadb_msg_type;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u8 sadb_msg_errno;
28 __u8 sadb_msg_satype;
29 __u16 sadb_msg_len;
30 __u16 sadb_msg_reserved;
Tao Baod7db5942015-01-28 10:07:51 -080031 __u32 sadb_msg_seq;
32 __u32 sadb_msg_pid;
Ben Cheng655a7c02013-10-16 16:09:24 -070033} __attribute__((packed));
34struct sadb_ext {
Tao Baod7db5942015-01-28 10:07:51 -080035 __u16 sadb_ext_len;
36 __u16 sadb_ext_type;
Ben Cheng655a7c02013-10-16 16:09:24 -070037} __attribute__((packed));
38struct sadb_sa {
Tao Baod7db5942015-01-28 10:07:51 -080039 __u16 sadb_sa_len;
40 __u16 sadb_sa_exttype;
41 __be32 sadb_sa_spi;
42 __u8 sadb_sa_replay;
Tao Baod7db5942015-01-28 10:07:51 -080043 __u8 sadb_sa_state;
44 __u8 sadb_sa_auth;
45 __u8 sadb_sa_encrypt;
46 __u32 sadb_sa_flags;
Ben Cheng655a7c02013-10-16 16:09:24 -070047} __attribute__((packed));
48struct sadb_lifetime {
Tao Baod7db5942015-01-28 10:07:51 -080049 __u16 sadb_lifetime_len;
50 __u16 sadb_lifetime_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080051 __u32 sadb_lifetime_allocations;
52 __u64 sadb_lifetime_bytes;
53 __u64 sadb_lifetime_addtime;
54 __u64 sadb_lifetime_usetime;
Ben Cheng655a7c02013-10-16 16:09:24 -070055} __attribute__((packed));
56struct sadb_address {
Tao Baod7db5942015-01-28 10:07:51 -080057 __u16 sadb_address_len;
58 __u16 sadb_address_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080059 __u8 sadb_address_proto;
60 __u8 sadb_address_prefixlen;
61 __u16 sadb_address_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070062} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070063struct sadb_key {
Tao Baod7db5942015-01-28 10:07:51 -080064 __u16 sadb_key_len;
65 __u16 sadb_key_exttype;
66 __u16 sadb_key_bits;
Tao Baod7db5942015-01-28 10:07:51 -080067 __u16 sadb_key_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070068} __attribute__((packed));
69struct sadb_ident {
Tao Baod7db5942015-01-28 10:07:51 -080070 __u16 sadb_ident_len;
Tao Baod7db5942015-01-28 10:07:51 -080071 __u16 sadb_ident_exttype;
72 __u16 sadb_ident_type;
73 __u16 sadb_ident_reserved;
74 __u64 sadb_ident_id;
Ben Cheng655a7c02013-10-16 16:09:24 -070075} __attribute__((packed));
76struct sadb_sens {
Tao Baod7db5942015-01-28 10:07:51 -080077 __u16 sadb_sens_len;
78 __u16 sadb_sens_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080079 __u32 sadb_sens_dpd;
80 __u8 sadb_sens_sens_level;
81 __u8 sadb_sens_sens_len;
82 __u8 sadb_sens_integ_level;
Tao Baod7db5942015-01-28 10:07:51 -080083 __u8 sadb_sens_integ_len;
84 __u32 sadb_sens_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070085} __attribute__((packed));
86struct sadb_prop {
Tao Baod7db5942015-01-28 10:07:51 -080087 __u16 sadb_prop_len;
88 __u16 sadb_prop_exttype;
89 __u8 sadb_prop_replay;
90 __u8 sadb_prop_reserved[3];
Ben Cheng655a7c02013-10-16 16:09:24 -070091} __attribute__((packed));
92struct sadb_comb {
Tao Baod7db5942015-01-28 10:07:51 -080093 __u8 sadb_comb_auth;
94 __u8 sadb_comb_encrypt;
Tao Baod7db5942015-01-28 10:07:51 -080095 __u16 sadb_comb_flags;
96 __u16 sadb_comb_auth_minbits;
97 __u16 sadb_comb_auth_maxbits;
98 __u16 sadb_comb_encrypt_minbits;
Tao Baod7db5942015-01-28 10:07:51 -080099 __u16 sadb_comb_encrypt_maxbits;
100 __u32 sadb_comb_reserved;
101 __u32 sadb_comb_soft_allocations;
102 __u32 sadb_comb_hard_allocations;
Tao Baod7db5942015-01-28 10:07:51 -0800103 __u64 sadb_comb_soft_bytes;
104 __u64 sadb_comb_hard_bytes;
105 __u64 sadb_comb_soft_addtime;
106 __u64 sadb_comb_hard_addtime;
Tao Baod7db5942015-01-28 10:07:51 -0800107 __u64 sadb_comb_soft_usetime;
108 __u64 sadb_comb_hard_usetime;
Ben Cheng655a7c02013-10-16 16:09:24 -0700109} __attribute__((packed));
110struct sadb_supported {
Tao Baod7db5942015-01-28 10:07:51 -0800111 __u16 sadb_supported_len;
112 __u16 sadb_supported_exttype;
113 __u32 sadb_supported_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700114} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700115struct sadb_alg {
Tao Baod7db5942015-01-28 10:07:51 -0800116 __u8 sadb_alg_id;
117 __u8 sadb_alg_ivlen;
118 __u16 sadb_alg_minbits;
Tao Baod7db5942015-01-28 10:07:51 -0800119 __u16 sadb_alg_maxbits;
120 __u16 sadb_alg_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700121} __attribute__((packed));
122struct sadb_spirange {
Tao Baod7db5942015-01-28 10:07:51 -0800123 __u16 sadb_spirange_len;
124 __u16 sadb_spirange_exttype;
125 __u32 sadb_spirange_min;
126 __u32 sadb_spirange_max;
Tao Baod7db5942015-01-28 10:07:51 -0800127 __u32 sadb_spirange_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700128} __attribute__((packed));
129struct sadb_x_kmprivate {
Tao Baod7db5942015-01-28 10:07:51 -0800130 __u16 sadb_x_kmprivate_len;
Tao Baod7db5942015-01-28 10:07:51 -0800131 __u16 sadb_x_kmprivate_exttype;
132 __u32 sadb_x_kmprivate_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700133} __attribute__((packed));
134struct sadb_x_sa2 {
Tao Baod7db5942015-01-28 10:07:51 -0800135 __u16 sadb_x_sa2_len;
136 __u16 sadb_x_sa2_exttype;
137 __u8 sadb_x_sa2_mode;
138 __u8 sadb_x_sa2_reserved1;
Tao Baod7db5942015-01-28 10:07:51 -0800139 __u16 sadb_x_sa2_reserved2;
140 __u32 sadb_x_sa2_sequence;
141 __u32 sadb_x_sa2_reqid;
Ben Cheng655a7c02013-10-16 16:09:24 -0700142} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700143struct sadb_x_policy {
Tao Baod7db5942015-01-28 10:07:51 -0800144 __u16 sadb_x_policy_len;
145 __u16 sadb_x_policy_exttype;
146 __u16 sadb_x_policy_type;
Tao Baod7db5942015-01-28 10:07:51 -0800147 __u8 sadb_x_policy_dir;
148 __u8 sadb_x_policy_reserved;
149 __u32 sadb_x_policy_id;
150 __u32 sadb_x_policy_priority;
Ben Cheng655a7c02013-10-16 16:09:24 -0700151} __attribute__((packed));
152struct sadb_x_ipsecrequest {
Tao Baod7db5942015-01-28 10:07:51 -0800153 __u16 sadb_x_ipsecrequest_len;
154 __u16 sadb_x_ipsecrequest_proto;
Tao Baod7db5942015-01-28 10:07:51 -0800155 __u8 sadb_x_ipsecrequest_mode;
156 __u8 sadb_x_ipsecrequest_level;
157 __u16 sadb_x_ipsecrequest_reserved1;
158 __u32 sadb_x_ipsecrequest_reqid;
Tao Baod7db5942015-01-28 10:07:51 -0800159 __u32 sadb_x_ipsecrequest_reserved2;
Ben Cheng655a7c02013-10-16 16:09:24 -0700160} __attribute__((packed));
161struct sadb_x_nat_t_type {
Tao Baod7db5942015-01-28 10:07:51 -0800162 __u16 sadb_x_nat_t_type_len;
Tao Baod7db5942015-01-28 10:07:51 -0800163 __u16 sadb_x_nat_t_type_exttype;
164 __u8 sadb_x_nat_t_type_type;
165 __u8 sadb_x_nat_t_type_reserved[3];
Ben Cheng655a7c02013-10-16 16:09:24 -0700166} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700167struct sadb_x_nat_t_port {
Tao Baod7db5942015-01-28 10:07:51 -0800168 __u16 sadb_x_nat_t_port_len;
169 __u16 sadb_x_nat_t_port_exttype;
170 __be16 sadb_x_nat_t_port_port;
Tao Baod7db5942015-01-28 10:07:51 -0800171 __u16 sadb_x_nat_t_port_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700172} __attribute__((packed));
173struct sadb_x_sec_ctx {
Tao Baod7db5942015-01-28 10:07:51 -0800174 __u16 sadb_x_sec_len;
Tao Baod7db5942015-01-28 10:07:51 -0800175 __u16 sadb_x_sec_exttype;
176 __u8 sadb_x_ctx_alg;
177 __u8 sadb_x_ctx_doi;
178 __u16 sadb_x_ctx_len;
Ben Cheng655a7c02013-10-16 16:09:24 -0700179} __attribute__((packed));
180struct sadb_x_kmaddress {
Tao Baod7db5942015-01-28 10:07:51 -0800181 __u16 sadb_x_kmaddress_len;
182 __u16 sadb_x_kmaddress_exttype;
Tao Baod7db5942015-01-28 10:07:51 -0800183 __u32 sadb_x_kmaddress_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700184} __attribute__((packed));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700185struct sadb_x_filter {
Tao Baod7db5942015-01-28 10:07:51 -0800186 __u16 sadb_x_filter_len;
Tao Baod7db5942015-01-28 10:07:51 -0800187 __u16 sadb_x_filter_exttype;
188 __u32 sadb_x_filter_saddr[4];
189 __u32 sadb_x_filter_daddr[4];
190 __u16 sadb_x_filter_family;
Tao Baod7db5942015-01-28 10:07:51 -0800191 __u8 sadb_x_filter_splen;
192 __u8 sadb_x_filter_dplen;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700193} __attribute__((packed));
194#define SADB_RESERVED 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700195#define SADB_GETSPI 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700196#define SADB_UPDATE 2
197#define SADB_ADD 3
198#define SADB_DELETE 4
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700199#define SADB_GET 5
Ben Cheng655a7c02013-10-16 16:09:24 -0700200#define SADB_ACQUIRE 6
201#define SADB_REGISTER 7
202#define SADB_EXPIRE 8
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700203#define SADB_FLUSH 9
Ben Cheng655a7c02013-10-16 16:09:24 -0700204#define SADB_DUMP 10
205#define SADB_X_PROMISC 11
206#define SADB_X_PCHANGE 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700207#define SADB_X_SPDUPDATE 13
Ben Cheng655a7c02013-10-16 16:09:24 -0700208#define SADB_X_SPDADD 14
209#define SADB_X_SPDDELETE 15
210#define SADB_X_SPDGET 16
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700211#define SADB_X_SPDACQUIRE 17
Ben Cheng655a7c02013-10-16 16:09:24 -0700212#define SADB_X_SPDDUMP 18
213#define SADB_X_SPDFLUSH 19
214#define SADB_X_SPDSETIDX 20
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700215#define SADB_X_SPDEXPIRE 21
Ben Cheng655a7c02013-10-16 16:09:24 -0700216#define SADB_X_SPDDELETE2 22
217#define SADB_X_NAT_T_NEW_MAPPING 23
218#define SADB_X_MIGRATE 24
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700219#define SADB_MAX 24
Ben Cheng655a7c02013-10-16 16:09:24 -0700220#define SADB_SAFLAGS_PFS 1
221#define SADB_SAFLAGS_NOPMTUDISC 0x20000000
222#define SADB_SAFLAGS_DECAP_DSCP 0x40000000
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700223#define SADB_SAFLAGS_NOECN 0x80000000
Ben Cheng655a7c02013-10-16 16:09:24 -0700224#define SADB_SASTATE_LARVAL 0
225#define SADB_SASTATE_MATURE 1
226#define SADB_SASTATE_DYING 2
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700227#define SADB_SASTATE_DEAD 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700228#define SADB_SASTATE_MAX 3
229#define SADB_SATYPE_UNSPEC 0
230#define SADB_SATYPE_AH 2
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700231#define SADB_SATYPE_ESP 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700232#define SADB_SATYPE_RSVP 5
233#define SADB_SATYPE_OSPFV2 6
234#define SADB_SATYPE_RIPV2 7
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700235#define SADB_SATYPE_MIP 8
Ben Cheng655a7c02013-10-16 16:09:24 -0700236#define SADB_X_SATYPE_IPCOMP 9
237#define SADB_SATYPE_MAX 9
238#define SADB_AALG_NONE 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700239#define SADB_AALG_MD5HMAC 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700240#define SADB_AALG_SHA1HMAC 3
241#define SADB_X_AALG_SHA2_256HMAC 5
242#define SADB_X_AALG_SHA2_384HMAC 6
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700243#define SADB_X_AALG_SHA2_512HMAC 7
Ben Cheng655a7c02013-10-16 16:09:24 -0700244#define SADB_X_AALG_RIPEMD160HMAC 8
245#define SADB_X_AALG_AES_XCBC_MAC 9
246#define SADB_X_AALG_NULL 251
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700247#define SADB_AALG_MAX 251
Ben Cheng655a7c02013-10-16 16:09:24 -0700248#define SADB_EALG_NONE 0
249#define SADB_EALG_DESCBC 2
250#define SADB_EALG_3DESCBC 3
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700251#define SADB_X_EALG_CASTCBC 6
Ben Cheng655a7c02013-10-16 16:09:24 -0700252#define SADB_X_EALG_BLOWFISHCBC 7
253#define SADB_EALG_NULL 11
254#define SADB_X_EALG_AESCBC 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700255#define SADB_X_EALG_AESCTR 13
Ben Cheng655a7c02013-10-16 16:09:24 -0700256#define SADB_X_EALG_AES_CCM_ICV8 14
257#define SADB_X_EALG_AES_CCM_ICV12 15
258#define SADB_X_EALG_AES_CCM_ICV16 16
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700259#define SADB_X_EALG_AES_GCM_ICV8 18
Ben Cheng655a7c02013-10-16 16:09:24 -0700260#define SADB_X_EALG_AES_GCM_ICV12 19
261#define SADB_X_EALG_AES_GCM_ICV16 20
262#define SADB_X_EALG_CAMELLIACBC 22
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700263#define SADB_X_EALG_NULL_AES_GMAC 23
Ben Cheng655a7c02013-10-16 16:09:24 -0700264#define SADB_EALG_MAX 253
265#define SADB_X_EALG_SERPENTCBC 252
266#define SADB_X_EALG_TWOFISHCBC 253
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700267#define SADB_X_CALG_NONE 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700268#define SADB_X_CALG_OUI 1
269#define SADB_X_CALG_DEFLATE 2
270#define SADB_X_CALG_LZS 3
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700271#define SADB_X_CALG_LZJH 4
Ben Cheng655a7c02013-10-16 16:09:24 -0700272#define SADB_X_CALG_MAX 4
273#define SADB_EXT_RESERVED 0
274#define SADB_EXT_SA 1
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700275#define SADB_EXT_LIFETIME_CURRENT 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700276#define SADB_EXT_LIFETIME_HARD 3
277#define SADB_EXT_LIFETIME_SOFT 4
278#define SADB_EXT_ADDRESS_SRC 5
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700279#define SADB_EXT_ADDRESS_DST 6
Ben Cheng655a7c02013-10-16 16:09:24 -0700280#define SADB_EXT_ADDRESS_PROXY 7
281#define SADB_EXT_KEY_AUTH 8
282#define SADB_EXT_KEY_ENCRYPT 9
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700283#define SADB_EXT_IDENTITY_SRC 10
Ben Cheng655a7c02013-10-16 16:09:24 -0700284#define SADB_EXT_IDENTITY_DST 11
285#define SADB_EXT_SENSITIVITY 12
286#define SADB_EXT_PROPOSAL 13
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700287#define SADB_EXT_SUPPORTED_AUTH 14
Ben Cheng655a7c02013-10-16 16:09:24 -0700288#define SADB_EXT_SUPPORTED_ENCRYPT 15
289#define SADB_EXT_SPIRANGE 16
290#define SADB_X_EXT_KMPRIVATE 17
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700291#define SADB_X_EXT_POLICY 18
Ben Cheng655a7c02013-10-16 16:09:24 -0700292#define SADB_X_EXT_SA2 19
293#define SADB_X_EXT_NAT_T_TYPE 20
294#define SADB_X_EXT_NAT_T_SPORT 21
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700295#define SADB_X_EXT_NAT_T_DPORT 22
Ben Cheng655a7c02013-10-16 16:09:24 -0700296#define SADB_X_EXT_NAT_T_OA 23
297#define SADB_X_EXT_SEC_CTX 24
298#define SADB_X_EXT_KMADDRESS 25
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700299#define SADB_X_EXT_FILTER 26
300#define SADB_EXT_MAX 26
Ben Cheng655a7c02013-10-16 16:09:24 -0700301#define SADB_IDENTTYPE_RESERVED 0
302#define SADB_IDENTTYPE_PREFIX 1
303#define SADB_IDENTTYPE_FQDN 2
304#define SADB_IDENTTYPE_USERFQDN 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700305#define SADB_IDENTTYPE_MAX 3
306#endif