LISTXATTR
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
EXEMPLES
VALEUR RENVOYÉE
AUTEURS
TRADUCTION
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
TRADUCTION
Christophe Blaess, 2003
|