# KEYCTL_SET_REQKEY_KEYRING

## NAME



           KEYCTL_SET_REQKEY_KEYRING - set the implicit destination keyring
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/keyctl.h>  **/* Definition of **KEY*** constants */
           **#include <sys/syscall.h>   **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **long syscall(SYS_keyctl, KEYCTL_SET_REQKEY_KEYRING, int** _op_**);**
    


## DESCRIPTION



           Set the default keyring to which implicitly requested keys will be
           linked for this thread, and return the previous setting.  Implicit
           key requests are those made by internal kernel components, such as
           can occur when, for example, opening files on an AFS or NFS
           filesystem.  Setting the default keyring also has an effect when
           requesting a key from user space; see request_key(2) for details.
    
           The _op_ argument should contain one of the following values, to
           specify the new default keyring:
    
           **KEY_REQKEY_DEFL_NO_CHANGE**
                  Don't change the default keyring.  This can be used to
                  discover the current default keyring (without changing it).
    
           **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, otherwise the user-specific keyring.
    
           **KEY_REQKEY_DEFL_THREAD_KEYRING**
                  Use the thread-specific keyring (thread-keyring(7)) as the
                  new default keyring.
    
           **KEY_REQKEY_DEFL_PROCESS_KEYRING**
                  Use the process-specific keyring (process-keyring(7)) as
                  the new default keyring.
    
           **KEY_REQKEY_DEFL_SESSION_KEYRING**
                  Use the session-specific keyring (session-keyring(7)) as
                  the new default keyring.
    
           **KEY_REQKEY_DEFL_USER_KEYRING**
                  Use the UID-specific keyring (user-keyring(7)) as the new
                  default keyring.
    
           **KEY_REQKEY_DEFL_USER_SESSION_KEYRING**
                  Use the UID-specific session keyring
                  (user-session-keyring(7)) as the new default keyring.
    
           **KEY_REQKEY_DEFL_REQUESTOR_KEYRING**(since Linux 2.6.29)
                  Use the requestor keyring.
    
           All other values are invalid.
    
           The setting controlled by this operation is inherited by the child
           of fork(2) and preserved across execve(2).
    


## RETURN VALUE



           On success, the ID of the previous default keyring to which
           implicitly requested keys were linked (one of
           **KEY_REQKEY_DEFL_USER_***).
    
           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## VERSIONS



           A wrapper is provided in the _libkeyutils_ library:
           keyctl_set_reqkey_keyring(3)
    


## STANDARDS



           Linux.
    


* * *