blob: 9ffab6d336319d2357dd31ee56770e781b1b00e0 [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 */
Christopher Ferris9584fa42019-12-09 15:36:13 -08007#ifndef _UAPI_LINUX_CRYPTOUSER_H
8#define _UAPI_LINUX_CRYPTOUSER_H
Christopher Ferris525ce912017-07-26 13:12:53 -07009#include <linux/types.h>
Christopher Ferris05d08e92016-02-04 13:16:38 -080010enum {
11 CRYPTO_MSG_BASE = 0x10,
12 CRYPTO_MSG_NEWALG = 0x10,
13 CRYPTO_MSG_DELALG,
Christopher Ferris05d08e92016-02-04 13:16:38 -080014 CRYPTO_MSG_UPDATEALG,
15 CRYPTO_MSG_GETALG,
16 CRYPTO_MSG_DELRNG,
Christopher Ferris86a48372019-01-10 14:14:59 -080017 CRYPTO_MSG_GETSTAT,
Christopher Ferris05d08e92016-02-04 13:16:38 -080018 __CRYPTO_MSG_MAX
Christopher Ferris05d08e92016-02-04 13:16:38 -080019};
20#define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1)
21#define CRYPTO_NR_MSGTYPES (CRYPTO_MSG_MAX + 1 - CRYPTO_MSG_BASE)
Christopher Ferris525ce912017-07-26 13:12:53 -070022#define CRYPTO_MAX_NAME 64
Christopher Ferris05d08e92016-02-04 13:16:38 -080023enum crypto_attr_type_t {
24 CRYPTOCFGA_UNSPEC,
25 CRYPTOCFGA_PRIORITY_VAL,
26 CRYPTOCFGA_REPORT_LARVAL,
Christopher Ferris05d08e92016-02-04 13:16:38 -080027 CRYPTOCFGA_REPORT_HASH,
28 CRYPTOCFGA_REPORT_BLKCIPHER,
29 CRYPTOCFGA_REPORT_AEAD,
30 CRYPTOCFGA_REPORT_COMPRESS,
Christopher Ferris05d08e92016-02-04 13:16:38 -080031 CRYPTOCFGA_REPORT_RNG,
32 CRYPTOCFGA_REPORT_CIPHER,
33 CRYPTOCFGA_REPORT_AKCIPHER,
Christopher Ferris49f525c2016-12-12 14:55:36 -080034 CRYPTOCFGA_REPORT_KPP,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080035 CRYPTOCFGA_REPORT_ACOMP,
Christopher Ferris86a48372019-01-10 14:14:59 -080036 CRYPTOCFGA_STAT_LARVAL,
37 CRYPTOCFGA_STAT_HASH,
38 CRYPTOCFGA_STAT_BLKCIPHER,
39 CRYPTOCFGA_STAT_AEAD,
40 CRYPTOCFGA_STAT_COMPRESS,
41 CRYPTOCFGA_STAT_RNG,
42 CRYPTOCFGA_STAT_CIPHER,
43 CRYPTOCFGA_STAT_AKCIPHER,
44 CRYPTOCFGA_STAT_KPP,
45 CRYPTOCFGA_STAT_ACOMP,
Christopher Ferris49f525c2016-12-12 14:55:36 -080046 __CRYPTOCFGA_MAX
Christopher Ferris05d08e92016-02-04 13:16:38 -080047#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
48};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080049struct crypto_user_alg {
Christopher Ferris525ce912017-07-26 13:12:53 -070050 char cru_name[CRYPTO_MAX_NAME];
51 char cru_driver_name[CRYPTO_MAX_NAME];
52 char cru_module_name[CRYPTO_MAX_NAME];
Christopher Ferris48af7cb2017-02-21 12:35:09 -080053 __u32 cru_type;
Christopher Ferris49f525c2016-12-12 14:55:36 -080054 __u32 cru_mask;
Christopher Ferris05d08e92016-02-04 13:16:38 -080055 __u32 cru_refcnt;
56 __u32 cru_flags;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080057};
Christopher Ferrisd842e432019-03-07 10:21:59 -080058struct crypto_stat_aead {
Christopher Ferris86a48372019-01-10 14:14:59 -080059 char type[CRYPTO_MAX_NAME];
Christopher Ferrisd842e432019-03-07 10:21:59 -080060 __u64 stat_encrypt_cnt;
61 __u64 stat_encrypt_tlen;
62 __u64 stat_decrypt_cnt;
63 __u64 stat_decrypt_tlen;
64 __u64 stat_err_cnt;
65};
66struct crypto_stat_akcipher {
67 char type[CRYPTO_MAX_NAME];
68 __u64 stat_encrypt_cnt;
69 __u64 stat_encrypt_tlen;
70 __u64 stat_decrypt_cnt;
71 __u64 stat_decrypt_tlen;
72 __u64 stat_verify_cnt;
73 __u64 stat_sign_cnt;
74 __u64 stat_err_cnt;
75};
76struct crypto_stat_cipher {
77 char type[CRYPTO_MAX_NAME];
78 __u64 stat_encrypt_cnt;
79 __u64 stat_encrypt_tlen;
80 __u64 stat_decrypt_cnt;
81 __u64 stat_decrypt_tlen;
82 __u64 stat_err_cnt;
83};
84struct crypto_stat_compress {
85 char type[CRYPTO_MAX_NAME];
86 __u64 stat_compress_cnt;
87 __u64 stat_compress_tlen;
88 __u64 stat_decompress_cnt;
89 __u64 stat_decompress_tlen;
90 __u64 stat_err_cnt;
91};
92struct crypto_stat_hash {
93 char type[CRYPTO_MAX_NAME];
94 __u64 stat_hash_cnt;
95 __u64 stat_hash_tlen;
96 __u64 stat_err_cnt;
97};
98struct crypto_stat_kpp {
99 char type[CRYPTO_MAX_NAME];
100 __u64 stat_setsecret_cnt;
101 __u64 stat_generate_public_key_cnt;
102 __u64 stat_compute_shared_secret_cnt;
103 __u64 stat_err_cnt;
104};
105struct crypto_stat_rng {
106 char type[CRYPTO_MAX_NAME];
107 __u64 stat_generate_cnt;
108 __u64 stat_generate_tlen;
109 __u64 stat_seed_cnt;
110 __u64 stat_err_cnt;
111};
112struct crypto_stat_larval {
113 char type[CRYPTO_MAX_NAME];
Christopher Ferris86a48372019-01-10 14:14:59 -0800114};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800115struct crypto_report_larval {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800116 char type[CRYPTO_MAX_NAME];
117};
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800118struct crypto_report_hash {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800119 char type[CRYPTO_MAX_NAME];
Christopher Ferris05d08e92016-02-04 13:16:38 -0800120 unsigned int blocksize;
121 unsigned int digestsize;
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800122};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800123struct crypto_report_cipher {
Christopher Ferris525ce912017-07-26 13:12:53 -0700124 char type[CRYPTO_MAX_NAME];
Christopher Ferris05d08e92016-02-04 13:16:38 -0800125 unsigned int blocksize;
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800126 unsigned int min_keysize;
Christopher Ferris49f525c2016-12-12 14:55:36 -0800127 unsigned int max_keysize;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800128};
129struct crypto_report_blkcipher {
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800130 char type[CRYPTO_MAX_NAME];
Christopher Ferris49f525c2016-12-12 14:55:36 -0800131 char geniv[CRYPTO_MAX_NAME];
Christopher Ferris05d08e92016-02-04 13:16:38 -0800132 unsigned int blocksize;
133 unsigned int min_keysize;
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800134 unsigned int max_keysize;
Christopher Ferris49f525c2016-12-12 14:55:36 -0800135 unsigned int ivsize;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800136};
137struct crypto_report_aead {
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800138 char type[CRYPTO_MAX_NAME];
Christopher Ferris49f525c2016-12-12 14:55:36 -0800139 char geniv[CRYPTO_MAX_NAME];
Christopher Ferris05d08e92016-02-04 13:16:38 -0800140 unsigned int blocksize;
141 unsigned int maxauthsize;
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800142 unsigned int ivsize;
Christopher Ferris49f525c2016-12-12 14:55:36 -0800143};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800144struct crypto_report_comp {
145 char type[CRYPTO_MAX_NAME];
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800146};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800147struct crypto_report_rng {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800148 char type[CRYPTO_MAX_NAME];
149 unsigned int seedsize;
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800150};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800151struct crypto_report_akcipher {
Christopher Ferris49f525c2016-12-12 14:55:36 -0800152 char type[CRYPTO_MAX_NAME];
153};
154struct crypto_report_kpp {
Christopher Ferris48af7cb2017-02-21 12:35:09 -0800155 char type[CRYPTO_MAX_NAME];
156};
157struct crypto_report_acomp {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800158 char type[CRYPTO_MAX_NAME];
159};
160#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + sizeof(struct crypto_report_blkcipher))
Christopher Ferris9584fa42019-12-09 15:36:13 -0800161#endif