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)

See Also

acl_free(3), acl_to_any_text(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_to_any_text(3).

March 23, 2002