ACL_TO_TEXT(3) Library Functions Manual ACL_TO_TEXT(3)

acl_to_textconvert an ACL to text

Standard C Library (libc, -lc)

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

char *
acl_to_text(acl_t acl, ssize_t *len_p);

The () function translates the ACL pointed to by argument acl into a NULL terminated character string. If the pointer len_p is not NULL, then the function shall return the length of the string (not including the NULL terminator) in the location pointed to by len_p. The format of the text string returned by acl_to_text() for an ACL of type ACL_TYPE_EXTENDED differs from that specified by the POSIX.1e standard, and this function cannot translate between formats.

This function allocates any memory necessary to contain the string and returns a pointer to the string. The caller should free any releasable memory, when the new string is no longer required, by calling acl_free(3) with the (void*)char as an argument.

Upon successful completion, the function shall return a pointer to the long text form of an ACL. Otherwise, a value of (char*)NULL shall be returned and errno shall be set to indicate the error.

If any of the following conditions occur, the acl_to_text() function shall return a value of (acl_t)NULL and set errno to the corresponding value:

[]
Argument acl does not point to a valid ACL.

The ACL denoted by acl contains one or more improperly formed ACL entries, or for some other reason cannot be translated into a text form of an ACL.

[]
The character string to be returned requires more memory than is allowed by the hardware or software-imposed memory management constraints.

acl(3), acl_free(3), acl_from_text(3), posix1e(3)

POSIX.1e is described in IEEE POSIX.1e draft 17.

Michael Smith
Robert N M Watson

January 28, 2000 macOS 14.6