User Guide
2-4 Preliminary Draft Ampex 1308904-X4
Model No.
Running Head
libacl API Overview ACL Application Programmer’s Guide
2.4.2 Function Return Values
Each libacl function returns an integer value. The meaning of any non-negative return value
is specific to the call. A return value of -1 indicates that the libacl function encountered an
error during processing and that the ACL device driver has set the external variable
errno to
indicate the type of error that occurred. In other words, a call returns -1 on failure.
For convenience, the
acl.h header file defines the symbolic constant DST_SUCCESS to
indicate a success return value (0) and the symbolic constant
DST_FAILURE to indicate a
failure return value (-1).
2.4.3 Errors
The ACL device driver uses the external variable errno to provide information about the
most recent system call error. Because the system does not reset the
errno variable on
successful system calls, your program should test
errno only if the call fails (returns -1).
The
<sys/errno.h> file describes the symbolic names and values possible for errno. The
limited number of error definitions in the
<sys/errno.h> file requires mapping of multiple
ACL drive errors onto single values. Because of this overloading, the
aclStatus() function
provides additional error information beyond that provided by the return value.
2.4.4 Platform and Drive Compatibility
All the libacl API functions operate consistently across supported platforms. See the on line
release notes installed with the libacl API for more information.
2.4.5 ACL Driver Version Compatibility
See the on line release notes installed with the libacl API to find out which version of the ACL
device driver it is compatible with.
2.4.6 Open behavior
The libacl API handles the opening and closing of the ACL. If an error occurs during an open,
the external system variable
errno should be set to one of the following:
EBUSY ACL is already in use.
EINVAL Invalid argument supplied.
ENODEV The ACL device is not properly connected to the host system.
ENXIO Device does not exist.
EPERM Access denied due to device special file permissions.
ETIME A timeout occurred on a SCSI command.