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:
|
| 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. |