@@ -966,6 +966,14 @@ s! {
966
966
pub rec_seq: [ c_uchar; TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE ] ,
967
967
}
968
968
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
+
969
977
pub struct tls12_crypto_info_chacha20_poly1305 {
970
978
pub info: tls_crypto_info,
971
979
pub iv: [ c_uchar; TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE ] ,
@@ -974,6 +982,38 @@ s! {
974
982
pub rec_seq: [ c_uchar; TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE ] ,
975
983
}
976
984
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
+
977
1017
// linux/wireless.h
978
1018
979
1019
pub struct iw_param {
@@ -4658,6 +4698,9 @@ pub const PTP_PF_PHYSYNC: c_uint = 3;
4658
4698
pub const TLS_TX : c_int = 1 ;
4659
4699
pub const TLS_RX : c_int = 2 ;
4660
4700
4701
+ pub const TLS_TX_ZEROCOPY_RO : c_int = 3 ;
4702
+ pub const TLS_RX_EXPECT_NO_PAD : c_int = 4 ;
4703
+
4661
4704
pub const TLS_1_2_VERSION_MAJOR : __u8 = 0x3 ;
4662
4705
pub const TLS_1_2_VERSION_MINOR : __u8 = 0x3 ;
4663
4706
pub const TLS_1_2_VERSION : __u16 =
@@ -4682,18 +4725,67 @@ pub const TLS_CIPHER_AES_GCM_256_SALT_SIZE: usize = 4;
4682
4725
pub const TLS_CIPHER_AES_GCM_256_TAG_SIZE : usize = 16 ;
4683
4726
pub const TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE : usize = 8 ;
4684
4727
4728
+ pub const TLS_CIPHER_AES_CCM_128 : __u16 = 53 ;
4729
+ pub const TLS_CIPHER_AES_CCM_128_IV_SIZE : usize = 8 ;
4730
+ pub const TLS_CIPHER_AES_CCM_128_KEY_SIZE : usize = 16 ;
4731
+ pub const TLS_CIPHER_AES_CCM_128_SALT_SIZE : usize = 4 ;
4732
+ pub const TLS_CIPHER_AES_CCM_128_TAG_SIZE : usize = 16 ;
4733
+ pub const TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE : usize = 8 ;
4734
+
4685
4735
pub const TLS_CIPHER_CHACHA20_POLY1305 : __u16 = 54 ;
4686
4736
pub const TLS_CIPHER_CHACHA20_POLY1305_IV_SIZE : usize = 12 ;
4687
4737
pub const TLS_CIPHER_CHACHA20_POLY1305_KEY_SIZE : usize = 32 ;
4688
4738
pub const TLS_CIPHER_CHACHA20_POLY1305_SALT_SIZE : usize = 0 ;
4689
4739
pub const TLS_CIPHER_CHACHA20_POLY1305_TAG_SIZE : usize = 16 ;
4690
4740
pub const TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE : usize = 8 ;
4691
4741
4742
+ pub const TLS_CIPHER_SM4_GCM : __u16 = 55 ;
4743
+ pub const TLS_CIPHER_SM4_GCM_IV_SIZE : usize = 8 ;
4744
+ pub const TLS_CIPHER_SM4_GCM_KEY_SIZE : usize = 16 ;
4745
+ pub const TLS_CIPHER_SM4_GCM_SALT_SIZE : usize = 4 ;
4746
+ pub const TLS_CIPHER_SM4_GCM_TAG_SIZE : usize = 16 ;
4747
+ pub const TLS_CIPHER_SM4_GCM_REC_SEQ_SIZE : usize = 8 ;
4748
+
4749
+ pub const TLS_CIPHER_SM4_CCM : __u16 = 56 ;
4750
+ pub const TLS_CIPHER_SM4_CCM_IV_SIZE : usize = 8 ;
4751
+ pub const TLS_CIPHER_SM4_CCM_KEY_SIZE : usize = 16 ;
4752
+ pub const TLS_CIPHER_SM4_CCM_SALT_SIZE : usize = 4 ;
4753
+ pub const TLS_CIPHER_SM4_CCM_TAG_SIZE : usize = 16 ;
4754
+ pub const TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE : usize = 8 ;
4755
+
4756
+ pub const TLS_CIPHER_ARIA_GCM_128 : __u16 = 57 ;
4757
+ pub const TLS_CIPHER_ARIA_GCM_128_IV_SIZE : usize = 8 ;
4758
+ pub const TLS_CIPHER_ARIA_GCM_128_KEY_SIZE : usize = 16 ;
4759
+ pub const TLS_CIPHER_ARIA_GCM_128_SALT_SIZE : usize = 4 ;
4760
+ pub const TLS_CIPHER_ARIA_GCM_128_TAG_SIZE : usize = 16 ;
4761
+ pub const TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE : usize = 8 ;
4762
+
4763
+ pub const TLS_CIPHER_ARIA_GCM_256 : __u16 = 58 ;
4764
+ pub const TLS_CIPHER_ARIA_GCM_256_IV_SIZE : usize = 8 ;
4765
+ pub const TLS_CIPHER_ARIA_GCM_256_KEY_SIZE : usize = 32 ;
4766
+ pub const TLS_CIPHER_ARIA_GCM_256_SALT_SIZE : usize = 4 ;
4767
+ pub const TLS_CIPHER_ARIA_GCM_256_TAG_SIZE : usize = 16 ;
4768
+ pub const TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE : usize = 8 ;
4769
+
4692
4770
pub const TLS_SET_RECORD_TYPE : c_int = 1 ;
4693
4771
pub const TLS_GET_RECORD_TYPE : c_int = 2 ;
4694
4772
4695
4773
pub const SOL_TLS : c_int = 282 ;
4696
4774
4775
+ // enum
4776
+ pub const TLS_INFO_UNSPEC : c_int = 0x00 ;
4777
+ pub const TLS_INFO_VERSION : c_int = 0x01 ;
4778
+ pub const TLS_INFO_CIPHER : c_int = 0x02 ;
4779
+ pub const TLS_INFO_TXCONF : c_int = 0x03 ;
4780
+ pub const TLS_INFO_RXCONF : c_int = 0x04 ;
4781
+ pub const TLS_INFO_ZC_RO_TX : c_int = 0x05 ;
4782
+ pub const TLS_INFO_RX_NO_PAD : c_int = 0x06 ;
4783
+
4784
+ pub const TLS_CONF_BASE : c_int = 1 ;
4785
+ pub const TLS_CONF_SW : c_int = 2 ;
4786
+ pub const TLS_CONF_HW : c_int = 3 ;
4787
+ pub const TLS_CONF_HW_RECORD : c_int = 4 ;
4788
+
4697
4789
// linux/if_alg.h
4698
4790
pub const ALG_SET_KEY : c_int = 1 ;
4699
4791
pub const ALG_SET_IV : c_int = 2 ;
0 commit comments