Sous-routine statea
Objectif
Fournit des informations sur un attribut étendu.
Syntaxe
#include <sys/ea.h>
int statea(const char *path, const char *name, struct stat64x *buffer)
int fstatea(int filedes, const char *name, struct stat64x *buffer)
int lstatea(const char *path, const char *name, struct stat64x *buffer)
Descriptif
Les attributs étendus sont des paires nom-valeur associées aux objets du système de fichiers (tels que des fichiers, des répertoires et des liens symboliques). Il s'agit d'extensions des attributs normaux associés à tous les objets du système de fichiers (c'est-à-dire les données stat (2) ).
Ne définissez pas de nom d'attribut étendu avec le préfixe à 8 caractères "(0xF8) SYSTEM (0xF8)". Le préfixe "(0xF8) SYSTEM (0xF8)" est réservé au système uniquement.
La sous-routine statea obtient des informations sur le nom d'attribut étendu name associé à l'objet de système de fichiers spécifié par path. La sous-routine fstatea est identique à statea, sauf qu'elle utilise un descripteur de fichier au lieu d'un chemin. La sous-routine lstatea est identique à statea, sauf que dans le cas d'un lien symbolique, le lien lui-même est interrogé plutôt que le fichier auquel il fait référence.
La sous-routine statea utilise une structure stat64x pour renvoyer les informations. Notez que toutes les valeurs de cette structure sont 64 bits, y compris les unités et la taille. Une struct stat normale ne peut pas être transmise à statea. Pour plus d'informations, voir stat, fstat, lstat, statx, fstatx, statxat, fstatat, fullstat, ffullstat, stat64, fstat64, lstat64, stat64x, fstat64x, lstat64xou stat64xat Sous-routine.
Paramètres
| Article | Descriptif |
|---|---|
| path | Nom de chemin du fichier. |
| nom | Nom de l'attribut étendu. Un nom d'attribut étendu est une chaîne à terminaison NULL. |
| zone tampon | Pointeur vers la structure de statistiques dans laquelle les informations sont renvoyées. |
| filedes | Un descripteur de fichier pour le fichier. |
Valeurs renvoyées
Si la sous-routine statea aboutit, la valeur 0 est renvoyée. En cas d'échec, -1 est renvoyé et errno est défini en conséquence.
Codes d'erreur
| Article | Descriptif |
|---|---|
| EACCES | L'appelant ne dispose pas des droits de lecture sur le fichier de base ou des privilèges de liste de contrôle d'accès appropriés pour l'attribut nommé lookup. |
| EFAULT | Une adresse incorrecte a été transmise pour path, nameou buffer. |
| FORMAT électronique | Le système de fichiers est capable de prendre en charge les EE, mais les EE sont désactivées. |
| EINVAL | Un nom de type chemin ne doit pas être utilisé (tel que zml / file, . et ..). |
| ENAMETOOLONG | La valeur path ou name est trop longue. |
| ENATTR | Aucun attribut nommé name n'est présent. |
| ENOTSUP | Les attributs étendus ne sont pas pris en charge par le système de fichiers. |