Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       setxattr, lsetxattr, fsetxattr - Définir les attributs étendus

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/xattr.h>

       int setxattr(const char *chemin, const char *nom,
                     const void valeur[.taille], size_t taille, int flags);
       int lsetxattr(const char *chemin, const char *nom,
                     const void valeur[.taille], size_t taille, int flags);
       int fsetxattr(int descripteur, const char *nom,
                     const void valeur[.taille], size_t taille, int flags);

DESCRIPTION

       Les  attributs  étendus  sont  des  paires  nom:valeur  associées  aux  inœuds  (fichiers,
       répertoires, liens symboliques, etc.). Ce sont des extensions des  attributs  normaux  qui
       sont associés avec tous les inœuds du système (les informations renvoyées par stat(2). Une
       description complète des concepts d'attributs étendus est disponible dans xattr(7).

       setxattr() positionne la valeur de l'attribut étendu identifié par le nom et associé  avec
       le  chemin  dans le système de fichiers. Le paramètre taille indique la taille (en octets)
       de valeur ; une valeur de taille 0 est autorisée.

       lsetxattr()  est identique à setxattr(), sauf dans le cas  d'un  lien  symbolique,  où  il
       traite le lien lui-même et non le fichier qu'il vise.

       fsetxattr()   est  identique à setxattr(), seulement on écrit l'attribut du fichier ouvert
       indiqué par le descripteur (renvoyé par open(2)) plutôt que par un chemin.

       Le nom d'un attribut étendu est une simple chaîne terminée par un octet nul. Le nom inclut
       un préfixe d'espace de noms - il peut y avoir plusieurs espaces de noms disjoints associés
       avec un inœud donné. La valeur d'un attribut étendu est un bloc de données  littérales  ou
       binaires d'une longueur donnée.

       Par  défaut  (c'est-à-dire  quand  options  vaut  zéro),  l'attribut étendu sera créé s'il
       n'existe pas ou la valeur sera remplacée s'il existe déjà. Pour modifier ces  sémantiques,
       vous pouvez modifier une des valeurs suivantes dans options :

       XATTR_CREATE
              Effectuer une création pure, ce qui échoue si l'attribut nommé existe déjà.

       XATTR_REPLACE
              Effectuer  une  opération  de  remplacement pure, ce qui échoue si l'attribut nommé
              n'existe pas.

VALEUR RENVOYÉE

       S'ils réussissent, ces appels renvoient zéro. En cas d'échec, ils renvoient  -1  et  errno
       est positionné pour indiquer l'erreur.

ERREURS

       EDQUOT Les  limites  de  quota  de  disque  indiquaient un espace insuffisant pour stocker
              l'attribut étendu.

       EEXIST XATTR_CREATE a été indiqué et l'attribut existe déjà.

       ENODATA
              XATTR_CREATE a été indiqué et l'attribut n'existe pas.

       ENOSPC Il n'y a pas suffisamment d'espace pour stocker l'attribut étendu.

       ENOTSUP
              Le préfixe de l'espace de noms de pathname n'est pas valable.

       ENOTSUP
              Les attributs étendus ne sont pas pris en charge par le système de fichiers ou sont
              désactivés,

       EPERM  Le   fichier   est   indiqué   comme   immuable  ou  uniquement  complétable  (voir
              ioctl_iflags(2)).

       De plus, les erreurs documentées dans stat(2) peuvent aussi survenir.

       ERANGE La taille de nom ou de valeur dépasse une limite spécifique au système de fichiers.

VERSIONS

       Ces appels système sont disponibles depuis Linux 2.4 ; la glibc les prend en charge depuis
       la glibc 2.3.

STANDARDS

       Ces appels système sont spécifiques à Linux.

VOIR AUSSI

       getfattr(1),  setfattr(1),  getxattr(2),  listxattr(2),  open(2), removexattr(2), stat(2),
       symlink(7), xattr(7)

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot <david@tilapin.org> et Jean-Philippe MENGUAL
       <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.