Point d'entrée vnop_getxacl

Objectif

Extrait la liste de contrôle d'accès (ACL) d'un fichier. Il s'agit d'une version avancée de l'interface Cnop_gétacl .

Syntaxe

#include <sys/acl.h> 
int vnop_getxacl (vp, ctl_flags, acl_type, uiop, acl_len, mode_info, crp) 

struct vnode   *vp; 
uint64_t       ctl_flags; 
acl_type_t     *acl_type; 
struct uio     *uiop; 
size_t         *acl_len; 
mode_t         *mode_info; 
struct ucred   *crp; 

Descriptif

Le point d'entrée Vnop_getxacl extrait la liste de contrôle d'accès (ACL) d'un objet de système de fichiers. Il s'agit d'une version avancée de l'interface Cnop_gétacl et fournit des opérations de type ACL. Notez que cette interface peut être utilisée pour obtenir les informations de type et de longueur de liste de contrôle d'accès, sans récupérer les données ACL (voir la description Indicateurs ctl_ pour plus de détails).

Paramètres

Article Descriptif
PV Indique le noeud virtuel (v-node) de l'objet système de fichiers.
Type_acl_ Pointe vers espace tampon pour les systèmes de fichiers pour renvoyer le type de liste de contrôle d'accès associé à l'objet système de fichiers. La valeur doit normalement être définie sur ACL_ANY ou 0 lorsque l'appel est effectué. Certains systèmes de fichiers physiques peuvent solliciter des demandes ACL pour un type de liste de contrôle d'accès particulier. Dans ce cas, l'appelant fournit le type de liste de contrôle d'accès demandé dans cette mémoire tampon.
Remarque: Ce dernier problème est spécifique à la mise en oeuvre du système de fichiers. Par exemple, lorsque des informations de liste de contrôle d'accès sont demandées avec un type de liste de contrôle d'accès d'entrée, un système de fichiers physiques peut renvoyer une erreur si la liste de contrôle d'accès existante associée à l'objet système de fichiers est d'un autre type de liste de contrôle d'accès. Ou bien, le système de fichiers peut émuler une liste de contrôle d'accès du type demandé et revenir.
Acl_len Pointeur vers une variable Longueur . L'espace indiqué est utilisé comme entrée, ainsi que la sortie, paramètre. Comme entrée, la valeur indique la taille de la mémoire tampon Uiop. Lorsque l'appel est renvoyé, cet espace contient la longueur réelle de la liste de contrôle d'accès (true pour lorsque l'appel aboutit ou lorsque l'appel échoue avec Errno défini sur ENOSPC).
Indicateurs ctl_ Masque de bits 64 bits qui fournit un contrôle sur l'extraction de l'ACL et pour toute variation future de l'interface. La valeur suivante est définie pour ces indicateurs:
GET_ACLINFO_ONLY
Extrait uniquement les informations de type ACL et de longueur à partir du système de fichiers sous-jacent. Lorsque ce bit est défini, les arguments tels que Info mode_de_données peuvent être définis sur NULL. Tous les autres cas doivent être des pointeurs de tampon valides ou une erreur est renvoyée. Si ce bit n'est pas spécifié, toutes les autres informations relatives à la liste de contrôle d'accès (telles que les données de l'ACL et les informations de mode) sont renvoyées.
Uiop Indique la structure Uio qui fournit l'espace pour le magasin de la liste de contrôle d'accès.
Info mode_de_données Cette valeur indique les informations de mot de mode qui doivent être extraites pour l'objet de système de fichiers dans le cadre de cette opération d'extraction de liste de contrôle d'accès.
Crp Pointe vers la structure Cred . Cette structure contient des données que le système de fichiers peut utiliser pour valider les droits d'accès.

Environnement d'exécution

Le point d'entrée Vnop_getxacl peut être appelé à partir de l'environnement de processus uniquement.

Valeurs renvoyées

Une fois l'exécution terminée, le point d'entrée Vnop_getxacl renvoie 0. Des valeurs de retour différentes de zéro sont renvoyées par le fichier /usr/include/sys/errno.h pour indiquer un échec.

Article Descriptif
ENOSPC Indique que la taille de la mémoire tampon spécifiée dans le paramètre Uiop n'était pas suffisante pour contenir la liste de contrôle d'accès.
Remarque: Cette liste de numéros d'erreur n'est pas complète et dépend de l'implémentation du système de fichiers physique particulier prenant en charge la liste de contrôle d'accès.