FreeBSD 4.6 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

acl_to_text - convert an ACL to text



      acl_to_text - convert an ACL to text


      library “libposix1e”


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


      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() shall be the POSIX.1e
      long ACL form.
      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.
      FreeBSD’s support for POSIX.1e interfaces and features is still under
      development at this time.
      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
      [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 mem‐
                         ory 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.  Discussion of the draft
      continues on the cross-platform POSIX.1e implementation mailing list.  To
      join this list, see the FreeBSD POSIX.1e implementation page for more


      POSIX.1e support was introduced in FreeBSD 4.0, and development contin‐


      Robert N M Watson


      These features are not yet fully implemented.  In particular, the shipped
      version of UFS/FFS does not support storage of additional security
      labels, and so is unable to (easily) provide support for most of these
      acl_from_text() and acl_to_text() rely on the getpwent(3) library calls
      to manage username and uid mapping, as well as the getgrent(3) library
      calls to manage groupname and gid mapping.  These calls are not thread
      safe, and so transitively, neither are acl_from_text() and acl_to_text().
      These functions may also interfere with stateful calls associated with
      the getpwent() and getgrent() calls.


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.