keyctl_link3
Link/unlink a key to/from a keyring
Usage
#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);
Overview
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 to 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 |
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 |
Linking
This is a library function that can be found in libkeyutils. When linking, -lkeyutils should be specified to the linker.
Releases
11 releases since Debian 4.0 (Etch); the text changed 4 times.