KEYCTL_UPDATE
Section: Linux Key Management Calls (3)
Updated: 4 May 2006
Index
Return to Main Contents
NAME
keyctl_update - Update a key
SYNOPSIS
#include <keyutils.h>
long keyctl_update(key_serial_t key, const char *payload,
size_t plen);
DESCRIPTION
keyctl_update()
updates the payload of a key if the key type permits it.
The caller must have
write
permission on a key to be able update it.
payload
and
plen
specify the data for the new payload.
payload
may be NULL and
plen
may be zero if the key type permits that. The key type may reject the data if
it's in the wrong format or in some other way invalid.
RETURN VALUE
On success
keyctl_update()
returns
0.
On error, the value
-1
will be returned and errno will have been set to an appropriate error.
ERRORS
- ENOKEY
-
The key specified is invalid.
- EKEYEXPIRED
-
The key specified has expired.
- EKEYREVOKED
-
The key specified had been revoked.
- EINVAL
-
The payload data was invalid.
- ENOMEM
-
Insufficient memory to store the new payload.
- EDQUOT
-
The key quota for this user would be exceeded by increasing the size of the
key to accommodate the new payload.
- EACCES
-
The key exists, but is not
writable
by the calling process.
- EOPNOTSUPP
-
The key type does not support the update operation on its keys.
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_get_keyring_ID(3),
keyctl_join_session_keyring(3),
keyctl_revoke(3),
keyctl_chown(3),
keyctl_setperm(3),
keyctl_describe(3),
keyctl_clear(3),
keyctl_link(3),
keyctl_unlink(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)