setxattr

SETXATTR(2)                Manuel du programmeur Linux               SETXATTR(2)



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

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

       int setxattr (const char *chemin, const char *nom,
                     const void *valeur, size_t taille, int options);
       int lsetxattr (const char *chemin, const char *nom,
                      const void *valeur, size_t taille, int options);
       int fsetxattr (int descripteur, const char *nom,
                      const void *valeur, size_t taille, int options);

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 attr(5).

       setxattr()  écrit la valeur dans l'attribut étendu identifié par le nom
       et associé avec le chemin dans le système de fichiers La taille de la
       valeur doit être indiqué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.

       Le paramètre option permet d'affiner la sémantique de l'opétation.
       XATTR_CREATE indique une création pure, avec un échec si l'attribut
       existe déjà. XATTR_REPLACE indique un remplacement, échouant si
       l'attribut n'existe pas. Par défaut (pas d'option), l'attribut sera créé
       s'il le faut, ou remplacé s'il existe déjà.

VALEUR RENVOYÉE
       S'ils réussissent, ces appels renvoient zéro. En cas d'échec, ils
       renvoient -1 et errno contient le code d'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à.

       ENOATTR
              XATTR_CREATE a été indiqué et l'attribut n'existe pas (ENOATTR est
              défini comme un synonyme de ENODATA dans <attr/xattr.h>).

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

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

       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.

VOIR AUSSI
       getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2),
       removexattr(2), stat(2), attr(5), symlink(7)

COLOPHON
       Cette page fait partie de la publication 3.70 du projet man-pages Linux.
       Une description du projet et des instructions pour signaler des anomalies
       peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone
       au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe Blaess <http://www.blaess.fr/christophe/> (2003-2008).

       Veuillez signaler toute erreur de traduction en écrivant à
       <perkamon-fr@traduc.org>.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en
       utilisant la commande « LC_ALL=C man <section> <page_de_man> ».



Linux                            6 février 2014                      SETXATTR(2)