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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/