acl_get_fd — get an ACL by file descriptor

Library

Linux Access Control Lists library (libacl, -lacl).

Synopsis

#include <sys/types.h>
#include <sys/acl.h>

acl_t
acl_get_fd(int fd);

Description

The acl_get_fd() function retrieves the access ACL associated with the file referred to by fd. The ACL is placed into working storage and acl_get_fd() returns a pointer to that storage.

In order to read an ACL from an object, a process must have read access to the object's attributes.

This function may cause memory to be allocated. The caller should free any releasable memory, when the new ACL is no longer required, by calling acl_free(3) with the (void*)acl_t returned by acl_get_fd() as an argument.

Return Value

On success, this function shall return a pointer to the working storage. On error, a value of (acl_t)NULL shall be returned, and errno is set appropriately.

Errors

If any of the following conditions occur, the acl_get_fd() function returns a value of (acl_t)NULL and sets errno to the corresponding value:

[EBADF]

The fd argument is not a valid file descriptor.

[ENOMEM]

The ACL working storage requires more memory than is allowed by the hardware or system-imposed memory management constraints.

[ENOTSUP]

The file system on which the file identified by fd is located does not support ACLs, or ACLs are disabled.

Standards

IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)

See Also

acl_free(3), acl_get_entry(3), acl_get_file(3), acl_set_fd(3), acl(5)

Author

Derived from the FreeBSD manual pages written by Robert N M Watson ⟨rwatson@FreeBSD.org⟩, and adapted for Linux by Andreas Gruenbacher ⟨a.gruenbacher@bestbits.at⟩.

Referenced By

acl(5), acl_extended_fd(3), acl_get_file(3).

March 23, 2002