aclx_gettypeinfo, Subroutine

Zweck

Ruft die ACL-Merkmale ab, die einem ACL-Typ zugeordnet sind

Bibliothek

Sicherheitsbibliothek (libc.a)

Syntax

#include <sys/acl.h>
int aclx_gettypeinfo (Path, acl_type, buffer, buffer_sz)
char * Path;
acl_type_t   acl_type;
caddr_t  buffer;
size_t  * buffer_sz;

Beschreibung

Die Subroutine aclx_gettypeinfo hilft beim Abrufen von Merkmalen und Funktionen eines ACL-Typs im Dateisystem. Der vom aufrufenden Programm bereitgestellte Pufferspeicher ist die Position, an der die Informationen zum ACL-Typ zurückgegeben werden. Wenn die Länge dieses Puffers nicht ausreicht, um die Merkmale für den angeforderten ACL-Typ zu passen, gibt aclx_gettypeinfo einen Fehler zurück und setzt das Feld buffer_len auf den erforderlichen Pufferspeicher.

Parameter

Element Beschreibung
Pfad Gibt den Pfadnamen der Datei an.
ACL-Typ ACL-Typ, für den die Merkmale gesucht werden.

Die unterstützten ACL-Typen sind ACLX und NFS4.

Puffer Gibt den Zeiger auf einen Pufferbereich an, in dem die Merkmale von acl_type für das Dateisystem zurückgegeben werden. Die Struktur der zurückgegebenen Daten ist vom ACL-Typ abhängig. Weitere Informationen finden Sie in der Dokumentation zum ACL-Typ.
puffer_sz Verweist auf einen Bereich, der die Länge des Puffers buffer angibt, in dem die Merkmale von acl_type vom Dateisystem zurückgegeben werden. Dies ist ein Ein-/Ausgabeparameter. Wenn die Länge des bereitgestellten Puffers nicht ausreicht, um alle Informationen zu den Merkmalen des ACL-Typs zu speichern, gibt das Dateisystem einen Fehler zurück und gibt die Länge des in dieser Variablen erforderlichen Puffers an. Die Länge wird in Byte angegeben.

Rückgabewerte

Nach erfolgreicher Beendigung gibt die Subroutine aclx_gettypeinfo den Wert 0 zurück. Andernfalls wird -1 zurückgegeben und die globale Variable errno wird gesetzt, um den Fehler anzuzeigen.

Fehlercodes

Die Subroutine aclx_gettypeinfo schlägt fehl und die Zugriffssteuerungsinformationen für eine Datei bleiben unverändert, wenn mindestens eine der folgenden Bedingungen zutrifft:

Element Beschreibung
EACCES Die Suchberechtigung für eine Komponente des Präfix Path wird verweigert.
EFAULT Der Parameter Pfad verweist auf eine Position außerhalb des zugeordneten Adressraums des Prozesses.
ELOOP Beim Umsetzen des Parameters Pfad wurden zu viele symbolische Links gefunden.
ENAMETOOLONG Eine Komponente des Parameters Pfad überschreitet 255 Zeichen oder der gesamte Parameter Pfad überschreitet 1023 Zeichen.
ENOENT Eine Komponente des Pfads ist nicht vorhanden oder hat das Attribut disallow truncation (siehe Subroutine ulimit ).
ENOENT Der Parameter Pfad war null.
ENOENT Eine symbolische Verbindung wurde benannt, aber die Datei, auf die sie verweist, ist nicht vorhanden.
ENOSPC Der bereitgestellte Pufferspeicher reicht nicht aus, um alle acl_type -Merkmale des Dateisystems zu speichern.
ENOTDIR Eine Komponente des Präfix Path ist kein Verzeichnis.
ESTALE Das Stammverzeichnis des Prozesses oder das aktuelle Verzeichnis befindet sich in einem virtuellen Dateisystem, das abgehängt wurde.

Wenn Network File System (NFS) auf Ihrem System installiert ist, kann die Subroutine acl_gettypeinfo auch fehlschlagen, wenn die folgende Bedingung zutrifft:

Element Beschreibung
ETIMEDOUT Das Zeitlimit für die Verbindung wurde überschritten.

Sicherheit

Prüfereignisse: keine