aclx_gettypeinfo Subroutine

Purpose

Retrieves the ACL characteristics given to an ACL type.

Library

Security Library (libc.a)

Syntax

#include <sys/acl.h>

int aclx_gettypeinfo (Path, acl_type, buffer, buffer_sz)
char * Path;
acl_type_t   acl_type;
caddr_t  buffer;
size_t  * buffer_sz;

Description

The aclx_gettypeinfo subroutine helps obtain characteristics and capabilities of an ACL type on the file system. The buffer space provided by the caller is where the ACL type-related information is returned. If the length of this buffer is not enough to fit the characteristics for the ACL type requested, then aclx_gettypeinfo returns an error and sets the buffer_len field to the amount of buffer space needed.

Parameters

Item Description
Path Specifies the path name of the file.
acl_type ACL type for which the characteristics are sought.

The supported ACL types are ACLX and NFS4.

buffer Specifies the pointer to a buffer space, where the characteristics of acl_type for the file system is returned. The structure of data returned is ACL type-specific. Refer to the ACL type-specific documentation for more details.
buffer_sz Points to an area that specifies the length of the buffer buffer in which the characteristics of acl_type are returned by the file system. This is an input/output parameter. If the length of the buffer provided is not sufficient to store all the ACL type characteristic information, then the file system returns an error and indicates the length of the buffer required in this variable. The length is specified in number of bytes.

Return Values

On successful completion, the aclx_gettypeinfo subroutine returns a value of 0. Otherwise, -1 is returned and the errno global variable is set to indicate the error.

Error Codes

The aclx_gettypeinfo subroutine fails and the access control information for a file remains unchanged if one or more of the following is true:

Item Description
EACCES Search permission is denied on a component of the Path prefix.
EFAULT The Path parameter points to a location outside of the allocated address space of the process.
ELOOP Too many symbolic links were encountered in translating the Path parameter.
ENAMETOOLONG A component of the Path parameter exceeded 255 characters, or the entire Path parameter exceeded 1023 characters.
ENOENT A component of the Path does not exist or has the disallow truncation attribute (see the ulimit subroutine).
ENOENT The Path parameter was null.
ENOENT A symbolic link was named, but the file to which it refers does not exist.
ENOSPC Buffer space provided is not enough to store all the acl_type characteristics of the file system.
ENOTDIR A component of the Path prefix is not a directory.
ESTALE The process' root or current directory is located in a virtual file system that has been unmounted.

If Network File System (NFS) is installed on your system, the acl_gettypeinfo subroutine can also fail if the following condition is true:

Item Description
ETIMEDOUT The connection timed out.

Security

Auditing Events: None