108 lines
2.7 KiB
Plaintext
108 lines
2.7 KiB
Plaintext
.\"
|
|
.\" 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_LINK 3 "4 May 2006" Linux "Linux Key Management Calls"
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH NAME
|
|
keyctl_link, keyctl_unlink \- link/unlink a key to/from a keyring
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <keyutils.h>
|
|
.sp
|
|
.BI "long keyctl_link(key_serial_t " key ", key_serial_t " keyring ");"
|
|
.sp
|
|
.BI "long keyctl_unlink(key_serial_t " key ", key_serial_t " keyring ");"
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH DESCRIPTION
|
|
.BR keyctl_link ()
|
|
creates a link from
|
|
.I keyring
|
|
to
|
|
.IR key ,
|
|
displacing any link to another key of the same type and description in that
|
|
keyring if one exists.
|
|
.P
|
|
.BR keyctl_unlink ()
|
|
removes the link from
|
|
.I keyring
|
|
to
|
|
.I key
|
|
if it exists.
|
|
.P
|
|
The caller must have
|
|
.B write
|
|
permission on a keyring to be able to create or remove links in it.
|
|
.P
|
|
The caller must have
|
|
.B link
|
|
permission on a key to be able to create a link to it.
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH RETURN VALUE
|
|
On success
|
|
.BR keyctl_link ()
|
|
and
|
|
.BR keyctl_unlink ()
|
|
return
|
|
.BR 0 .
|
|
On error, the value
|
|
.B -1
|
|
will be returned and
|
|
.I errno
|
|
will have been set to an appropriate error.
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH ERRORS
|
|
.TP
|
|
.B ENOKEY
|
|
The key or the keyring specified are invalid.
|
|
.TP
|
|
.B EKEYEXPIRED
|
|
The key or the keyring specified have expired.
|
|
.TP
|
|
.B EKEYREVOKED
|
|
The key or the keyring specified have been revoked.
|
|
.TP
|
|
.B EACCES
|
|
The keyring exists, but is not
|
|
.B writable
|
|
by the calling process.
|
|
.P
|
|
For
|
|
.BR keyctl_link ()
|
|
only:
|
|
.TP
|
|
.B ENOMEM
|
|
Insufficient memory to expand the keyring
|
|
.TP
|
|
.B EDQUOT
|
|
Expanding the keyring would exceed the keyring owner's quota.
|
|
.TP
|
|
.B EACCES
|
|
The key exists, but is not
|
|
.B linkable
|
|
by the calling process.
|
|
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.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
|
|
.ad l
|
|
.nh
|
|
.BR keyctl (1),
|
|
.BR add_key (2),
|
|
.BR keyctl (2),
|
|
.BR request_key (2),
|
|
.BR keyctl (3),
|
|
.BR keyrings (7),
|
|
.BR keyutils (7)
|