Man Linux: Main Page and Category List

NAME

       keyctl_link - Link a key to a keyring keyctl_unlink - Unlink a key from
       a keyring

SYNOPSIS

       #include <keyutils.h>

       long keyctl_link(key_serial_t key, key_serial_t keyring);

       long keyctl_unlink(key_serial_t key, key_serial_t keyring);

DESCRIPTION

       keyctl_link() creates a link from keyring to key, displacing  any  link
       to  another key of the same type and description in that keyring if one
       exists.

       keyctl_unlink() removes the link from keyring to key if it exists.

       The caller must have write permission on a keyring to be able create or
       remove links in it.

       The  caller  must  have link permission on a key to be able to create a
       link to it.

RETURN VALUE

       On success keyctl_link() and keyctl_unlink() return 0.  On  error,  the
       value  -1  will  be  returned  and  errno  will  have  been  set  to an
       appropriate error.

ERRORS

       ENOKEY The key or the keyring specified are invalid.

       EKEYEXPIRED
              The key or the keyring specified have expired.

       EKEYREVOKED
              The key or the keyring specified have been revoked.

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

       For keyctl_link() only:

       ENOMEM Insufficient memory to expand the keyring

       EDQUOT Expanding the keyring would exceed the keyring owner’s quota.

       EACCES The key exists, but is not linkable 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)