listxattr

Autres langues

Langue: fr

Version: 18 juillet 2003 (openSuse - 09/10/07)

Section: 2 (Appels système)

NOM

listxattr, llistxattr, flistxattr - Lister les noms des attributs étendus.

SYNOPSIS


#include <sys/types.h>

#include <attr/xattr.h>



ssize_t listxattr (const char *chemin,

                              char *liste, size_t taill);

ssize_t llistxattr (const char *chemin,

                              char *liste, size_t taille);

ssize_t flistxattr (int descripteur,

                              char *liste, size_t taille);

DESCRIPTION

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

listxattr récupère la liste des attributs étendus associé avec le chemin indiqué du système de fichier. La liste est l'ensemble des noms (terminés par NULL), l'un après l'autre. Les noms des attributs étendus auxquels le processus appelant n'a pas accès peuvent être omis dans la liste. La longueur de la liste de noms d'attributs est renvoyée.

llistxattr est identique à listxattr, sauf dans le cas d'un lien symbolique, où il renvoie la liste des noms des attributs associés au lien lui-même et non au fichier auquel il se réfère.

flistxattr est identique à listxattr, sauf que le fichier ouvert associé au descripteur (fourni par open(2)) est interrogé à la place du chemin.

Le nom d'un attribut étendu est une simple chaîne terminée par un caractère nul. Le nom inclut un préfixe d'espace de noms - il peut y avoir plusieurs espaces de noms disjoints associés avec un i-noeud donné.

Un buffer vide, de taille nulle peut être transmis à ses appels, pour qu'ils renvoient la taille actuelle de la liste des noms d''attributs étendus, pour estimer la taille de buffer nécessaire pour contenir la liste des noms.

EXEMPLES

La liste est noms est renvoyée sous forme de table de chaînes de caractères terminées par un caractère nul, sans ordre particuler, les noms des attributs étant séparés par un caractère NUL, ainsi :

user.name1\0system.name1\0user.name2\0

Les systèmes comme ext2, ext3, et XFS qui implémentent les ACLs POSIX en utilisant les attributs étendus peuvent renvoyer une liste comme celle-ci :

system.posix_acl_access\0system.posix_acl_default\0

VALEUR RENVOYÉE

S'ils réussissent, ces appels renvoient un nombre positif correspondant à la taille de la liste de noms d'attributs. En cas d'échec, ils renvoient -1 et remplissent errno avec un code d'erreur.

Si la taille du buffer pour la liste est trop petite pour contenir le résultat, errno sera rempli avec ERANGE.

Si les attributs étendus ne sont pas suportés par le système de fichiers ou le noyau errno contient ENOTSUP.

Les erreurs documentés pour l'appel-système stat(2) sont également applicables ici.

AUTEURS

Andreas Gruenbacher, <a.gruenbacher@computer.org> et l'équipe de développement SGI XFS, <linux-xfs@oss.sgi.com>. Envoyez les rapports de bogues et les commentaires (en anglais) à ces adresses. getfattr(1), setfattr(1), open(2), stat(2), getxattr(2), setxattr(2), removexattr(2), attr(5).

TRADUCTION

Christophe Blaess, 2003