GNU/Linux |
CentOS 5.2 |
|
![]() |
keyctl_link(3) |
![]() |
keyctl_link − Link a key to a keyring keyctl_unlink − Unlink a key from a keyring
#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);
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.
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.
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. |
This is a library function that can be found in libkeyutils. When linking, -lkeyutils should be specified to the linker.
keyctl(1),
add_key(2),
keyctl(2),
request_key(2),
keyctl_get_keyring_ID(3),
keyctl_join_session_keyring(3),
keyctl_update(3),
keyctl_revoke(3),
keyctl_chown(3),
keyctl_setperm(3),
keyctl_describe(3),
keyctl_clear(3),
keyctl_search(3),
keyctl_read(3),
keyctl_instantiate(3),
keyctl_negate(3),
keyctl_set_reqkey_keyring(3),
keyctl_set_timeout(3),
keyctl_assume_authority(3),
keyctl_describe_alloc(3),
keyctl_read_alloc(3),
request-key(8)
![]() |
keyctl_link(3) | ![]() |