xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/cryptouser.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_CRYPTOUSER_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_CRYPTOUSER_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker enum {
11*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_BASE = 0x10,
12*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_NEWALG = 0x10,
13*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_DELALG,
14*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_UPDATEALG,
15*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_GETALG,
16*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_DELRNG,
17*8d67ca89SAndroid Build Coastguard Worker   CRYPTO_MSG_GETSTAT,
18*8d67ca89SAndroid Build Coastguard Worker   __CRYPTO_MSG_MAX
19*8d67ca89SAndroid Build Coastguard Worker };
20*8d67ca89SAndroid Build Coastguard Worker #define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1)
21*8d67ca89SAndroid Build Coastguard Worker #define CRYPTO_NR_MSGTYPES (CRYPTO_MSG_MAX + 1 - CRYPTO_MSG_BASE)
22*8d67ca89SAndroid Build Coastguard Worker #define CRYPTO_MAX_NAME 64
23*8d67ca89SAndroid Build Coastguard Worker enum crypto_attr_type_t {
24*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_UNSPEC,
25*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_PRIORITY_VAL,
26*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_LARVAL,
27*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_HASH,
28*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_BLKCIPHER,
29*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_AEAD,
30*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_COMPRESS,
31*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_RNG,
32*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_CIPHER,
33*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_AKCIPHER,
34*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_KPP,
35*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_REPORT_ACOMP,
36*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_LARVAL,
37*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_HASH,
38*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_BLKCIPHER,
39*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_AEAD,
40*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_COMPRESS,
41*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_RNG,
42*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_CIPHER,
43*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_AKCIPHER,
44*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_KPP,
45*8d67ca89SAndroid Build Coastguard Worker   CRYPTOCFGA_STAT_ACOMP,
46*8d67ca89SAndroid Build Coastguard Worker   __CRYPTOCFGA_MAX
47*8d67ca89SAndroid Build Coastguard Worker #define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
48*8d67ca89SAndroid Build Coastguard Worker };
49*8d67ca89SAndroid Build Coastguard Worker struct crypto_user_alg {
50*8d67ca89SAndroid Build Coastguard Worker   char cru_name[CRYPTO_MAX_NAME];
51*8d67ca89SAndroid Build Coastguard Worker   char cru_driver_name[CRYPTO_MAX_NAME];
52*8d67ca89SAndroid Build Coastguard Worker   char cru_module_name[CRYPTO_MAX_NAME];
53*8d67ca89SAndroid Build Coastguard Worker   __u32 cru_type;
54*8d67ca89SAndroid Build Coastguard Worker   __u32 cru_mask;
55*8d67ca89SAndroid Build Coastguard Worker   __u32 cru_refcnt;
56*8d67ca89SAndroid Build Coastguard Worker   __u32 cru_flags;
57*8d67ca89SAndroid Build Coastguard Worker };
58*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_aead {
59*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
60*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_cnt;
61*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_tlen;
62*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_cnt;
63*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_tlen;
64*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_akcipher {
67*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
68*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_cnt;
69*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_tlen;
70*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_cnt;
71*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_tlen;
72*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_verify_cnt;
73*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_sign_cnt;
74*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
75*8d67ca89SAndroid Build Coastguard Worker };
76*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_cipher {
77*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
78*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_cnt;
79*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_encrypt_tlen;
80*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_cnt;
81*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decrypt_tlen;
82*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
83*8d67ca89SAndroid Build Coastguard Worker };
84*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_compress {
85*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
86*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_compress_cnt;
87*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_compress_tlen;
88*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decompress_cnt;
89*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_decompress_tlen;
90*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
91*8d67ca89SAndroid Build Coastguard Worker };
92*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_hash {
93*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
94*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_hash_cnt;
95*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_hash_tlen;
96*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
97*8d67ca89SAndroid Build Coastguard Worker };
98*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_kpp {
99*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
100*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_setsecret_cnt;
101*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_generate_public_key_cnt;
102*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_compute_shared_secret_cnt;
103*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
104*8d67ca89SAndroid Build Coastguard Worker };
105*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_rng {
106*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
107*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_generate_cnt;
108*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_generate_tlen;
109*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_seed_cnt;
110*8d67ca89SAndroid Build Coastguard Worker   __u64 stat_err_cnt;
111*8d67ca89SAndroid Build Coastguard Worker };
112*8d67ca89SAndroid Build Coastguard Worker struct crypto_stat_larval {
113*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
114*8d67ca89SAndroid Build Coastguard Worker };
115*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_larval {
116*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
117*8d67ca89SAndroid Build Coastguard Worker };
118*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_hash {
119*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
120*8d67ca89SAndroid Build Coastguard Worker   unsigned int blocksize;
121*8d67ca89SAndroid Build Coastguard Worker   unsigned int digestsize;
122*8d67ca89SAndroid Build Coastguard Worker };
123*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_cipher {
124*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
125*8d67ca89SAndroid Build Coastguard Worker   unsigned int blocksize;
126*8d67ca89SAndroid Build Coastguard Worker   unsigned int min_keysize;
127*8d67ca89SAndroid Build Coastguard Worker   unsigned int max_keysize;
128*8d67ca89SAndroid Build Coastguard Worker };
129*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_blkcipher {
130*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
131*8d67ca89SAndroid Build Coastguard Worker   char geniv[CRYPTO_MAX_NAME];
132*8d67ca89SAndroid Build Coastguard Worker   unsigned int blocksize;
133*8d67ca89SAndroid Build Coastguard Worker   unsigned int min_keysize;
134*8d67ca89SAndroid Build Coastguard Worker   unsigned int max_keysize;
135*8d67ca89SAndroid Build Coastguard Worker   unsigned int ivsize;
136*8d67ca89SAndroid Build Coastguard Worker };
137*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_aead {
138*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
139*8d67ca89SAndroid Build Coastguard Worker   char geniv[CRYPTO_MAX_NAME];
140*8d67ca89SAndroid Build Coastguard Worker   unsigned int blocksize;
141*8d67ca89SAndroid Build Coastguard Worker   unsigned int maxauthsize;
142*8d67ca89SAndroid Build Coastguard Worker   unsigned int ivsize;
143*8d67ca89SAndroid Build Coastguard Worker };
144*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_comp {
145*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
146*8d67ca89SAndroid Build Coastguard Worker };
147*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_rng {
148*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
149*8d67ca89SAndroid Build Coastguard Worker   unsigned int seedsize;
150*8d67ca89SAndroid Build Coastguard Worker };
151*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_akcipher {
152*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
153*8d67ca89SAndroid Build Coastguard Worker };
154*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_kpp {
155*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
156*8d67ca89SAndroid Build Coastguard Worker };
157*8d67ca89SAndroid Build Coastguard Worker struct crypto_report_acomp {
158*8d67ca89SAndroid Build Coastguard Worker   char type[CRYPTO_MAX_NAME];
159*8d67ca89SAndroid Build Coastguard Worker };
160*8d67ca89SAndroid Build Coastguard Worker #define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + sizeof(struct crypto_report_blkcipher))
161*8d67ca89SAndroid Build Coastguard Worker #endif
162