Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > A


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


acltostr() — convert access control list (ACL) structure to string form (HFS File Systems only)


#include <acllib.h>

char *acltostr(int nentries, const struct acl_entry acl[], int form);

Obsolescent Interface

int acltostr_r( int nentries, const struct acl_entry acl[], int form, char *strbuf, int length);


To ensure continued conformance with emerging industry standards, features described in this manual entry are likely to change in a future release.


acltostr() converts an access control list from structure form to string representation. acltostr() takes a pointer to the first element of an array of ACL entries (acl), containing the indicated number (nentries) of valid entries (zero or more), and the output form desired (FORM_SHORT or FORM_LONG). It returns a pointer to a static string (overwritten by the next call), which is a symbolic representation of the ACL, ending in a null character. The output forms are described in acl(5). In long form, the string returned contains newline characters.

A user ID of ACL_NSUSER and a group ID of ACL_NSGROUP are both represented by %. As with the ls command (see ls(1)), if an entry contains any other user ID or group ID value not listed in /etc/passwd or /etc/group, acltostr() returns a string equivalent of the ID number instead.

Just as in routines that manage the /etc/passwd file, acltostr() truncates user and group names to eight characters.

Note: acltostr() is complementary in function to strtoacl().

Obsolescent Interface

acltostr_r() converts access control list (ACL) structure to string form.


If acltostr() succeeds, it returns a pointer to a null-terminated string. If nentries is zero or less, the string is of zero length. If nentries is greater than NACLENTRIES (defined in <sys/acl.h>), or if form is an invalid value, the call returns (char *) NULL .

If acltostr_r() succeeds, it returns 0. If it fails, it returns -1 and sets errno. If nentries is zero or less, the string is of zero length.



strbuf equals to NULL, or nentries is greater than NACLENTRIES (defined in <sys/acl.h>), or form is not one of the valid forms, or length of strbuf is too short.


length is less than or equal zero.


The following code fragment reads the ACL on file /users/ggd/test and prints its short-form representation.

#include <stdio.h> #include <acllib.h> int nentries; struct acl_entry acl [NACLENTRIES]; if ((nentries = getacl ("/users/ggd/test", NACLENTRIES, acl)) < 0) error (...); fputs (acltostr (nentries, acl, FORM_SHORT), stdout);


The value returned by acltostr() is a pointer into a buffer, the contents of which are overwritten by subsequent calls to acltostr() by the same thread.

acltostr_r() is an obsolescent interface supported only for compatibility with existing DCE applications. New multithreaded applications should use acltostr().


acltostr() is only supported on HFS file system on standard HP-UX operating system.


acltostr() was developed by HP.


/etc/passwd /etc/group

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.