setxattr(2) System Calls Manual setxattr(2) NOM setxattr, lsetxattr, fsetxattr - Definir les attributs etendus BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include 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 etendus sont des paires nom:valeur associees aux inoeuds (fichiers, repertoires, liens symboliques, etc.). Ce sont des extensions des attributs normaux qui sont associes avec tous les inoeuds du systeme (les informations renvoyees par stat(2). Une description complete des concepts d'attributs etendus est disponible dans xattr(7). setxattr() positionne la valeur de l'attribut etendu identifie par le nom et associe avec le chemin dans le systeme de fichiers. Le parametre taille indique la taille (en octets) de valeur ; une valeur de taille 0 est autorisee. lsetxattr() est identique a setxattr(), sauf dans le cas d'un lien symbolique, ou il traite le lien lui-meme et non le fichier qu'il vise. fsetxattr() est identique a setxattr(), seulement on ecrit l'attribut du fichier ouvert indique par le descripteur (renvoye par open(2)) plutot que par un chemin. Le nom d'un attribut etendu est une simple chaine terminee par un octet nul. Le nom inclut un prefixe d'espace de noms - il peut y avoir plusieurs espaces de noms disjoints associes avec un inoeud donne. La valeur d'un attribut etendu est un bloc de donnees litterales ou binaires d'une longueur donnee. Par defaut (c'est-a-dire quand options vaut zero), l'attribut etendu sera cree s'il n'existe pas ou la valeur sera remplacee s'il existe deja. Pour modifier ces semantiques, vous pouvez modifier une des valeurs suivantes dans options : XATTR_CREATE Effectuer une creation pure, ce qui echoue si l'attribut nomme existe deja. XATTR_REPLACE Effectuer une operation de remplacement pure, ce qui echoue si l'attribut nomme n'existe pas. VALEUR RENVOYEE S'ils reussissent, ces appels renvoient zero. En cas d'echec, ils renvoient -1 et errno est positionne pour indiquer l'erreur. ERREURS EDQUOT Les limites de quota de disque indiquaient un espace insuffisant pour stocker l'attribut etendu. EEXIST XATTR_CREATE a ete indique et l'attribut existe deja. ENODATA XATTR_CREATE a ete indique et l'attribut n'existe pas. ENOSPC Il n'y a pas suffisamment d'espace pour stocker l'attribut etendu. ENOTSUP Le prefixe de l'espace de noms de pathname n'est pas valable. ENOTSUP Les attributs etendus ne sont pas pris en charge par le systeme de fichiers ou sont desactives, EPERM Le fichier est indique comme immuable ou uniquement completable (voir ioctl_iflags(2)). De plus, les erreurs documentees dans stat(2) peuvent aussi survenir. ERANGE La taille de nom ou de valeur depasse une limite specifique au systeme de fichiers. STANDARDS Linux. HISTORIQUE Linux 2.4, glibc 2.3. VOIR AUSSI getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), removexattr(2), stat(2), symlink(7), xattr(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 setxattr(2)