1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19enum {
20  CRYPTO_MSG_BASE = 0x10,
21  CRYPTO_MSG_NEWALG = 0x10,
22  CRYPTO_MSG_DELALG,
23  CRYPTO_MSG_UPDATEALG,
24  CRYPTO_MSG_GETALG,
25  CRYPTO_MSG_DELRNG,
26  __CRYPTO_MSG_MAX
27};
28#define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1)
29#define CRYPTO_NR_MSGTYPES (CRYPTO_MSG_MAX + 1 - CRYPTO_MSG_BASE)
30#define CRYPTO_MAX_NAME CRYPTO_MAX_ALG_NAME
31enum crypto_attr_type_t {
32  CRYPTOCFGA_UNSPEC,
33  CRYPTOCFGA_PRIORITY_VAL,
34  CRYPTOCFGA_REPORT_LARVAL,
35  CRYPTOCFGA_REPORT_HASH,
36  CRYPTOCFGA_REPORT_BLKCIPHER,
37  CRYPTOCFGA_REPORT_AEAD,
38  CRYPTOCFGA_REPORT_COMPRESS,
39  CRYPTOCFGA_REPORT_RNG,
40  CRYPTOCFGA_REPORT_CIPHER,
41  CRYPTOCFGA_REPORT_AKCIPHER,
42  CRYPTOCFGA_REPORT_KPP,
43  CRYPTOCFGA_REPORT_ACOMP,
44  __CRYPTOCFGA_MAX
45#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
46};
47struct crypto_user_alg {
48  char cru_name[CRYPTO_MAX_ALG_NAME];
49  char cru_driver_name[CRYPTO_MAX_ALG_NAME];
50  char cru_module_name[CRYPTO_MAX_ALG_NAME];
51  __u32 cru_type;
52  __u32 cru_mask;
53  __u32 cru_refcnt;
54  __u32 cru_flags;
55};
56struct crypto_report_larval {
57  char type[CRYPTO_MAX_NAME];
58};
59struct crypto_report_hash {
60  char type[CRYPTO_MAX_NAME];
61  unsigned int blocksize;
62  unsigned int digestsize;
63};
64struct crypto_report_cipher {
65  char type[CRYPTO_MAX_ALG_NAME];
66  unsigned int blocksize;
67  unsigned int min_keysize;
68  unsigned int max_keysize;
69};
70struct crypto_report_blkcipher {
71  char type[CRYPTO_MAX_NAME];
72  char geniv[CRYPTO_MAX_NAME];
73  unsigned int blocksize;
74  unsigned int min_keysize;
75  unsigned int max_keysize;
76  unsigned int ivsize;
77};
78struct crypto_report_aead {
79  char type[CRYPTO_MAX_NAME];
80  char geniv[CRYPTO_MAX_NAME];
81  unsigned int blocksize;
82  unsigned int maxauthsize;
83  unsigned int ivsize;
84};
85struct crypto_report_comp {
86  char type[CRYPTO_MAX_NAME];
87};
88struct crypto_report_rng {
89  char type[CRYPTO_MAX_NAME];
90  unsigned int seedsize;
91};
92struct crypto_report_akcipher {
93  char type[CRYPTO_MAX_NAME];
94};
95struct crypto_report_kpp {
96  char type[CRYPTO_MAX_NAME];
97};
98struct crypto_report_acomp {
99  char type[CRYPTO_MAX_NAME];
100};
101#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + sizeof(struct crypto_report_blkcipher))
102