xref: /aosp_15_r20/prebuilts/build-tools/sysroots/aarch64-unknown-linux-musl/include/linux/tls.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_TLS_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_LINUX_TLS_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker #define TLS_TX 1
11*cda5da8dSAndroid Build Coastguard Worker #define TLS_RX 2
12*cda5da8dSAndroid Build Coastguard Worker #define TLS_TX_ZEROCOPY_RO 3
13*cda5da8dSAndroid Build Coastguard Worker #define TLS_RX_EXPECT_NO_PAD 4
14*cda5da8dSAndroid Build Coastguard Worker #define TLS_VERSION_MINOR(ver) ((ver) & 0xFF)
15*cda5da8dSAndroid Build Coastguard Worker #define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF)
16*cda5da8dSAndroid Build Coastguard Worker #define TLS_VERSION_NUMBER(id) ((((id ##_VERSION_MAJOR) & 0xFF) << 8) | ((id ##_VERSION_MINOR) & 0xFF))
17*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_2_VERSION_MAJOR 0x3
18*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_2_VERSION_MINOR 0x3
19*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2)
20*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_3_VERSION_MAJOR 0x3
21*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_3_VERSION_MINOR 0x4
22*cda5da8dSAndroid Build Coastguard Worker #define TLS_1_3_VERSION TLS_VERSION_NUMBER(TLS_1_3)
23*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128 51
24*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
25*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16
26*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4
27*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
28*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
29*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256 52
30*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256_IV_SIZE 8
31*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256_KEY_SIZE 32
32*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256_SALT_SIZE 4
33*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256_TAG_SIZE 16
34*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8
35*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128 53
36*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128_IV_SIZE 8
37*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128_KEY_SIZE 16
38*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128_SALT_SIZE 4
39*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128_TAG_SIZE 16
40*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE 8
41*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305 54
42*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE 12
43*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE 32
44*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE 0
45*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305_TAG_SIZE 16
46*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE 8
47*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM 55
48*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM_IV_SIZE 8
49*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM_KEY_SIZE 16
50*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM_SALT_SIZE 4
51*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM_TAG_SIZE 16
52*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_GCM_REC_SEQ_SIZE 8
53*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM 56
54*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM_IV_SIZE 8
55*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM_KEY_SIZE 16
56*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM_SALT_SIZE 4
57*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM_TAG_SIZE 16
58*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8
59*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128 57
60*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128_IV_SIZE 8
61*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128_KEY_SIZE 16
62*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128_SALT_SIZE 4
63*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128_TAG_SIZE 16
64*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE 8
65*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256 58
66*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256_IV_SIZE 8
67*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256_KEY_SIZE 32
68*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256_SALT_SIZE 4
69*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256_TAG_SIZE 16
70*cda5da8dSAndroid Build Coastguard Worker #define TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE 8
71*cda5da8dSAndroid Build Coastguard Worker #define TLS_SET_RECORD_TYPE 1
72*cda5da8dSAndroid Build Coastguard Worker #define TLS_GET_RECORD_TYPE 2
73*cda5da8dSAndroid Build Coastguard Worker struct tls_crypto_info {
74*cda5da8dSAndroid Build Coastguard Worker   __u16 version;
75*cda5da8dSAndroid Build Coastguard Worker   __u16 cipher_type;
76*cda5da8dSAndroid Build Coastguard Worker };
77*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_aes_gcm_128 {
78*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
79*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE];
80*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE];
81*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE];
82*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
83*cda5da8dSAndroid Build Coastguard Worker };
84*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_aes_gcm_256 {
85*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
86*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_AES_GCM_256_IV_SIZE];
87*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_AES_GCM_256_KEY_SIZE];
88*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_AES_GCM_256_SALT_SIZE];
89*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE];
90*cda5da8dSAndroid Build Coastguard Worker };
91*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_aes_ccm_128 {
92*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
93*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_AES_CCM_128_IV_SIZE];
94*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_AES_CCM_128_KEY_SIZE];
95*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_AES_CCM_128_SALT_SIZE];
96*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
97*cda5da8dSAndroid Build Coastguard Worker };
98*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_chacha20_poly1305 {
99*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
100*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE];
101*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE];
102*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE];
103*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE];
104*cda5da8dSAndroid Build Coastguard Worker };
105*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_sm4_gcm {
106*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
107*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_SM4_GCM_IV_SIZE];
108*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_SM4_GCM_KEY_SIZE];
109*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_SM4_GCM_SALT_SIZE];
110*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_SM4_GCM_REC_SEQ_SIZE];
111*cda5da8dSAndroid Build Coastguard Worker };
112*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_sm4_ccm {
113*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
114*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_SM4_CCM_IV_SIZE];
115*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_SM4_CCM_KEY_SIZE];
116*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_SM4_CCM_SALT_SIZE];
117*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE];
118*cda5da8dSAndroid Build Coastguard Worker };
119*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_aria_gcm_128 {
120*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
121*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_ARIA_GCM_128_IV_SIZE];
122*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_ARIA_GCM_128_KEY_SIZE];
123*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_ARIA_GCM_128_SALT_SIZE];
124*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE];
125*cda5da8dSAndroid Build Coastguard Worker };
126*cda5da8dSAndroid Build Coastguard Worker struct tls12_crypto_info_aria_gcm_256 {
127*cda5da8dSAndroid Build Coastguard Worker   struct tls_crypto_info info;
128*cda5da8dSAndroid Build Coastguard Worker   unsigned char iv[TLS_CIPHER_ARIA_GCM_256_IV_SIZE];
129*cda5da8dSAndroid Build Coastguard Worker   unsigned char key[TLS_CIPHER_ARIA_GCM_256_KEY_SIZE];
130*cda5da8dSAndroid Build Coastguard Worker   unsigned char salt[TLS_CIPHER_ARIA_GCM_256_SALT_SIZE];
131*cda5da8dSAndroid Build Coastguard Worker   unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE];
132*cda5da8dSAndroid Build Coastguard Worker };
133*cda5da8dSAndroid Build Coastguard Worker enum {
134*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_UNSPEC,
135*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_VERSION,
136*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_CIPHER,
137*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_TXCONF,
138*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_RXCONF,
139*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_ZC_RO_TX,
140*cda5da8dSAndroid Build Coastguard Worker   TLS_INFO_RX_NO_PAD,
141*cda5da8dSAndroid Build Coastguard Worker   __TLS_INFO_MAX,
142*cda5da8dSAndroid Build Coastguard Worker };
143*cda5da8dSAndroid Build Coastguard Worker #define TLS_INFO_MAX (__TLS_INFO_MAX - 1)
144*cda5da8dSAndroid Build Coastguard Worker #define TLS_CONF_BASE 1
145*cda5da8dSAndroid Build Coastguard Worker #define TLS_CONF_SW 2
146*cda5da8dSAndroid Build Coastguard Worker #define TLS_CONF_HW 3
147*cda5da8dSAndroid Build Coastguard Worker #define TLS_CONF_HW_RECORD 4
148*cda5da8dSAndroid Build Coastguard Worker #endif
149