@@ -966,6 +966,14 @@ s! {
966966 pub rec_seq: [ c_uchar; TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE ] ,
967967 }
968968
969+ pub struct tls12_crypto_info_aes_ccm_128 {
970+ pub info: tls_crypto_info,
971+ pub iv: [ c_uchar; TLS_CIPHER_AES_CCM_128_IV_SIZE ] ,
972+ pub key: [ c_uchar; TLS_CIPHER_AES_CCM_128_KEY_SIZE ] ,
973+ pub salt: [ c_uchar; TLS_CIPHER_AES_CCM_128_SALT_SIZE ] ,
974+ pub rec_seq: [ c_uchar; TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE ] ,
975+ }
976+
969977 pub struct tls12_crypto_info_chacha20_poly1305 {
970978 pub info: tls_crypto_info,
971979 pub iv: [ c_uchar; TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE ] ,
@@ -974,6 +982,38 @@ s! {
974982 pub rec_seq: [ c_uchar; TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE ] ,
975983 }
976984
985+ pub struct tls12_crypto_info_sm4_gcm {
986+ pub info: tls_crypto_info,
987+ pub iv: [ c_uchar; TLS_CIPHER_SM4_GCM_IV_SIZE ] ,
988+ pub key: [ c_uchar; TLS_CIPHER_SM4_GCM_KEY_SIZE ] ,
989+ pub salt: [ c_uchar; TLS_CIPHER_SM4_GCM_SALT_SIZE ] ,
990+ pub rec_seq: [ c_uchar; TLS_CIPHER_SM4_GCM_REC_SEQ_SIZE ] ,
991+ }
992+
993+ pub struct tls12_crypto_info_sm4_ccm {
994+ pub info: tls_crypto_info,
995+ pub iv: [ c_uchar; TLS_CIPHER_SM4_CCM_IV_SIZE ] ,
996+ pub key: [ c_uchar; TLS_CIPHER_SM4_CCM_KEY_SIZE ] ,
997+ pub salt: [ c_uchar; TLS_CIPHER_SM4_CCM_SALT_SIZE ] ,
998+ pub rec_seq: [ c_uchar; TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE ] ,
999+ }
1000+
1001+ pub struct tls12_crypto_info_aria_gcm_128 {
1002+ pub info: tls_crypto_info,
1003+ pub iv: [ c_uchar; TLS_CIPHER_ARIA_GCM_128_IV_SIZE ] ,
1004+ pub key: [ c_uchar; TLS_CIPHER_ARIA_GCM_128_KEY_SIZE ] ,
1005+ pub salt: [ c_uchar; TLS_CIPHER_ARIA_GCM_128_SALT_SIZE ] ,
1006+ pub rec_seq: [ c_uchar; TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE ] ,
1007+ }
1008+
1009+ pub struct tls12_crypto_info_aria_gcm_256 {
1010+ pub info: tls_crypto_info,
1011+ pub iv: [ c_uchar; TLS_CIPHER_ARIA_GCM_256_IV_SIZE ] ,
1012+ pub key: [ c_uchar; TLS_CIPHER_ARIA_GCM_256_KEY_SIZE ] ,
1013+ pub salt: [ c_uchar; TLS_CIPHER_ARIA_GCM_256_SALT_SIZE ] ,
1014+ pub rec_seq: [ c_uchar; TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE ] ,
1015+ }
1016+
9771017 // linux/wireless.h
9781018
9791019 pub struct iw_param {
@@ -4721,6 +4761,9 @@ pub const PTP_PF_PHYSYNC: c_uint = 3;
47214761pub const TLS_TX : c_int = 1 ;
47224762pub const TLS_RX : c_int = 2 ;
47234763
4764+ pub const TLS_TX_ZEROCOPY_RO : c_int = 3 ;
4765+ pub const TLS_RX_EXPECT_NO_PAD : c_int = 4 ;
4766+
47244767pub const TLS_1_2_VERSION_MAJOR : __u8 = 0x3 ;
47254768pub const TLS_1_2_VERSION_MINOR : __u8 = 0x3 ;
47264769pub const TLS_1_2_VERSION : __u16 =
@@ -4745,18 +4788,67 @@ pub const TLS_CIPHER_AES_GCM_256_SALT_SIZE: usize = 4;
47454788pub const TLS_CIPHER_AES_GCM_256_TAG_SIZE : usize = 16 ;
47464789pub const TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE : usize = 8 ;
47474790
4791+ pub const TLS_CIPHER_AES_CCM_128 : __u16 = 53 ;
4792+ pub const TLS_CIPHER_AES_CCM_128_IV_SIZE : usize = 8 ;
4793+ pub const TLS_CIPHER_AES_CCM_128_KEY_SIZE : usize = 16 ;
4794+ pub const TLS_CIPHER_AES_CCM_128_SALT_SIZE : usize = 4 ;
4795+ pub const TLS_CIPHER_AES_CCM_128_TAG_SIZE : usize = 16 ;
4796+ pub const TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE : usize = 8 ;
4797+
47484798pub const TLS_CIPHER_CHACHA20_POLY1305 : __u16 = 54 ;
47494799pub const TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE : usize = 12 ;
47504800pub const TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE : usize = 32 ;
47514801pub const TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE : usize = 0 ;
47524802pub const TLS_CIPHER_CHACHA20_POLY1305_TAG_SIZE : usize = 16 ;
47534803pub const TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE : usize = 8 ;
47544804
4805+ pub const TLS_CIPHER_SM4_GCM : __u16 = 55 ;
4806+ pub const TLS_CIPHER_SM4_GCM_IV_SIZE : usize = 8 ;
4807+ pub const TLS_CIPHER_SM4_GCM_KEY_SIZE : usize = 16 ;
4808+ pub const TLS_CIPHER_SM4_GCM_SALT_SIZE : usize = 4 ;
4809+ pub const TLS_CIPHER_SM4_GCM_TAG_SIZE : usize = 16 ;
4810+ pub const TLS_CIPHER_SM4_GCM_REC_SEQ_SIZE : usize = 8 ;
4811+
4812+ pub const TLS_CIPHER_SM4_CCM : __u16 = 56 ;
4813+ pub const TLS_CIPHER_SM4_CCM_IV_SIZE : usize = 8 ;
4814+ pub const TLS_CIPHER_SM4_CCM_KEY_SIZE : usize = 16 ;
4815+ pub const TLS_CIPHER_SM4_CCM_SALT_SIZE : usize = 4 ;
4816+ pub const TLS_CIPHER_SM4_CCM_TAG_SIZE : usize = 16 ;
4817+ pub const TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE : usize = 8 ;
4818+
4819+ pub const TLS_CIPHER_ARIA_GCM_128 : __u16 = 57 ;
4820+ pub const TLS_CIPHER_ARIA_GCM_128_IV_SIZE : usize = 8 ;
4821+ pub const TLS_CIPHER_ARIA_GCM_128_KEY_SIZE : usize = 16 ;
4822+ pub const TLS_CIPHER_ARIA_GCM_128_SALT_SIZE : usize = 4 ;
4823+ pub const TLS_CIPHER_ARIA_GCM_128_TAG_SIZE : usize = 16 ;
4824+ pub const TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE : usize = 8 ;
4825+
4826+ pub const TLS_CIPHER_ARIA_GCM_256 : __u16 = 58 ;
4827+ pub const TLS_CIPHER_ARIA_GCM_256_IV_SIZE : usize = 8 ;
4828+ pub const TLS_CIPHER_ARIA_GCM_256_KEY_SIZE : usize = 32 ;
4829+ pub const TLS_CIPHER_ARIA_GCM_256_SALT_SIZE : usize = 4 ;
4830+ pub const TLS_CIPHER_ARIA_GCM_256_TAG_SIZE : usize = 16 ;
4831+ pub const TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE : usize = 8 ;
4832+
47554833pub const TLS_SET_RECORD_TYPE : c_int = 1 ;
47564834pub const TLS_GET_RECORD_TYPE : c_int = 2 ;
47574835
47584836pub const SOL_TLS : c_int = 282 ;
47594837
4838+ // enum
4839+ pub const TLS_INFO_UNSPEC : c_int = 0x00 ;
4840+ pub const TLS_INFO_VERSION : c_int = 0x01 ;
4841+ pub const TLS_INFO_CIPHER : c_int = 0x02 ;
4842+ pub const TLS_INFO_TXCONF : c_int = 0x03 ;
4843+ pub const TLS_INFO_RXCONF : c_int = 0x04 ;
4844+ pub const TLS_INFO_ZC_RO_TX : c_int = 0x05 ;
4845+ pub const TLS_INFO_RX_NO_PAD : c_int = 0x06 ;
4846+
4847+ pub const TLS_CONF_BASE : c_int = 1 ;
4848+ pub const TLS_CONF_SW : c_int = 2 ;
4849+ pub const TLS_CONF_HW : c_int = 3 ;
4850+ pub const TLS_CONF_HW_RECORD : c_int = 4 ;
4851+
47604852// linux/if_alg.h
47614853pub const ALG_SET_KEY : c_int = 1 ;
47624854pub const ALG_SET_IV : c_int = 2 ;
0 commit comments