Home | History | Annotate | Download | only in linux
      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 struct keyctl_dh_params {
     70   union {
     71 #ifndef __cplusplus
     72     __s32 __linux_private;
     73 #endif
     74     __s32 priv;
     75   };
     76   __s32 prime;
     77   __s32 base;
     78 };
     79 struct keyctl_kdf_params {
     80   char __user * hashname;
     81   char __user * otherinfo;
     82   __u32 otherinfolen;
     83   __u32 __spare[8];
     84 };
     85 #define KEYCTL_SUPPORTS_ENCRYPT 0x01
     86 #define KEYCTL_SUPPORTS_DECRYPT 0x02
     87 #define KEYCTL_SUPPORTS_SIGN 0x04
     88 #define KEYCTL_SUPPORTS_VERIFY 0x08
     89 struct keyctl_pkey_query {
     90   __u32 supported_ops;
     91   __u32 key_size;
     92   __u16 max_data_size;
     93   __u16 max_sig_size;
     94   __u16 max_enc_size;
     95   __u16 max_dec_size;
     96   __u32 __spare[10];
     97 };
     98 struct keyctl_pkey_params {
     99   __s32 key_id;
    100   __u32 in_len;
    101   union {
    102     __u32 out_len;
    103     __u32 in2_len;
    104   };
    105   __u32 __spare[7];
    106 };
    107 #endif
    108