NAME
keyctl_get_keyring_ID - Get the ID of a special keyring
SYNOPSIS
#include <keyutils.h>
I key_serial_t keyctl_get_keyring_ID(key_serial_t key ,
I int create );
DESCRIPTION
R keyctl_get_keyring_ID ()
maps a special
key
or keyring ID to the serial number of the key actually representing that
feature. The serial number will be returned if that key exists.
If the key or keyring does not yet exist, then if
create
is non-zero, the key or keyring will be created if it is appropriate to do so.
The following special key IDs may be specified as
R key :
KEY_SPEC_THREAD_KEYRING
This specifies the caller's thread-specific keyring.
KEY_SPEC_PROCESS_KEYRING
This specifies the caller's process-specific keyring.
KEY_SPEC_SESSION_KEYRING
This specifies the caller's session-specific keyring.
KEY_SPEC_USER_KEYRING
This specifies the caller's UID-specific keyring.
KEY_SPEC_USER_SESSION_KEYRING
This specifies the caller's UID-session keyring.
KEY_SPEC_REQKEY_AUTH_KEY
This specifies the authorisation key created by
R request_key ()
and passed to the process it spawns to generate a key.
If a valid keyring ID is passed in, then this will simply be returned if the
key exists; an error will be issued if it doesn't exist.
RETURN VALUE
On success
R keyctl_get_keyring_ID ()
returns the serial number of the key it found. On error, the value
-1
will be returned and errno will have been set to an appropriate error.
ERRORS
ENOKEY
No matching key was found.
ENOMEM
Insufficient memory to create a key.
EDQUOT
The key quota for this user would be exceeded by creating this key or linking
it to the keyring.
LINKING
This is a library function that can be found in
R libkeyutils .
When linking,
-lkeyutils
should be specified to the linker.
SEE ALSO
keyctl(1),
add_key(2),
keyctl(2),
request_key(2),
keyctl_join_session_keyring(3),
keyctl_update(3),
keyctl_revoke(3),
keyctl_chown(3),
keyctl_setperm(3),
keyctl_describe(3),
keyctl_clear(3),
keyctl_link(3),
keyctl_unlink(3),
keyctl_search(3),
keyctl_read(3),
keyctl_instantiate(3),
keyctl_negate(3),
keyctl_set_reqkey_keyring(3),
keyctl_set_timeout(3),
keyctl_assume_authority(3),
keyctl_describe_alloc(3),
keyctl_read_alloc(3),
request-key(8)