aclx_gettypeinfo, Subroutine
Zweck
Ruft die ACL-Merkmale ab, die einem ACL-Typ zugeordnet sind
Bibliothek
Sicherheitsbibliothek (libc.a)
Syntax
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