Man Linux: Main Page and Category List

NAME

       keyctl_join_session_keyring - Join a different session keyring

SYNOPSIS

       #include <keyutils.h>

       key_serial_t keyctl_join_session_keyring(const char *name);

DESCRIPTION

       keyctl_join_session_keyring()  changes  the  session keyring to which a
       process is subscribed.

       If name is NULL then a new anonymous keyring will be created,  and  the
       process will be subscribed to that.

       If  name  points  to  a  string,  then  if  a  keyring  of that name is
       available, the process will  attempt  to  subscribe  to  that  keyring,
       giving  an  error  if that is not permitted; otherwise a new keyring of
       that name is created and attached as the session keyring.

       To attach to an extant named keyring,  the  keyring  must  have  search
       permission available to the calling process.

RETURN VALUE

       On  success  keyctl_join_session_keyring() returns the serial number of
       the key it found or created.  On error, the value -1 will  be  returned
       and errno will have been set to an appropriate error.

ERRORS

       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.

       EACCES The named keyring exists, but is not searchable by  the  calling
              process.

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),
       request-key(8)