ACL_TO_TEXT(3)

NAME
acl_to_text - convert an ACL to text

LIBRARY
libc

SYNOPSIS
#include <sys/types.h>
#include <sys/acl.h>
char *
acl_to_text(acl_t acl, ssize_t *len_p);

DESCRIPTION
The acl_to_text() 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.

RETURN VALUES
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.

ERRORS
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:

[EINVAL]
    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.

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

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

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

AUTHORS
Michael Smith Robert N M Watson