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