User Guide
Ampex 1308904-X4 Preliminary Draft 2-3
ACL Application Programmer’s Guide libacl API Overview
2.4 libacl API Overview
The libacl API retains complete compatibility with previous versions of the DST/DIS
Automated Cartridge Library API (libami) while allowing for further growth and easier
support. In addition, programmers writing to the libacl API are no longer required to manage
the
libami.cf configuration file.
The libacl API features include:
• Simple, compact, and direct functions to control or obtain data from an ACL. Detailed
knowledge of the hardware and SCSI interface are not necessary.
• A generic interface for situations where a developer may want to issue a SCSI command
not available in the libacl C-Library functions.
• Access to the lower level libami API when a developer needs more control over the ACL.
Note: Detailed knowledge of the ACL SCSI interface is necessary in order to program the
lower level libami API.
• Complete compatibility with previous versions of the libami.
2.4.1 Operation of libacl
The libacl API layer packages SCSI ACL commands as C functions, isolating the caller from
the device driver ioctl layer. C programs that use the libacl API normally use the C
preprocessor
#include directive to include one or more of the following header files.
acl.h Contains the libacl function prototypes and provides several useful definitions.
The
acl.h header file must be included by application using the libacl API.
libami.h Contains the libami function prototypes and several useful definitions. Although
libami is a part of the libacl API, it is a self contained library interface. The
libami.h header file must be included by applications using the libacl API.
libami.h is provided for backwards compatibility with software that was
written directly to the libami interface.
WriterNote: I could not find any instance of a system header file #include in any libacl API
manual page.
In addition to the
acl.h and libami.h header files, some of the libacl functions require
inclusion of standard system header files. Any such files are shown in the syntax section for
the function.
The header files are normally installed in the
/usr/include/sys directory, so they can be
referenced in a C program using C preprocessor directives such as the following:
#include <sys/acl.h>