KEYCTL_GET_KEYRING_ID(3) Linux Key Management Calls KEYCTL_GET_KEYRING_ID(3)
NAME
keyctl_get_keyring_ID - get the ID of a special keyring
SYNOPSIS
#include <keyutils.h>
key_serial_t keyctl_get_keyring_ID(key_serial_t key,
int create);
DESCRIPTION
keyctl_get_keyring_ID() maps a special key or keyring ID to the serial
number of the key actually representing that feature. The serial num-
ber 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 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 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 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 libkeyutils. When
linking, -lkeyutils should be specified to the linker.
SEE ALSO
keyctl(1), add_key(2), keyctl(2), request_key(2), keyctl(3),
keyrings(7), keyutils(7)
Linux 4 May 2006 KEYCTL_GET_KEYRING_ID(3)