dwww Home | Manual pages | Find package

setxattr(2)                   System Calls Manual                  setxattr(2)

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  exten-
       sions  des  attributs normaux qui sont associés avec tous les inœuds du
       système (les informations renvoyées par stat(2). Une  description  com-
       plè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)) plu-
       tô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  plu-
       sieurs  espaces  de noms disjoints associés avec un inœud donné. La va-
       leur 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 va-
       leurs 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  ren-
       voient -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  prise  en
       charge de la glibc est fournie 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), remo-
       vexattr(2), stat(2), symlink(7), xattr(7)

TRADUCTION
       La traduction française de cette page de manuel a été créée par  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.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.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.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⟩.

Pages du manuel de Linux 6.03   4 décembre 2022                    setxattr(2)

Generated by dwww version 1.15 on Sat Jun 29 01:41:28 CEST 2024.