keyctl_unlink (3)
Leading comments
Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. Written by David Howells (dhowells@redhat.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
NAME
keyctl_link - Link a key to a keyring keyctl_unlink - Unlink a key from a keyringSYNOPSIS
#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),
keyutils(7),
keyrings(7)