xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/keyctl.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 _LINUX_KEYCTL_H
8*8d67ca89SAndroid Build Coastguard Worker #define _LINUX_KEYCTL_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_THREAD_KEYRING - 1
11*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_PROCESS_KEYRING - 2
12*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_SESSION_KEYRING - 3
13*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_USER_KEYRING - 4
14*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_USER_SESSION_KEYRING - 5
15*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_GROUP_KEYRING - 6
16*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_REQKEY_AUTH_KEY - 7
17*8d67ca89SAndroid Build Coastguard Worker #define KEY_SPEC_REQUESTOR_KEYRING - 8
18*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_NO_CHANGE - 1
19*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_DEFAULT 0
20*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_THREAD_KEYRING 1
21*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_PROCESS_KEYRING 2
22*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_SESSION_KEYRING 3
23*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_USER_KEYRING 4
24*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5
25*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_GROUP_KEYRING 6
26*8d67ca89SAndroid Build Coastguard Worker #define KEY_REQKEY_DEFL_REQUESTOR_KEYRING 7
27*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_GET_KEYRING_ID 0
28*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_JOIN_SESSION_KEYRING 1
29*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_UPDATE 2
30*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_REVOKE 3
31*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CHOWN 4
32*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SETPERM 5
33*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_DESCRIBE 6
34*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CLEAR 7
35*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_LINK 8
36*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_UNLINK 9
37*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SEARCH 10
38*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_READ 11
39*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_INSTANTIATE 12
40*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_NEGATE 13
41*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SET_REQKEY_KEYRING 14
42*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SET_TIMEOUT 15
43*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_ASSUME_AUTHORITY 16
44*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_GET_SECURITY 17
45*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SESSION_TO_PARENT 18
46*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_REJECT 19
47*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_INSTANTIATE_IOV 20
48*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_INVALIDATE 21
49*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_GET_PERSISTENT 22
50*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_DH_COMPUTE 23
51*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_PKEY_QUERY 24
52*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_PKEY_ENCRYPT 25
53*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_PKEY_DECRYPT 26
54*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_PKEY_SIGN 27
55*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_PKEY_VERIFY 28
56*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_RESTRICT_KEYRING 29
57*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_MOVE 30
58*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPABILITIES 31
59*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_WATCH_KEY 32
60*8d67ca89SAndroid Build Coastguard Worker struct keyctl_dh_params {
61*8d67ca89SAndroid Build Coastguard Worker   union {
62*8d67ca89SAndroid Build Coastguard Worker #ifndef __cplusplus
63*8d67ca89SAndroid Build Coastguard Worker     __s32 __linux_private;
64*8d67ca89SAndroid Build Coastguard Worker #endif
65*8d67ca89SAndroid Build Coastguard Worker     __s32 priv;
66*8d67ca89SAndroid Build Coastguard Worker   };
67*8d67ca89SAndroid Build Coastguard Worker   __s32 prime;
68*8d67ca89SAndroid Build Coastguard Worker   __s32 base;
69*8d67ca89SAndroid Build Coastguard Worker };
70*8d67ca89SAndroid Build Coastguard Worker struct keyctl_kdf_params {
71*8d67ca89SAndroid Build Coastguard Worker   char  * hashname;
72*8d67ca89SAndroid Build Coastguard Worker   char  * otherinfo;
73*8d67ca89SAndroid Build Coastguard Worker   __u32 otherinfolen;
74*8d67ca89SAndroid Build Coastguard Worker   __u32 __spare[8];
75*8d67ca89SAndroid Build Coastguard Worker };
76*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SUPPORTS_ENCRYPT 0x01
77*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SUPPORTS_DECRYPT 0x02
78*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SUPPORTS_SIGN 0x04
79*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_SUPPORTS_VERIFY 0x08
80*8d67ca89SAndroid Build Coastguard Worker struct keyctl_pkey_query {
81*8d67ca89SAndroid Build Coastguard Worker   __u32 supported_ops;
82*8d67ca89SAndroid Build Coastguard Worker   __u32 key_size;
83*8d67ca89SAndroid Build Coastguard Worker   __u16 max_data_size;
84*8d67ca89SAndroid Build Coastguard Worker   __u16 max_sig_size;
85*8d67ca89SAndroid Build Coastguard Worker   __u16 max_enc_size;
86*8d67ca89SAndroid Build Coastguard Worker   __u16 max_dec_size;
87*8d67ca89SAndroid Build Coastguard Worker   __u32 __spare[10];
88*8d67ca89SAndroid Build Coastguard Worker };
89*8d67ca89SAndroid Build Coastguard Worker struct keyctl_pkey_params {
90*8d67ca89SAndroid Build Coastguard Worker   __s32 key_id;
91*8d67ca89SAndroid Build Coastguard Worker   __u32 in_len;
92*8d67ca89SAndroid Build Coastguard Worker   union {
93*8d67ca89SAndroid Build Coastguard Worker     __u32 out_len;
94*8d67ca89SAndroid Build Coastguard Worker     __u32 in2_len;
95*8d67ca89SAndroid Build Coastguard Worker   };
96*8d67ca89SAndroid Build Coastguard Worker   __u32 __spare[7];
97*8d67ca89SAndroid Build Coastguard Worker };
98*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_MOVE_EXCL 0x00000001
99*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_CAPABILITIES 0x01
100*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02
101*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_DIFFIE_HELLMAN 0x04
102*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_PUBLIC_KEY 0x08
103*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_BIG_KEY 0x10
104*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_INVALIDATE 0x20
105*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_RESTRICT_KEYRING 0x40
106*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS0_MOVE 0x80
107*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS1_NS_KEYRING_NAME 0x01
108*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS1_NS_KEY_TAG 0x02
109*8d67ca89SAndroid Build Coastguard Worker #define KEYCTL_CAPS1_NOTIFICATIONS 0x04
110*8d67ca89SAndroid Build Coastguard Worker #endif
111