blob: f5e6d221504d42a0c37a7750d1ba6c2ae7ec406b [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _LINUX_PFKEY2_H
8#define _LINUX_PFKEY2_H
9#include <linux/types.h>
10#define PF_KEY_V2 2
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define PFKEYV2_REVISION 199806L
12struct sadb_msg {
Tao Baod7db5942015-01-28 10:07:51 -080013 __u8 sadb_msg_version;
14 __u8 sadb_msg_type;
Tao Baod7db5942015-01-28 10:07:51 -080015 __u8 sadb_msg_errno;
16 __u8 sadb_msg_satype;
17 __u16 sadb_msg_len;
18 __u16 sadb_msg_reserved;
Tao Baod7db5942015-01-28 10:07:51 -080019 __u32 sadb_msg_seq;
20 __u32 sadb_msg_pid;
Ben Cheng655a7c02013-10-16 16:09:24 -070021} __attribute__((packed));
22struct sadb_ext {
Tao Baod7db5942015-01-28 10:07:51 -080023 __u16 sadb_ext_len;
24 __u16 sadb_ext_type;
Ben Cheng655a7c02013-10-16 16:09:24 -070025} __attribute__((packed));
26struct sadb_sa {
Tao Baod7db5942015-01-28 10:07:51 -080027 __u16 sadb_sa_len;
28 __u16 sadb_sa_exttype;
29 __be32 sadb_sa_spi;
30 __u8 sadb_sa_replay;
Tao Baod7db5942015-01-28 10:07:51 -080031 __u8 sadb_sa_state;
32 __u8 sadb_sa_auth;
33 __u8 sadb_sa_encrypt;
34 __u32 sadb_sa_flags;
Ben Cheng655a7c02013-10-16 16:09:24 -070035} __attribute__((packed));
36struct sadb_lifetime {
Tao Baod7db5942015-01-28 10:07:51 -080037 __u16 sadb_lifetime_len;
38 __u16 sadb_lifetime_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080039 __u32 sadb_lifetime_allocations;
40 __u64 sadb_lifetime_bytes;
41 __u64 sadb_lifetime_addtime;
42 __u64 sadb_lifetime_usetime;
Ben Cheng655a7c02013-10-16 16:09:24 -070043} __attribute__((packed));
44struct sadb_address {
Tao Baod7db5942015-01-28 10:07:51 -080045 __u16 sadb_address_len;
46 __u16 sadb_address_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080047 __u8 sadb_address_proto;
48 __u8 sadb_address_prefixlen;
49 __u16 sadb_address_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070050} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070051struct sadb_key {
Tao Baod7db5942015-01-28 10:07:51 -080052 __u16 sadb_key_len;
53 __u16 sadb_key_exttype;
54 __u16 sadb_key_bits;
Tao Baod7db5942015-01-28 10:07:51 -080055 __u16 sadb_key_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070056} __attribute__((packed));
57struct sadb_ident {
Tao Baod7db5942015-01-28 10:07:51 -080058 __u16 sadb_ident_len;
Tao Baod7db5942015-01-28 10:07:51 -080059 __u16 sadb_ident_exttype;
60 __u16 sadb_ident_type;
61 __u16 sadb_ident_reserved;
62 __u64 sadb_ident_id;
Ben Cheng655a7c02013-10-16 16:09:24 -070063} __attribute__((packed));
64struct sadb_sens {
Tao Baod7db5942015-01-28 10:07:51 -080065 __u16 sadb_sens_len;
66 __u16 sadb_sens_exttype;
Tao Baod7db5942015-01-28 10:07:51 -080067 __u32 sadb_sens_dpd;
68 __u8 sadb_sens_sens_level;
69 __u8 sadb_sens_sens_len;
70 __u8 sadb_sens_integ_level;
Tao Baod7db5942015-01-28 10:07:51 -080071 __u8 sadb_sens_integ_len;
72 __u32 sadb_sens_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -070073} __attribute__((packed));
74struct sadb_prop {
Tao Baod7db5942015-01-28 10:07:51 -080075 __u16 sadb_prop_len;
76 __u16 sadb_prop_exttype;
77 __u8 sadb_prop_replay;
78 __u8 sadb_prop_reserved[3];
Ben Cheng655a7c02013-10-16 16:09:24 -070079} __attribute__((packed));
80struct sadb_comb {
Tao Baod7db5942015-01-28 10:07:51 -080081 __u8 sadb_comb_auth;
82 __u8 sadb_comb_encrypt;
Tao Baod7db5942015-01-28 10:07:51 -080083 __u16 sadb_comb_flags;
84 __u16 sadb_comb_auth_minbits;
85 __u16 sadb_comb_auth_maxbits;
86 __u16 sadb_comb_encrypt_minbits;
Tao Baod7db5942015-01-28 10:07:51 -080087 __u16 sadb_comb_encrypt_maxbits;
88 __u32 sadb_comb_reserved;
89 __u32 sadb_comb_soft_allocations;
90 __u32 sadb_comb_hard_allocations;
Tao Baod7db5942015-01-28 10:07:51 -080091 __u64 sadb_comb_soft_bytes;
92 __u64 sadb_comb_hard_bytes;
93 __u64 sadb_comb_soft_addtime;
94 __u64 sadb_comb_hard_addtime;
Tao Baod7db5942015-01-28 10:07:51 -080095 __u64 sadb_comb_soft_usetime;
96 __u64 sadb_comb_hard_usetime;
Ben Cheng655a7c02013-10-16 16:09:24 -070097} __attribute__((packed));
98struct sadb_supported {
Tao Baod7db5942015-01-28 10:07:51 -080099 __u16 sadb_supported_len;
100 __u16 sadb_supported_exttype;
101 __u32 sadb_supported_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700102} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700103struct sadb_alg {
Tao Baod7db5942015-01-28 10:07:51 -0800104 __u8 sadb_alg_id;
105 __u8 sadb_alg_ivlen;
106 __u16 sadb_alg_minbits;
Tao Baod7db5942015-01-28 10:07:51 -0800107 __u16 sadb_alg_maxbits;
108 __u16 sadb_alg_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700109} __attribute__((packed));
110struct sadb_spirange {
Tao Baod7db5942015-01-28 10:07:51 -0800111 __u16 sadb_spirange_len;
112 __u16 sadb_spirange_exttype;
113 __u32 sadb_spirange_min;
114 __u32 sadb_spirange_max;
Tao Baod7db5942015-01-28 10:07:51 -0800115 __u32 sadb_spirange_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700116} __attribute__((packed));
117struct sadb_x_kmprivate {
Tao Baod7db5942015-01-28 10:07:51 -0800118 __u16 sadb_x_kmprivate_len;
Tao Baod7db5942015-01-28 10:07:51 -0800119 __u16 sadb_x_kmprivate_exttype;
120 __u32 sadb_x_kmprivate_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700121} __attribute__((packed));
122struct sadb_x_sa2 {
Tao Baod7db5942015-01-28 10:07:51 -0800123 __u16 sadb_x_sa2_len;
124 __u16 sadb_x_sa2_exttype;
125 __u8 sadb_x_sa2_mode;
126 __u8 sadb_x_sa2_reserved1;
Tao Baod7db5942015-01-28 10:07:51 -0800127 __u16 sadb_x_sa2_reserved2;
128 __u32 sadb_x_sa2_sequence;
129 __u32 sadb_x_sa2_reqid;
Ben Cheng655a7c02013-10-16 16:09:24 -0700130} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700131struct sadb_x_policy {
Tao Baod7db5942015-01-28 10:07:51 -0800132 __u16 sadb_x_policy_len;
133 __u16 sadb_x_policy_exttype;
134 __u16 sadb_x_policy_type;
Tao Baod7db5942015-01-28 10:07:51 -0800135 __u8 sadb_x_policy_dir;
136 __u8 sadb_x_policy_reserved;
137 __u32 sadb_x_policy_id;
138 __u32 sadb_x_policy_priority;
Ben Cheng655a7c02013-10-16 16:09:24 -0700139} __attribute__((packed));
140struct sadb_x_ipsecrequest {
Tao Baod7db5942015-01-28 10:07:51 -0800141 __u16 sadb_x_ipsecrequest_len;
142 __u16 sadb_x_ipsecrequest_proto;
Tao Baod7db5942015-01-28 10:07:51 -0800143 __u8 sadb_x_ipsecrequest_mode;
144 __u8 sadb_x_ipsecrequest_level;
145 __u16 sadb_x_ipsecrequest_reserved1;
146 __u32 sadb_x_ipsecrequest_reqid;
Tao Baod7db5942015-01-28 10:07:51 -0800147 __u32 sadb_x_ipsecrequest_reserved2;
Ben Cheng655a7c02013-10-16 16:09:24 -0700148} __attribute__((packed));
149struct sadb_x_nat_t_type {
Tao Baod7db5942015-01-28 10:07:51 -0800150 __u16 sadb_x_nat_t_type_len;
Tao Baod7db5942015-01-28 10:07:51 -0800151 __u16 sadb_x_nat_t_type_exttype;
152 __u8 sadb_x_nat_t_type_type;
153 __u8 sadb_x_nat_t_type_reserved[3];
Ben Cheng655a7c02013-10-16 16:09:24 -0700154} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -0700155struct sadb_x_nat_t_port {
Tao Baod7db5942015-01-28 10:07:51 -0800156 __u16 sadb_x_nat_t_port_len;
157 __u16 sadb_x_nat_t_port_exttype;
158 __be16 sadb_x_nat_t_port_port;
Tao Baod7db5942015-01-28 10:07:51 -0800159 __u16 sadb_x_nat_t_port_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700160} __attribute__((packed));
161struct sadb_x_sec_ctx {
Tao Baod7db5942015-01-28 10:07:51 -0800162 __u16 sadb_x_sec_len;
Tao Baod7db5942015-01-28 10:07:51 -0800163 __u16 sadb_x_sec_exttype;
164 __u8 sadb_x_ctx_alg;
165 __u8 sadb_x_ctx_doi;
166 __u16 sadb_x_ctx_len;
Ben Cheng655a7c02013-10-16 16:09:24 -0700167} __attribute__((packed));
168struct sadb_x_kmaddress {
Tao Baod7db5942015-01-28 10:07:51 -0800169 __u16 sadb_x_kmaddress_len;
170 __u16 sadb_x_kmaddress_exttype;
Tao Baod7db5942015-01-28 10:07:51 -0800171 __u32 sadb_x_kmaddress_reserved;
Ben Cheng655a7c02013-10-16 16:09:24 -0700172} __attribute__((packed));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700173struct sadb_x_filter {
Tao Baod7db5942015-01-28 10:07:51 -0800174 __u16 sadb_x_filter_len;
Tao Baod7db5942015-01-28 10:07:51 -0800175 __u16 sadb_x_filter_exttype;
176 __u32 sadb_x_filter_saddr[4];
177 __u32 sadb_x_filter_daddr[4];
178 __u16 sadb_x_filter_family;
Tao Baod7db5942015-01-28 10:07:51 -0800179 __u8 sadb_x_filter_splen;
180 __u8 sadb_x_filter_dplen;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700181} __attribute__((packed));
182#define SADB_RESERVED 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700183#define SADB_GETSPI 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700184#define SADB_UPDATE 2
185#define SADB_ADD 3
186#define SADB_DELETE 4
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700187#define SADB_GET 5
Ben Cheng655a7c02013-10-16 16:09:24 -0700188#define SADB_ACQUIRE 6
189#define SADB_REGISTER 7
190#define SADB_EXPIRE 8
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700191#define SADB_FLUSH 9
Ben Cheng655a7c02013-10-16 16:09:24 -0700192#define SADB_DUMP 10
193#define SADB_X_PROMISC 11
194#define SADB_X_PCHANGE 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700195#define SADB_X_SPDUPDATE 13
Ben Cheng655a7c02013-10-16 16:09:24 -0700196#define SADB_X_SPDADD 14
197#define SADB_X_SPDDELETE 15
198#define SADB_X_SPDGET 16
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700199#define SADB_X_SPDACQUIRE 17
Ben Cheng655a7c02013-10-16 16:09:24 -0700200#define SADB_X_SPDDUMP 18
201#define SADB_X_SPDFLUSH 19
202#define SADB_X_SPDSETIDX 20
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700203#define SADB_X_SPDEXPIRE 21
Ben Cheng655a7c02013-10-16 16:09:24 -0700204#define SADB_X_SPDDELETE2 22
205#define SADB_X_NAT_T_NEW_MAPPING 23
206#define SADB_X_MIGRATE 24
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700207#define SADB_MAX 24
Ben Cheng655a7c02013-10-16 16:09:24 -0700208#define SADB_SAFLAGS_PFS 1
209#define SADB_SAFLAGS_NOPMTUDISC 0x20000000
210#define SADB_SAFLAGS_DECAP_DSCP 0x40000000
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700211#define SADB_SAFLAGS_NOECN 0x80000000
Ben Cheng655a7c02013-10-16 16:09:24 -0700212#define SADB_SASTATE_LARVAL 0
213#define SADB_SASTATE_MATURE 1
214#define SADB_SASTATE_DYING 2
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700215#define SADB_SASTATE_DEAD 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700216#define SADB_SASTATE_MAX 3
217#define SADB_SATYPE_UNSPEC 0
218#define SADB_SATYPE_AH 2
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700219#define SADB_SATYPE_ESP 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700220#define SADB_SATYPE_RSVP 5
221#define SADB_SATYPE_OSPFV2 6
222#define SADB_SATYPE_RIPV2 7
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700223#define SADB_SATYPE_MIP 8
Ben Cheng655a7c02013-10-16 16:09:24 -0700224#define SADB_X_SATYPE_IPCOMP 9
225#define SADB_SATYPE_MAX 9
226#define SADB_AALG_NONE 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700227#define SADB_AALG_MD5HMAC 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700228#define SADB_AALG_SHA1HMAC 3
229#define SADB_X_AALG_SHA2_256HMAC 5
230#define SADB_X_AALG_SHA2_384HMAC 6
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700231#define SADB_X_AALG_SHA2_512HMAC 7
Ben Cheng655a7c02013-10-16 16:09:24 -0700232#define SADB_X_AALG_RIPEMD160HMAC 8
233#define SADB_X_AALG_AES_XCBC_MAC 9
Christopher Ferris1ed55342022-03-22 16:06:25 -0700234#define SADB_X_AALG_SM3_256HMAC 10
Ben Cheng655a7c02013-10-16 16:09:24 -0700235#define SADB_X_AALG_NULL 251
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700236#define SADB_AALG_MAX 251
Ben Cheng655a7c02013-10-16 16:09:24 -0700237#define SADB_EALG_NONE 0
238#define SADB_EALG_DESCBC 2
239#define SADB_EALG_3DESCBC 3
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700240#define SADB_X_EALG_CASTCBC 6
Ben Cheng655a7c02013-10-16 16:09:24 -0700241#define SADB_X_EALG_BLOWFISHCBC 7
242#define SADB_EALG_NULL 11
243#define SADB_X_EALG_AESCBC 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700244#define SADB_X_EALG_AESCTR 13
Ben Cheng655a7c02013-10-16 16:09:24 -0700245#define SADB_X_EALG_AES_CCM_ICV8 14
246#define SADB_X_EALG_AES_CCM_ICV12 15
247#define SADB_X_EALG_AES_CCM_ICV16 16
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700248#define SADB_X_EALG_AES_GCM_ICV8 18
Ben Cheng655a7c02013-10-16 16:09:24 -0700249#define SADB_X_EALG_AES_GCM_ICV12 19
250#define SADB_X_EALG_AES_GCM_ICV16 20
251#define SADB_X_EALG_CAMELLIACBC 22
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700252#define SADB_X_EALG_NULL_AES_GMAC 23
Christopher Ferris1ed55342022-03-22 16:06:25 -0700253#define SADB_X_EALG_SM4CBC 24
Ben Cheng655a7c02013-10-16 16:09:24 -0700254#define SADB_EALG_MAX 253
255#define SADB_X_EALG_SERPENTCBC 252
256#define SADB_X_EALG_TWOFISHCBC 253
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700257#define SADB_X_CALG_NONE 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700258#define SADB_X_CALG_OUI 1
259#define SADB_X_CALG_DEFLATE 2
260#define SADB_X_CALG_LZS 3
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700261#define SADB_X_CALG_LZJH 4
Ben Cheng655a7c02013-10-16 16:09:24 -0700262#define SADB_X_CALG_MAX 4
263#define SADB_EXT_RESERVED 0
264#define SADB_EXT_SA 1
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700265#define SADB_EXT_LIFETIME_CURRENT 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700266#define SADB_EXT_LIFETIME_HARD 3
267#define SADB_EXT_LIFETIME_SOFT 4
268#define SADB_EXT_ADDRESS_SRC 5
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700269#define SADB_EXT_ADDRESS_DST 6
Ben Cheng655a7c02013-10-16 16:09:24 -0700270#define SADB_EXT_ADDRESS_PROXY 7
271#define SADB_EXT_KEY_AUTH 8
272#define SADB_EXT_KEY_ENCRYPT 9
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700273#define SADB_EXT_IDENTITY_SRC 10
Ben Cheng655a7c02013-10-16 16:09:24 -0700274#define SADB_EXT_IDENTITY_DST 11
275#define SADB_EXT_SENSITIVITY 12
276#define SADB_EXT_PROPOSAL 13
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700277#define SADB_EXT_SUPPORTED_AUTH 14
Ben Cheng655a7c02013-10-16 16:09:24 -0700278#define SADB_EXT_SUPPORTED_ENCRYPT 15
279#define SADB_EXT_SPIRANGE 16
280#define SADB_X_EXT_KMPRIVATE 17
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700281#define SADB_X_EXT_POLICY 18
Ben Cheng655a7c02013-10-16 16:09:24 -0700282#define SADB_X_EXT_SA2 19
283#define SADB_X_EXT_NAT_T_TYPE 20
284#define SADB_X_EXT_NAT_T_SPORT 21
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700285#define SADB_X_EXT_NAT_T_DPORT 22
Ben Cheng655a7c02013-10-16 16:09:24 -0700286#define SADB_X_EXT_NAT_T_OA 23
287#define SADB_X_EXT_SEC_CTX 24
288#define SADB_X_EXT_KMADDRESS 25
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700289#define SADB_X_EXT_FILTER 26
290#define SADB_EXT_MAX 26
Ben Cheng655a7c02013-10-16 16:09:24 -0700291#define SADB_IDENTTYPE_RESERVED 0
292#define SADB_IDENTTYPE_PREFIX 1
293#define SADB_IDENTTYPE_FQDN 2
294#define SADB_IDENTTYPE_USERFQDN 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700295#define SADB_IDENTTYPE_MAX 3
296#endif