.\" .\" 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. .\" .TH KEYCTL_UPDATE 3 "4 May 2006" Linux "Linux Key Management Calls" .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH NAME keyctl_update \- Update a key .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH SYNOPSIS .nf .B #include .sp .BI "long keyctl_update(key_serial_t " key ", const void *" payload , .BI "size_t " plen ");" .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH DESCRIPTION .BR keyctl_update () updates the payload of a key if the key type permits it. .P The caller must have .B write permission on a key to be able update it. .P .I payload and .I plen specify the data for the new payload. .I payload may be NULL and .I 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. .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH RETURN VALUE On success .BR keyctl_update () returns .BR 0 . On error, the value .B -1 will be returned and errno will have been set to an appropriate error. .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH ERRORS .TP .B ENOKEY The key specified is invalid. .TP .B EKEYEXPIRED The key specified has expired. .TP .B EKEYREVOKED The key specified had been revoked. .TP .B EINVAL The payload data was invalid. .TP .B ENOMEM Insufficient memory to store the new payload. .TP .B EDQUOT The key quota for this user would be exceeded by increasing the size of the key to accommodate the new payload. .TP .B EACCES The key exists, but is not .B writable by the calling process. .TP .B EOPNOTSUPP The key type does not support the update operation on its keys. .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH LINKING This is a library function that can be found in .IR libkeyutils . When linking, .B -lkeyutils should be specified to the linker. .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SH SEE ALSO .BR keyctl (1), .br .BR add_key (2), .br .BR keyctl (2), .br .BR request_key (2), .br .BR keyctl (3), .br .BR keyutils (7), .br .BR keyrings (7)