KEYCTL_SET_REQKEY_KEYRING
Section: Linux Key Management Calls (3)
Updated: 4 May 2006
Page Index
NAME
keyctl_set_reqkey_keyring - set the implicit destination keyring
SYNOPSIS
#include <keyutils.h>
long keyctl_set_reqkey_keyring(int reqkey_defl);
DESCRIPTION
keyctl_set_reqkey_keyring()
sets the default destination for implicit key requests for the current thread
and returns the old setting.
After this operation has been issued, keys acquired by implicit key requests,
such as might be performed by
open()
on an AFS or NFS filesystem, will be
linked by default to the specified keyring by this function.
The valid values of
reqkey_defl
are:
- KEY_REQKEY_DEFL_NO_CHANGE
-
This makes no change to the current setting.
- KEY_REQKEY_DEFL_THREAD_KEYRING
-
This makes the thread-specific keyring the default destination.
- KEY_REQKEY_DEFL_PROCESS_KEYRING
-
This makes the process-specific keyring the default destination.
- KEY_REQKEY_DEFL_SESSION_KEYRING
-
This makes the session keyring the default destination.
- KEY_REQKEY_DEFL_USER_KEYRING
-
This makes the UID-specific keyring the default destination.
- KEY_REQKEY_DEFL_USER_SESSION_KEYRING
-
This makes the UID-specific session keyring the default destination.
- KEY_REQKEY_DEFL_DEFAULT
-
This selects the default behaviour which is to use the thread-specific keyring
if there is one, otherwise the process-specific keyring if there is one,
otherwise the session keyring if there is one, otherwise the UID-specific
session keyring.
This setting is inherited across
fork()
and
exec().
RETURN VALUE
On success
keyctl_set_reqkey_keyring()
returns
0.
On error, the value
-1
will be returned and
errno
will have been set to an appropriate error.
ERRORS
- EINVAL
-
The value of
reqkey_defl
is invalid.
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),
keyutils(7),
keyrings(7),
request-key(8)