привязать / отменить привязку ключа к / от связки ключей (link/unlink a key to/from a keyring)
Имя (Name)
keyctl_link, keyctl_unlink - link/unlink a key to/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 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.
Ошибки (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.
Ссылки (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),
keyrings(7), keyutils(7)