Sous-routine setea

Objectif

Définit une valeur d'attribut étendu.

Syntaxe

#include <sys/ea.h>

int setea(const char *path, const char *name,
        void *value, size_t size, int flags);
int fsetea(int filedes, const char *name,
        void *value, size_t size, int flags);
int lsetea(const char *path, const char *name,
        void *value, size_t size, int flags);

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.

Remarque: 0xF8 représente un caractère non imprimable.

La sous-routine setea définit la valeur de l'attribut étendu identifié par name et associé au chemin indiqué dans le système de fichiers. La taille de la valeur doit être indiquée. La sous-routine fsetea est identique à setea, sauf qu'elle utilise un descripteur de fichier à la place d'un chemin. La sous-routine lsetea est identique à setea, 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.

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.
value Pointeur vers la valeur d'un attribut. La valeur d'un attribut étendu est un flot d'octets opaque de longueur spécifiée.
Taille Longueur de la valeur.
filedes Un descripteur de fichier pour le fichier.
Flags Aucun n'est défini pour le moment.

Valeurs renvoyées

Si la sous-routine setea 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 d'accès en écriture au fichier de base ou des privilèges de liste de contrôle d'accès appropriés pour l'attribut nommé write.
EDQUOT En raison de l'application des quotas, l'espace restant est insuffisant pour stocker l'attribut étendu.
EFAULT Une adresse incorrecte a été transmise pour chemin, nomou valeur.
FORMAT électronique Le système de fichiers est capable de prendre en charge les EE, mais les EE sont désactivées.
EINVAL Aucun indicateur ne doit être spécifié.
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.
ENOSPC L'espace restant est insuffisant pour stocker l'attribut étendu.
ENOTSUP Les attributs étendus ne sont pas pris en charge par le système de fichiers.

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