keyutil.h | keyutil.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
/* key serial number */ | /* key serial number */ | |||
typedef int32_t key_serial_t; | typedef int32_t key_serial_t; | |||
/* special process keyring shortcut IDs */ | /* special process keyring shortcut IDs */ | |||
#define KEY_SPEC_THREAD_KEYRING -1 /* - key ID for thre ad-specific keyring */ | #define KEY_SPEC_THREAD_KEYRING -1 /* - key ID for thre ad-specific keyring */ | |||
#define KEY_SPEC_PROCESS_KEYRING -2 /* - key ID for process-spec ific keyring */ | #define KEY_SPEC_PROCESS_KEYRING -2 /* - key ID for process-spec ific keyring */ | |||
#define KEY_SPEC_SESSION_KEYRING -3 /* - key ID for session-spec ific keyring */ | #define KEY_SPEC_SESSION_KEYRING -3 /* - key ID for session-spec ific keyring */ | |||
#define KEY_SPEC_USER_KEYRING -4 /* - key ID for UID-specific keyring */ | #define KEY_SPEC_USER_KEYRING -4 /* - key ID for UID-specific keyring */ | |||
#define KEY_SPEC_USER_SESSION_KEYRING -5 /* - key ID for UID-session keyring */ | #define KEY_SPEC_USER_SESSION_KEYRING -5 /* - key ID for UID-session keyring */ | |||
#define KEY_SPEC_GROUP_KEYRING -6 /* - key ID for GID-specific keyring */ | #define KEY_SPEC_GROUP_KEYRING -6 /* - key ID for GID-specific keyring */ | |||
#define KEY_SPEC_REQKEY_AUTH_KEY -7 /* - key ID for assumed requ est_key auth key */ | ||||
/* request-key default keyrings */ | /* request-key default keyrings */ | |||
#define KEY_REQKEY_DEFL_NO_CHANGE -1 | #define KEY_REQKEY_DEFL_NO_CHANGE -1 | |||
#define KEY_REQKEY_DEFL_DEFAULT 0 | #define KEY_REQKEY_DEFL_DEFAULT 0 | |||
#define KEY_REQKEY_DEFL_THREAD_KEYRING 1 | #define KEY_REQKEY_DEFL_THREAD_KEYRING 1 | |||
#define KEY_REQKEY_DEFL_PROCESS_KEYRING 2 | #define KEY_REQKEY_DEFL_PROCESS_KEYRING 2 | |||
#define KEY_REQKEY_DEFL_SESSION_KEYRING 3 | #define KEY_REQKEY_DEFL_SESSION_KEYRING 3 | |||
#define KEY_REQKEY_DEFL_USER_KEYRING 4 | #define KEY_REQKEY_DEFL_USER_KEYRING 4 | |||
#define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5 | #define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5 | |||
#define KEY_REQKEY_DEFL_GROUP_KEYRING 6 | #define KEY_REQKEY_DEFL_GROUP_KEYRING 6 | |||
/* key handle permissions mask */ | /* key handle permissions mask */ | |||
typedef uint32_t key_perm_t; | typedef uint32_t key_perm_t; | |||
#define KEY_USR_VIEW 0x00010000 /* user can view a key's attributes | ||||
*/ | #define KEY_POS_VIEW 0x01000000 /* possessor can view a key's attrib | |||
#define KEY_USR_READ 0x00020000 /* user can read key payload / view | utes */ | |||
keyring */ | #define KEY_POS_READ 0x02000000 /* possessor can read key payload / | |||
#define KEY_USR_WRITE 0x00040000 /* user can update key payload / add | view keyring */ | |||
link to keyring */ | #define KEY_POS_WRITE 0x04000000 /* possessor can update key payload | |||
#define KEY_USR_SEARCH 0x00080000 /* user can find a key in search / s | / add link to keyring */ | |||
earch a keyring */ | #define KEY_POS_SEARCH 0x08000000 /* possessor can find a key in searc | |||
#define KEY_USR_LINK 0x00100000 /* user can create a link to a key/k | h / search a keyring */ | |||
eyring */ | #define KEY_POS_LINK 0x10000000 /* possessor can create a link to a | |||
#define KEY_USR_ALL 0x001f0000 | key/keyring */ | |||
#define KEY_POS_SETATTR 0x20000000 /* possessor can set key att | ||||
ributes */ | ||||
#define KEY_POS_ALL 0x3f000000 | ||||
#define KEY_USR_VIEW 0x00010000 /* user permissions... */ | ||||
#define KEY_USR_READ 0x00020000 | ||||
#define KEY_USR_WRITE 0x00040000 | ||||
#define KEY_USR_SEARCH 0x00080000 | ||||
#define KEY_USR_LINK 0x00100000 | ||||
#define KEY_USR_SETATTR 0x00200000 | ||||
#define KEY_USR_ALL 0x003f0000 | ||||
#define KEY_GRP_VIEW 0x00000100 /* group permissions... */ | #define KEY_GRP_VIEW 0x00000100 /* group permissions... */ | |||
#define KEY_GRP_READ 0x00000200 | #define KEY_GRP_READ 0x00000200 | |||
#define KEY_GRP_WRITE 0x00000400 | #define KEY_GRP_WRITE 0x00000400 | |||
#define KEY_GRP_SEARCH 0x00000800 | #define KEY_GRP_SEARCH 0x00000800 | |||
#define KEY_GRP_LINK 0x00001000 | #define KEY_GRP_LINK 0x00001000 | |||
#define KEY_GRP_ALL 0x00001f00 | #define KEY_GRP_SETATTR 0x00002000 | |||
#define KEY_GRP_ALL 0x00003f00 | ||||
#define KEY_OTH_VIEW 0x00000001 /* third party permissions... */ | #define KEY_OTH_VIEW 0x00000001 /* third party permissions... */ | |||
#define KEY_OTH_READ 0x00000002 | #define KEY_OTH_READ 0x00000002 | |||
#define KEY_OTH_WRITE 0x00000004 | #define KEY_OTH_WRITE 0x00000004 | |||
#define KEY_OTH_SEARCH 0x00000008 | #define KEY_OTH_SEARCH 0x00000008 | |||
#define KEY_OTH_LINK 0x00000010 | #define KEY_OTH_LINK 0x00000010 | |||
#define KEY_OTH_ALL 0x0000001f | #define KEY_OTH_SETATTR 0x00000010 | |||
#define KEY_OTH_ALL 0x0000003f | ||||
/* keyctl commands */ | /* keyctl commands */ | |||
#define KEYCTL_GET_KEYRING_ID 0 /* ask for a keyring's ID */ | #define KEYCTL_GET_KEYRING_ID 0 /* ask for a keyring's ID */ | |||
#define KEYCTL_JOIN_SESSION_KEYRING 1 /* join or start named sessi on keyring */ | #define KEYCTL_JOIN_SESSION_KEYRING 1 /* join or start named sessi on keyring */ | |||
#define KEYCTL_UPDATE 2 /* update a key */ | #define KEYCTL_UPDATE 2 /* update a key */ | |||
#define KEYCTL_REVOKE 3 /* revoke a key */ | #define KEYCTL_REVOKE 3 /* revoke a key */ | |||
#define KEYCTL_CHOWN 4 /* set ownership of a key */ | #define KEYCTL_CHOWN 4 /* set ownership of a key */ | |||
#define KEYCTL_SETPERM 5 /* set perms on a key */ | #define KEYCTL_SETPERM 5 /* set perms on a key */ | |||
#define KEYCTL_DESCRIBE 6 /* describe a key */ | #define KEYCTL_DESCRIBE 6 /* describe a key */ | |||
#define KEYCTL_CLEAR 7 /* clear contents of a keyri ng */ | #define KEYCTL_CLEAR 7 /* clear contents of a keyri ng */ | |||
#define KEYCTL_LINK 8 /* link a key into a keyring */ | #define KEYCTL_LINK 8 /* link a key into a keyring */ | |||
#define KEYCTL_UNLINK 9 /* unlink a key from a keyri ng */ | #define KEYCTL_UNLINK 9 /* unlink a key from a keyri ng */ | |||
#define KEYCTL_SEARCH 10 /* search for a key in a key ring */ | #define KEYCTL_SEARCH 10 /* search for a key in a key ring */ | |||
#define KEYCTL_READ 11 /* read a key or keyring's c ontents */ | #define KEYCTL_READ 11 /* read a key or keyring's c ontents */ | |||
#define KEYCTL_INSTANTIATE 12 /* instantiate a partially c onstructed key */ | #define KEYCTL_INSTANTIATE 12 /* instantiate a partially c onstructed key */ | |||
#define KEYCTL_NEGATE 13 /* negate a partially constr ucted key */ | #define KEYCTL_NEGATE 13 /* negate a partially constr ucted key */ | |||
#define KEYCTL_SET_REQKEY_KEYRING 14 /* set default request-key k eyring */ | #define KEYCTL_SET_REQKEY_KEYRING 14 /* set default request-key k eyring */ | |||
#define KEYCTL_SET_TIMEOUT 15 /* set timeout on a key */ | ||||
#define KEYCTL_ASSUME_AUTHORITY 16 /* assume authority | ||||
to instantiate key */ | ||||
/* | /* | |||
* syscall wrappers | * syscall wrappers | |||
*/ | */ | |||
extern key_serial_t add_key(const char *type, | extern key_serial_t add_key(const char *type, | |||
const char *description, | const char *description, | |||
const void *payload, | const void *payload, | |||
size_t plen, | size_t plen, | |||
key_serial_t ringid); | key_serial_t ringid); | |||
skipping to change at line 116 | skipping to change at line 131 | |||
const char *type, | const char *type, | |||
const char *description, | const char *description, | |||
key_serial_t destringid); | key_serial_t destringid); | |||
extern long keyctl_read(key_serial_t id, char *buffer, size_t buflen); | extern long keyctl_read(key_serial_t id, char *buffer, size_t buflen); | |||
extern long keyctl_instantiate(key_serial_t id, | extern long keyctl_instantiate(key_serial_t id, | |||
const void *payload, | const void *payload, | |||
size_t plen, | size_t plen, | |||
key_serial_t ringid); | key_serial_t ringid); | |||
extern long keyctl_negate(key_serial_t id, unsigned timeout, key_serial_t r ingid); | extern long keyctl_negate(key_serial_t id, unsigned timeout, key_serial_t r ingid); | |||
extern long keyctl_set_reqkey_keyring(int reqkey_defl); | extern long keyctl_set_reqkey_keyring(int reqkey_defl); | |||
extern long keyctl_set_timeout(key_serial_t key, unsigned timeout); | ||||
extern long keyctl_assume_authority(key_serial_t key); | ||||
/* | /* | |||
* utilities | * utilities | |||
*/ | */ | |||
extern int keyctl_describe_alloc(key_serial_t id, char **_buffer); | extern int keyctl_describe_alloc(key_serial_t id, char **_buffer); | |||
extern int keyctl_read_alloc(key_serial_t id, void **_buffer); | extern int keyctl_read_alloc(key_serial_t id, void **_buffer); | |||
#endif /* KEYUTIL_H */ | #endif /* KEYUTIL_H */ | |||
End of changes. 6 change blocks. | ||||
13 lines changed or deleted | 32 lines changed or added | |||