ACL\_GET\_FD(3) Library Functions Manual ACL\_GET\_FD(3)

# [NAME](#NAME)

`acl_get_fd` — get an ACL by file descriptor

# [LIBRARY](#LIBRARY)

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

# [SYNOPSIS](#SYNOPSIS)

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

`acl_t`  
`acl_get_fd`(`int fd`);

# [DESCRIPTION](#DESCRIPTION)

The [`acl_get_fd`](#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)](/man/os/acl/acl_free.3) with the `(void*)acl_t` returned by [`acl_get_fd`](#acl_get_fd~2)() as an argument.

# [RETURN VALUE](#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](#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`](#EBADF)]

The `fd` argument is not a valid file descriptor.

\[[`ENOMEM`](#ENOMEM)]

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

\[[`ENOTSUP`](#ENOTSUP)]

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

# [STANDARDS](#STANDARDS)

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

# [SEE ALSO](#SEE_ALSO)

[acl\_free(3)](/man/os/acl/acl_free.3), [acl\_get\_entry(3)](/man/os/acl/acl_get_entry.3), [acl\_get\_file(3)](/man/os/acl/acl_get_file.3), [acl\_set\_fd(3)](/man/os/acl/acl_set_fd.3), [acl(5)](/man/os/acl/acl.5)

# [AUTHOR](#AUTHOR)

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

March 23, 2002 Linux ACL

---

Document: acl_get_fd(3) from acl 2.4.0-r3 (Chainguard OS)
Source: https://git.savannah.nongnu.org/git/acl.git
