Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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)