Provided by: libkeyutils-dev_1.6.3-2_amd64 bug

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  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 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)