Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
add_key - Ajouter une cle au gestionnaire des cles du noyau
SYNOPSIS
#include <keyutils.h>
key_serial_t add_key(const char *type, const char *description,
const void *payload, size_t plen, key_serial_t keyring);
DESCRIPTION
add_key() demande au noyau de creer ou de mettre a jour une cle ayant
un type et une description donnes, de l'instancier avec une charge
utile (payload) de longueur plen, de l'attacher au trousseau (keyring)
specifie, et de renvoyer son numero de serie.
Le type de cle peut rejeter les donnees s'il est dans un mauvais format
ou s'il est invalide de toute autre facon.
Si le trousseau (keyring) contient deja une cle avec ce type et cette
description, alors, si le type de la cle le permet, cette cle sera mise
a jour au lieu de creer une nouvelle cle. Dans le cas contraire, une
nouvelle cle sera creee, et le trousseau sera mis a jour pour remplacer
le lien vers l'ancienne cle par un lien vers la nouvelle.
Le numero de serie du trousseau de destination peut etre celui d'un
trousseau deja existant, ou peut etre l'identifiant d'un trousseau
special :
KEY_SPEC_THREAD_KEYRING
Pour indiquer le trousseau specifique au processus leger
(thread) de l'appelant.
KEY_SPEC_PROCESS_KEYRING
Pour indiquer le trousseau specifique au processus de
l'appelant.
KEY_SPEC_SESSION_KEYRING
Pour indiquer le trousseau specifique a la session de
l'appelant.
KEY_SPEC_USER_KEYRING
Pour indiquer le trousseau specifique a l'UID de l'appelant.
KEY_SPEC_USER_SESSION_KEYRING
Pour indiquer le trousseau specifique a la session de l'UID de
l'appelant.
TYPES DE CL'ES
Un certain nombre de types de cles sont disponibles dans le code de
base du gestionnaire des cles, et ils peuvent etre utilises dans cette
fonction :
user Les cles de type user peuvent contenir des donnees quelconques,
et la description peut etre n'importe quelle chaine valide, bien
qu'il soit preferable de prefixer la description avec une chaine
representant le service pour lequel la cle est utilisee, suivi
du caractere deux-points (par exemple << afs:ma-cle >>). Pour
des cles de ce type, l'argument payload peut etre vide ou NULL.
keyring
Les trousseaux (keyring) sont des types de cle speciaux qui
peuvent contenir des liens vers des sequences d'autres cles de
tout type. Si cette interface est utilisee pour creer un
trousseau, alors l'argument payload doit valoir NULL, et plen
doit etre nul.
VALEUR RENVOY'EE
En cas de succes, add_key() renvoie le numero de serie de la cle creee
ou mise a jour. En cas d'erreur, la valeur -1 est renvoyee et errno
contient un code d'erreur approprie.
ERREURS
ENOKEY Le trousseau n'existe pas.
EKEYEXPIRED
Le trousseau a expire.
EKEYREVOKED
Le trousseau a ete revoque.
EINVAL La charge utile (payload) est invalide.
ENOMEM Il n'y a pas assez de memoire pour creer une cle.
EDQUOT Le quota de cles de cet utilisateur serait depasse si la cle
etait creee ou ajoutee au trousseau.
EACCES Le trousseau n'etait pas disponible pour pouvoir etre modifie
par l'utilisateur.
'EDITION DE LIENS
Bien qu'il s'agisse d'un appel systeme Linux, cette fonction n'est pas
presente dans libc, mais peut etre trouvee dans libkeyutils. L'edition
des liens doit etre etre effectuee avec l'option -lkeyutils.
VOIR AUSSI
keyctl(1), keyctl(2), request_key(2)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Denis Barbier (2010).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
Linux 25 fevrier 2010 ADD_KEY(2)