jpayne@68: .\" jpayne@68: .\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. jpayne@68: .\" Written by David Howells (dhowells@redhat.com) jpayne@68: .\" jpayne@68: .\" This program is free software; you can redistribute it and/or jpayne@68: .\" modify it under the terms of the GNU General Public License jpayne@68: .\" as published by the Free Software Foundation; either version jpayne@68: .\" 2 of the License, or (at your option) any later version. jpayne@68: .\" jpayne@68: .TH KEYCTL_UPDATE 3 "4 May 2006" Linux "Linux Key Management Calls" jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH NAME jpayne@68: keyctl_update \- update a key jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH SYNOPSIS jpayne@68: .nf jpayne@68: .B #include jpayne@68: .sp jpayne@68: .BI "long keyctl_update(key_serial_t " key ", const void *" payload , jpayne@68: .BI "size_t " plen ");" jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH DESCRIPTION jpayne@68: .BR keyctl_update () jpayne@68: updates the payload of a key if the key type permits it. jpayne@68: .P jpayne@68: The caller must have jpayne@68: .B write jpayne@68: permission on a key to be able update it. jpayne@68: .P jpayne@68: .I payload jpayne@68: and jpayne@68: .I plen jpayne@68: specify the data for the new payload. jpayne@68: .I payload jpayne@68: may be NULL and jpayne@68: .I plen jpayne@68: may be zero if the key type permits that. The key type may reject the data if jpayne@68: it's in the wrong format or in some other way invalid. jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH RETURN VALUE jpayne@68: On success jpayne@68: .BR keyctl_update () jpayne@68: returns jpayne@68: .BR 0 . jpayne@68: On error, the value jpayne@68: .B -1 jpayne@68: will be returned and jpayne@68: .I errno jpayne@68: will have been set to an appropriate error. jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH ERRORS jpayne@68: .TP jpayne@68: .B ENOKEY jpayne@68: The key specified is invalid. jpayne@68: .TP jpayne@68: .B EKEYEXPIRED jpayne@68: The key specified has expired. jpayne@68: .TP jpayne@68: .B EKEYREVOKED jpayne@68: The key specified had been revoked. jpayne@68: .TP jpayne@68: .B EINVAL jpayne@68: The payload data was invalid. jpayne@68: .TP jpayne@68: .B ENOMEM jpayne@68: Insufficient memory to store the new payload. jpayne@68: .TP jpayne@68: .B EDQUOT jpayne@68: The key quota for this user would be exceeded by increasing the size of the jpayne@68: key to accommodate the new payload. jpayne@68: .TP jpayne@68: .B EACCES jpayne@68: The key exists, but is not jpayne@68: .B writable jpayne@68: by the calling process. jpayne@68: .TP jpayne@68: .B EOPNOTSUPP jpayne@68: The key type does not support the update operation on its keys. jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH LINKING jpayne@68: This is a library function that can be found in jpayne@68: .IR libkeyutils . jpayne@68: When linking, jpayne@68: .B \-lkeyutils jpayne@68: should be specified to the linker. jpayne@68: .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" jpayne@68: .SH SEE ALSO jpayne@68: .ad l jpayne@68: .nh jpayne@68: .BR keyctl (1), jpayne@68: .BR add_key (2), jpayne@68: .BR keyctl (2), jpayne@68: .BR request_key (2), jpayne@68: .BR keyctl (3), jpayne@68: .BR keyrings (7), jpayne@68: .BR keyutils (7)