acl_to_text — convert an ACL to text
Library
Linux Access Control Lists library (libacl, -lacl).
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 the argument acl into a NULL terminated character string. If the pointer len_p is not NULL, then the function returns 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() is the long text form defined in acl(5). The ACL referred to by acl is not changed.
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 returned by acl_to_text() as an argument.
Return Value
On success, this function returns a pointer to the long text form of the ACL. On error, a value of (char *)NULL is returned, and errno is set appropriately.
Errors
If any of the following conditions occur, the acl_to_text() function returns a value of (char *)NULL and sets errno to the corresponding value:
- [
EINVAL] -
The argument acl is not a valid pointer to an ACL.
The ACL referenced 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 system-imposed memory management constraints.
Standards
IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)