Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getacl(2)

setacl(2)

cpacl(3C)

chownacl(3C)

setaclentry(3C)

strtoacl(3C)

acl(5)

acltostr(3C)

NAME

acltostr() − convert access control list (ACL) structure to string form

SYNOPSIS

#include <acllib.h>

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

Remarks:

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

DESCRIPTION

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(). 

RETURN VALUE

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. 

EXAMPLES

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);

AUTHOR

acltostr() was developed by HP. 

FILES

/etc/passwd
/etc/group

SEE ALSO

getacl(2), setacl(2), cpacl(3C), chownacl(3C), setaclentry(3C), strtoacl(3C), acl(5). 

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026