Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       getxattr, lgetxattr, fgetxattr - Lire la valeur d'un attribut étendu

SYNOPSIS

       #include <sys/types.h>
       #include <sys/xattr.h>

       ssize_t getxattr (const char *chemin, const char *nom,
                         void *valeur, size_t taille);
       ssize_t lgetxattr (const char *chemin, const char *nom,
                          void *valeur, size_t taille);
       ssize_t fgetxattr (int descripteur, const char *nom,
                          void *valeur, size_t taille);

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).

       getxattr()  récupère la valeur de l'attribut étendu identifié par le  nom  et  associé  au
       chemin  donné  dans  le  système  de  fichiers. La valeur de l'attribut est placée dans le
       tampon vers lequel pointe valeur ; taille indique la taille du tampon. Le code  de  retour
       de l'appel est le nombre d'octets placés dans valeur.

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

       fgetxattr()  est identique à getxattr(), seulement c'est le fichier ouvert indiqué par  le
       descripteur (fourni par open(2))  qui est interrogé à la place du chemin.

       Un  attribut  étendu  nom est une chaîne qui se termine 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 arbitraires assignées en utilisant setxattr(2).

       Si taille est indiquée comme étant zéro,  ces  appels  renvoient  la  taille  actuelle  de
       l'attribut  étendu  nommé  (et  laissent  valeur  inchangée).  Cela peut être utilisé pour
       déterminer la taille du tampon à fournir dans un tampon subséquent (mais gardez à l'esprit
       qu'il  existe une possibilité que la valeur de l'attribut change entre les deux appels, il
       est donc nécessaire de vérifier l'état de retour du second appel).

VALEUR RENVOYÉE

       S'ils réussissent, ces appels renvoient un nombre positif correspondant à la taille de  la
       valeur  de l'attribut étendu (en octets). En cas d'échec, ils renvoient -1 et positionnent
       errno en fonction.

ERREURS

       E2BIG  La taille  de  la  valeur  de  l'attribut  est  supérieure  à  la  taille  maximale
              autorisée ;  l'attribut  ne  peut  pas  être  récupéré.  Cela  peut arriver sur des
              systèmes de fichiers qui gèrent de très  grandes  valeurs  d'attributs  comme,  par
              exemple, NFSv4.

       ENODATA
              L'attribut indiqué n'existe pas, ou le processus n'a pas accès à cet attribut.

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

       ERANGE La taille du tampon value est trop petite pour contenir le résultat.

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

VERSIONS

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

CONFORMITÉ

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

EXEMPLES

       Voir listxattr(2).

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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 ⟨⟩.