DST Automated Cartridge Library UNIX Application Programmer’s Guide ® 1308910-01
NOTICE The contents of this technical manual have been checked and are believed to be accurate. However, no responsibility is assumed for any inaccuracies in the information provided herein. Ampex Corporation reserves the right to make changes without notice to improve reliability, function or design. TRADEMARKS AIX is a registered trademark of International Business Machines Corporation. DEC is a trademark of Digital Equipment Corporation. DST is a registered trademark of Ampex Corporation.
ACL Application Programmer’s Guide Contents Contents Section 1 General Information 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Section 2 ACL Software Overview 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 Section 3 Introduction ....................................................................................................2-1 Ampex ACL Device Driver ...........................................................................2-1 Native Device Drivers ....................
Model ACL Application Programmer’s GuideNo. Running Head Contents 3.2.5 3.2.6 3.3 3.3.1 3.3.2 3.4 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 Section 4 libacl API Functions 4.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 Section 5 Introduction .................................................................................................... 4-1 libacl Overview ..............................................................................................
ACL Application Programmer’s Guide 5.2.8 5.2.9 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 Appendix A Error/Event Parameter Identification Codes .................................................A-1 Sense Key Codes ...........................................................................................A-4 Additional Sense Codes and Qualifiers .........................................................A-5 Vendor-Specific ACL Condition Codes .......................................................
Running Head Tables Model ACL Application Programmer’s GuideNo. Tables 1-1 2-1 3-2 A-1 A-1 A-2 A-3 A-4 B-1. vi Old and New ACL Model Names ...................................................................................... 1-1 ACL Operations ................................................................................................................ 2-2 ACL Configuration Parameter Descriptions .....................................................................
General Information Introduction Section 1 General Information 1.1 Introduction This document describes how to use the Ampex DST/DIS Automated Cartridge Library (ACL) software installed on your UNIX host system. The ACL software includes Management Utilities and a libacl Application Programming Interface (API). The ACL Management Utilities are a set of programs that provide command-line access to an Ampex DST or DIS ACL. They are compatible with the DST/DIS Tape Management (DD-2) Utilities.
RunningUNIX HeadOperating Systems Supported 1.2 Model ACL Application Programmer’s Guide No.
General Information 1.4 Notational Conventions Notational Conventions This document uses the following typographical conventions: Bold In a syntax description, indicates text that must be typed literally. In other contexts, indicates UNIX command and utility names, program and application names, and C function names. Italic In a syntax description, indicates generic arguments or options; these should be replaced with user-supplied values.
Running Head Related Documents 1.5 Model ACL Application Programmer’s Guide No. Related Documents DST/DIS SCSI Tape Drive DD-2 Tape Format Guide, Part No. 1306706, describes physical and logical DD-2 tape structures and provides common tape format examples. DST 410 Automated Cartridge Library Installation and Operation, Part No. 1306378, describes DST 410 hardware installation and operation. DST 712 Installation and Operation, Part No. 1308909, describes DST 712 hardware installation and operation.
General Information 1.6 Training Services Training Services Ampex offers technical training on this and other data storage products on a scheduled basis. For information regarding training, call 800-227-8402. 1.
ACL Software Overview Introduction Section 2 ACL Software Overview 2.1 Introduction This section provides an overview of the ACL device driver interface, the libacl API functions, and the ACL Management Utilities. Table 2-1 shows the ACL operations performed by the libacl API functions and the ACL Management Utilities. 2.2 Ampex ACL Device Driver The Ampex ACL device driver is a standard UNIX device driver. It provides a DSTIOCPASSTHRU ioctl interface through which programs can operate an ACL.
Model ACL Application Programmer’s Guide No. Running Head Native Device Drivers Table 2-1. ACL Operations Operation ACL Utility libacl API Function Usage Get status of specified element. acl_audit_element aclAuditElement() See “Read Element Status” on page 3-10. Get status of all elements. acl_audit_library aclAuditLibrary() See “Read Element Status” on page 3-10. Get element counts and starting addresses. N/A aclGetElemData() See “Addressable Elements” on Retrieve the error or event log.
ACL Software Overview 2.4 libacl API Overview libacl API Overview The libacl API features simple, compact, and direct functions to control or obtain data from an ACL. Detailed knowledge of the hardware and SCSI interface are not necessary. 2.4.1 Operation of libacl The libacl API layer packages SCSI ACL commands as C functions, isolating the caller from the device driver layer. C programs that use the libacl API normally use the C preprocessor #include directive to include the following header file.
Model ACL Application Programmer’s Guide No. Running ACL UtilitiesHead Overview ENXIO EPERM ETIME 2.4.6 Device does not exist. Access denied due to device special file permissions. A timeout occurred on a SCSI command. Restrictions None; all libacl API functions are available to all users 2.5 ACL Utilities Overview The ACL utilities provide command-line access to an Ampex DST ACL.
ACL Operational Characteristics Introduction Section 3 ACL Operational Characteristics 3.1 Introduction This section describes ACL capabilities and behavior. You should be familiar with the information in this section before using the ACL utilities or libacl API functions. 3.2 ACL Configuration The following paragraphs describe the ACL configuration. 3.2.1 Addressable Elements Each ACL element that can contain a tape cartridge is assigned both a SCSI address and a location name.
Running Head ACL Configuration Model ACL Application Programmer’s Guide No. DST 412 ACL Data Transfer The ACL has one tape drive named T100. Its address is 100 (0x64). Element Transport Element The ACL cartridge handling system is named R1. It comprises the assemblies necessary to transfer tape cartridges between the storage bins and the tape drive. Its address is 1. Storage Element The ACL contains seven storage bins named S1000 through S1006 (from top to bottom).
ACL Operational Characteristics ACL Configuration Transport Element The ACL cartridge handling system is named R1. It comprises the assemblies necessary to transfer tape cartridges between the storage bins, IMEX bins, and tape drive(s). Its address is 1. See Figure 3-2 for address assignments. Storage Element The ACL contains 248 storage bins. The bins are arranged in an 8-column by 32-row matrix (which also contains eight import/export bins).
Model ACL Application Programmer’s Guide No. Running Head ACL Configuration 5087 (S5087) 5000 (S5000) 5057 (S5057) 5000 (S5000) IMEX BINS 11(P11) 10 (P10) 11 (P11) IMEX 10 (P12) BINS 5018 (S5018) 5028 (S5028) 5073 (S5073) 2001 (T2001) 5114 (S5114) 2000 (T2000) FIGURE A. ONE-DRIVE SYSTEM 2000 (T2000) FIGURE B. TWO-DRIVE SYSTEM NOTE: TRANSPORT AND STORAGE ELEMENT NAMES ARE SHOWN IN PARENTHESES. Figure 3-1.
ACL Operational Characteristics ACL Configuration 1031 (S1031) A B 1247 (S1247) C D E F G H 103 (T103) 10 (P10) 11 (P11) 12 (P12) 13 (P13) 14 (P14) 15 (P15) 16 (P16) 17 (P17) 102 (T102) 101 (T101) 100 (T100) 1000 (S1000) 1224 (S1224) NOTE: TRANSPORT AND STORAGE ELEMENT NAMES ARE SHOWN IN PARENTHESES. Figure 3-2. Address Assignments for DST 812 Storage and IMEX Elements 3.2.
Model ACL Application Programmer’s Guide No. Running Head ACL Configuration 3.2.4 Multiple Port and Multiple Initiator Considerations The two SCSI ports on the ACL system I/O panel are functionally equivalent. Each port is independently addressable and neither port has priority over the other. If desired, you can connect the ACL to two separate SCSI buses simultaneously.
ACL Operational Characteristics ACL Configuration Table 3-2. ACL Configuration Parameter Descriptions (Continued) Parameter Barcode Required (DST 712 and DST 812) State 0 (off)* 1 (on) Description When the Barcode Required configuration parameter is set to on, the ACL will not move a tape cartridge to a storage bin if it cannot read the barcode on the cartridge. It will, however, permit movement of the cartridge between an IMEX bin and a drive.
Running Head Tape Cartridge Loading and Unloading Model ACL Application Programmer’s Guide No. 3.3 Tape Cartridge Loading and Unloading 3.3.1 DST 412 The aclPark() function, acl_park_chs utility, or the park command (using the front panel controls in manual mode) places the CHS in the parked position. If you invoke any function or utility that requires CHS movement, the door is closed, and the ACL is on-line, the CHS will be automatically unparked.
ACL Operational Characteristics 3.4 Tape Cartridge Movement Tape Cartridge Movement You can use the following functions and utilities to move tape cartridges between ACL elements. • aclMoveCartridge() and acl_move_tape move a tape cartridge from the specified source location to the specified destination location. • aclMoveVolume() and acl_move_volume move the specified tape cartridge (identified by barcode ID) to the designated location.
Running Head Operational Status Model ACL Application Programmer’s Guide No. When necessary, an initiator can use the aclInit() function or the acl_init_chs utility to force the ACL to perform an initialization routine. 3.5.3 Read Element Status You can use the following functions and utilities to retrieve current ACL element status from the internal database: • • aclAuditElement() and acl_audit_element retrieve the status of a single element.
ACL Operational Characteristics • 3.5.5 Operational Status acl_statlog_library retrieves entries from the static log. This log contains information about ACL internal software performance and protocol tasks; the information is intended for use by Ampex factory personnel. Sense Data and Status The ACL sets Sense Data when a command results in Check Condition status and clears the Sense Data prior to executing any command other than the SCSI Request Sense command.
Running Head Operational Status Model ACL Application Programmer’s Guide No. The status data that can be retrieved by aclGetStatus() or acl_status_libraryincludes the following CHS Mode The current operating mode of the CHS: On-line, Manual, Sequential Looping, or Sequential Non_Looping. CHS position (DST 412) The current position of the ACL cartridge handling system; parked or the storage bin positioned in front of the drive.
libacl API Functions Introduction Section 4 libacl API Functions 4.1 Introduction This section contains the manual pages for the libacl API functions. All information in the section was accurate at the time of publication, but is subject to change without notice. For the latest information on the libacl API functions, see the Release Notes for your version of the ACL software. 4.
Model ACL Application Programmer’s Guide No. Running Head libacl Overview 4.2.2 Libacl Functions Summary aclAuditElement() Retrieve the status of a single element from the ACL internal database. aclAuditLibrary() Retrieve the status of all elements from the ACL internal database. aclGetElemData() Get element counts and starting addresses. aclGetParam() Get current ACL configuration parameter settings.
libacl API Functions libacl Overview On failure, all functions automatically perform one retry. A failure return value indicates the retry also failed. Since errno is set only when a failure occurs on open, call aclGetStatus() and check the value reported by the acl_errcode member to determine the cause of the failure. • An acl_errcode value of 2 indicates the error occurred on open and no other information is available other than the value that errno is set to. Typical errno codes are shown below.
Model ACL Application Programmer’s Guide No. Running Head aclAuditElement 4.3 aclAuditElement NAME aclAuditElement() - retrieve the status of a single element from the ACL internal database. SYNOPSIS #include int aclAuditElement(char *device, aclElementStatus_t *elemstatus); DESCRIPTION aclAuditElement() reports the current status of a single addressable element in the ACL. See libacl Overview for information on ACL address assignments. aclAuditElement() is available to all users.
libacl API Functions aclAuditElement unsigned int sea; char vtag[33]; } aclElementStatus_t; STRUCTURE MEMBERS type Identifies the element type: typedef enum { ACL_unused = 0, ACL_CHS, /* Transport Element */ ACL_BIN, /* Storage Element (storage bin) */ ACL_IMEX, /* Import/Export Element (IMEX bin, DST 712 or ACL_DRIVE 812) */ /* Data Transfer Element (tape drive) */ } elem_type_enum; acc Access Status - indicates whether the ACL can transfer a tape cartridge to or from the element (not valid for the
Model ACL Application Programmer’s Guide No. Running Head aclAuditElement LARGE, UNKNOWN = 0xffff } cart_sz_enum; Position - the current position of the CHS (valid for the transport element only): pos DST 412 – parked (0), or the address of the storage bin positioned in front of the tape drive (1000-1006 / 0x3E8-0x3EE).
libacl API Functions 4.4 aclAuditLibrary aclAuditLibrary NAME aclAuditLibrary() - retrieve the status of all elements from the ACL internal database. SYNOPSIS #include int aclAuditLibrary(char *device, aclElementStatus_t elemdata[]); DESCRIPTION aclAuditLibrary() reports the current status of all elements in the ACL. aclAuditLibrary() is available to all users. PARAMETERS *device Pointer or string specifying the device special file associated with the ACL.
Model ACL Application Programmer’s Guide No.
libacl API Functions aclAuditLibrary LARGE, UNKNOWN = 0xffff } cart_sz_enum; CHS Position (valid for the transport element only): pos DST 412 – parked (0), or the address of the storage bin positioned in front of the tape drive (1000-1006 / 0x3E8-0x3EE).
Model ACL Application Programmer’s Guide No. Running Head aclGetElemData 4.5 aclGetElemData NAME aclGetElemData() - get element counts and starting addresses. SYNOPSIS #include int aclGetElemData(char *device, aclElemData_t *elemdata); DESCRIPTION aclGetElemData() reports the quantities and starting addresses of each element type in the ACL. This information is used to determine the inputs to the aclMoveCartridge() and aclMoveVolume() functions.
libacl API Functions aclGetElemData RETURN VALUES The return value is DST_SUCCESS (0) or DST_FAILURE (-1). See “Return Values” on page 4-2 for information on how to determine the cause of a failure.
Model ACL Application Programmer’s Guide No. Running Head aclGetParam 4.6 aclGetParam NAME aclGetParam() - get current ACL configuration parameter settings. SYNOPSIS #include int aclGetParam(char *device, aclParam_t *param); DESCRIPTION aclGetParam() gets the current settings of the ACL configuration parameters. These parameters define ACL behavior as described below. To change a configuration parameter setting, use the aclSetParam() function. aclGetParam() is available to all users.
libacl API Functions aclGetParam STRUCTURE MEMBERS AutoEject Reports whether the Auto Store configuration parameter is set to on (1) or off (0, default). When the Auto Store configuration parameter is set to off, the initiator must use the aclMoveCartridge() or aclMoveVolume() function to remove a tape cartridge from the tape drive (after the drive ejects the tape cartridge in response to a tape drive Unload command).
Model ACL Application Programmer’s Guide No. Running Head aclGetParam The ACL detects the presence of a tape cartridge when it is inserted into an IMEX bin. When the Auto Import configuration parameter is set to on, the ACL automatically transfers the tape cartridge to the next available Storage Element, starting from address 1000.
libacl API Functions 4.7 aclGetStatus aclGetStatus NAME aclGetStatus() - get current ACL status information and sense data. SYNOPSIS #include int aclGetStatus( char *device, aclStatus_t *acl_status_ptr, int *acl_errocode_ptr ); DESCRIPTION aclGetStatus() is normally called to determine why the previous function failed, but you can also call it at any time to get current ACL operational status.
Model ACL Application Programmer’s Guide No. Running Head aclGetStatus unsigned int unsigned int unsigned int cart_sz_enum } aclStatus_t; robot_warn; frame_warn; stacker_mode; cartridge_sz; STRUCTURE MEMBERS valid Bit mask that indicates which members of the aclStatus_t structure contain valid data.
libacl API Functions aclGetStatus DST 812 – The address of the location at which the cartridge handler is positioned: Tape drive (100 - 103 / 0x64 - 0x67). Storage bin (1000 - 1247 / 0x3E8 - 0x4DF). IMEX bin (10 - 17 / 0x0A - 0x12). cond ACL Condition Code - vendor specific condition code (see Table A-3). robot_fail CHS Failure Code - vendor specific failure code (see Table A-4); valid only when the CHS was unable to complete the previous command.
Model ACL Application Programmer’s Guide No. Running Head aclGetVersion 4.8 aclGetVersion NAME aclGetVersion() - get ACL vendor, product, software version, and software release information. SYNOPSIS #include int aclGetVersion(char *device, aclVersion_t *aclversion); DESCRIPTION aclGetVersion() reports the ACL vendor name, product name, software revision levels and software release dates. aclGetVersion() is available to all users.
libacl API Functions aclGetVersion unsigned char libacl_rel_date[18]; unsigned char sysrel[9]; }aclVersion_t; STRUCTURE MEMBERS vendor Vendor name. product Product name. proto_cpu Protocol CPU Software version. servo_cpu Servo CPU Software version. proto_prom Protocol Boot Prom Software version. servo_prom Servo Boot Prom Software version. firm_rel_date ACL firmware release date. util_rel ACL Utilities version. util_rel_date ACL Utilities release date. libacl_rel libacl API Version.
Model ACL Application Programmer’s Guide No. Running Head aclInit 4.9 aclInit NAME aclInit() - update element status in the ACL internal database. SYNOPSIS #include int aclInit(char *device); DESCRIPTION aclInit() directs the ACL cartridge handling system to audit the contents of all elements (locations) and update their status in the ACL internal database.
libacl API Functions 4.10 aclMoveCartridge aclMoveCartridge NAME aclMoveCartridge() - move a tape cartridge from one ACL location to another. SYNOPSIS #include int aclMoveCartridge(char *device, unsigned int sea, unsigned int dea); DESCRIPTION aclMoveCartridge() moves a tape cartridge from the specified source location to the specified destination location.
Model ACL Application Programmer’s Guide No. Running Head aclMoveCartridge Valid addresses for a DST 812 ACL are: Tape drive 100-103 (0x64-0x67). Storage bin 1000-1247 (0x3E8-0x4DF). IMEX bin 10-17 (0x0A-0x12). Transport (CHS) 01. RETURN VALUES The return value is DST_SUCCESS (0) or DST_FAILURE (-1). See the “Return Values” on page 4-2, for information on how to determine the cause of a failure.
libacl API Functions 4.11 aclMoveVolume aclMoveVolume NAME aclMoveVolume() - move the specified tape cartridge to another ACL location. SYNOPSIS #include int aclMoveVolume(char *device, char *barcode, unsigned int dea); DESCRIPTION aclMoveVolume() moves the specified tape cartridge to another ACL location. This function fails if the barcode ID is not found, the target location is full, an invalid target location is specified, or a cabinet door is open.
Model ACL Application Programmer’s Guide No. Running Head aclMoveVolume Valid addresses for a DST 712 ACL are: Tape drive 2000 - 2001 (0X7D0-0X7D1) Storage bins 5000 - 5114 (0x1388-0x13FA) (maximumnumber of bins) IMEX bin 10 - 11 (0x0A-0x0B) Transport (CHS) 01 Valid addresses for a DST 812 ACL are: Tape drive 100-103 (0x64-0x67). Storage bin 1000-1247 (0x3E8-0x4DF). IMEX bin 10-17 (0x0A-0x12). Transport (CHS) 01 RETURN VALUES The return value is DST_SUCCESS (0) or DST_FAILURE (-1).
libacl API Functions 4.12 aclPark aclPark NAME aclPark() - park the ACL cartridge handling system (DST 412). SYNOPSIS #include int aclPark(char *device); DESCRIPTION The aclPark() function, acl_park_chs utility, or the park command (using the front panel controls in manual mode) places the CHS in the parked position. If you invoke any function or utility that requires CHS movement, the door is closed, and the ACL is on-line, the CHS will be automatically unparked.
Model ACL Application Programmer’s Guide No. Running Head aclSetParam 4.13 aclSetParam NAME aclSetParam() - change ACL configuration parameter(s). SYNOPSIS #include int aclSetParam(char *device, aclParam_t *param, int valid); DESCRIPTION aclSetParam() sets the behavior of the ACL by changing one or more configuration parameter settings. To check the current configuration parameter settings, use the aclGetParam() function. aclSetParam() is available to all users.
libacl API Functions aclSetParam typedef struct { unsigned char AutoEject; /* keyword: %auto_store */ unsigned char AutoAuditOverride; /* keyword: %auto_audit_override */ unsigned char BarcodeReqEnable; /* keyword: %barcode_required */ unsigned char AutoImport; /* keyword: %v_auto_import }aclParam_t; STRUCTURE MEMBERS AutoEject Sets the Auto Store configuration parameter to on (1) or off (0, default).
Model ACL Application Programmer’s Guide No. Running Head aclSetParam When the Barcode Required configuration parameter is set to off, the ACL does not restrict movement of a tape cartridge that does not have a readable barcode ID. AutoImport DST 712 and DST 812 – Sets the Auto Import configuration parameter to on (1) or off (0, default). The ACL detects the presence of a tape cartridge when it is inserted into an IMEX bin.
libacl API Functions 4.14 aclTUR aclTUR NAME aclTUR() - verify that the ACL is ready to perform all operations. SYNOPSIS #include int aclTUR(char *device); DESCRIPTION aclTUR() returns DST_SUCCESS when the ACL is ready to perform all operations that the libacl API functions can specify, and DST_FAILURE when the ACL is not ready to perform all operations. aclTUR() is available to all users. PARAMETERS *device Pointer or string specifying the device special file associated with the ACL.
ACL Utilities Introduction Section 5 ACL Utilities 5.1 Introduction This section contains the manual pages for the ACL utilities. All information in the section was accurate at the time of publication, but is subject to change without notice. For the latest information, see the Release Notes for your version of the ACL software. 5.2 ACL Utilities Overview The ACL Management Utilities are a set of programs that provide command-line access to an Ampex DST or DIS ACL.
Running ACL UtilitiesHead Overview • Model ACL Application Programmer’s Guide No. DST 812 See paragraph 1.1 on page 1-1 for information on previous model names and number series. 5.2.2 Utilities Summary The ACL Management Utilities have descriptive names that indicate both the type of operation performed and the type of object upon which the operation is performed: 5.2.3 acl_audit_element Retrieve the status of a single location from the ACL internal database.
ACL Utilities • 5.2.4 ACL Utilities Overview You can specify integer input values using a standard decimal number, a hexadecimal value (first two characters are 0x), or an octal value (the first character is a zero and the second character is not an x). Output Conventions The ACL Management Utilities have the following output conventions: 5.2.5 • Many utilities support the -stdout argument which specifies the output stream written to stdout.
Running ACL UtilitiesHead Overview Model ACL Application Programmer’s Guide No. • Keywords [%field_name or %(field_name) as documented in the utility’s manual page] that designate the fields in the output stream written to stdout. When specifying more than one keyword, enclose the entire argument in quotes and use spaces to separate the field names. • Characters that the command copies literally to the output stream.
ACL Utilities ACL Utilities Overview DST 412 ACLs can move a tape cartridge from a storage bin to the tape drive, or from the tape drive to a storage bin. DST 712 and 812 ACLs can move a tape cartridge to or from any location (tape drive, storage bin, IMEX bin, or CHS). Note: See Appendix B for previous DST 2XX, 4XX and 8XX series ACL names and address assignments. DST 412 ACL Data Drive The ACL has one tape drive named T100. Its address is 100 (0x64).
Running ACL UtilitiesHead Overview IMEX Bins Model ACL Application Programmer’s Guide No. The two IMEX bins enable the operator to insert and remove tape cartridges. The bins are named P10 through P11. Their addresses are 10 (bottom IMEX bin) and 11 (top IMEX bin). See Figure 3-1 on page 3-4 for address assignments. DST 812 ACL Tape Drive(s) The ACL can contain up to four tape drives. The drives are named T103 through T100 (from top to bottom).
ACL Utilities 5.2.9 ACL Utilities Overview Exit Status The ACL management utilities use the following exit status codes to indicate success or failure. To view the status code in C-shell, type echo $status. 0 Operation succeeded. nonzero Operation failed. On failure, all utilities automatically perform one retry. A nonzero exit status indicates the retry also failed.
Running ACL UtilitiesHead Overview • Model ACL Application Programmer’s Guide No. If the Request Sense succeeds, the utility sets exit status to EFAULT and writes one or more of the following message to stderr unless all three messages are reporting zero values (only messages that report a nonzero value are written to stderr). In that case, the message written to stderr is DUE0016: Unresolved ACL Condition. DUE0032: SCSI Error (%d): (%s) where (%d) is the errno value and (%s) is a descriptive string.
ACL Utilities 5.3 acl_audit_element acl_audit_element NAME acl_audit_element - retrieve the status of a single location from the ACL internal database. SYNOPSIS acl_audit_element -element -stdout [ -f ] [ -n ] acl_audit_element -help [ help_type ] DESCRIPTION acl_audit_element reports the status of the ACL location specified by the -element argument.
Model ACL Application Programmer’s Guide No. Running Head acl_audit_element -stdout Specifies the output fields written to stdout. You must provide -stdout and -element arguments for this utility (except when using the -help argument). The -stdout argument supports the following keywords for status reporting: Note: DST 712 and DST 812 ACLs can transfer a tape cartridge to and from the CHS; a DST 412 ACL cannot.
ACL Utilities acl_audit_element %chs_posn Displays the current CHS position; valid for the CHS only (n/a is displayed for all other elements): DST 412 – parked or the address of the storage bin positioned in front of the tape drive. DST 712 and 812 – the address of the location at which the cartridge handler is positioned. %door_status Displays the door status (open) or (closed). Returned with the CHS element only. All other elemnents display n/a.
Running Head acl_audit_element Model ACL Application Programmer’s Guide No.
ACL Utilities 5.4 acl_audit_library acl_audit_library NAME acl_audit_library - retrieve the status of all locations from the ACL internal database. SYNOPSIS acl_audit_library -stdout [ -f ] [ -n ] acl_audit_library -help [ help_type ] DESCRIPTION acl_audit_library reports current status of all ACL locations. The -stdout argument specifies the fields written to stdout. acl_audit_library is available to all users.
Model ACL Application Programmer’s Guide No. Running Head acl_audit_library %barcode + Plus (+) indicates that the ACL can transfer a tape cartridge to or from the location. - Minus (-) indicates that the ACL cannot transfer a tape cartridge to or from the location. Displays the contents of the location: + Plus (+) indicates that the location contains a tape cartridge, but the barcode ID is unknown. - Minus (-) indicates that the location does not contain a tape cartridge.
ACL Utilities acl_audit_library $ACL_DEV Specifies the device special file to use when you omit the -f option. EXIT STATUS The ACL management utilities use the following exit status codes: 0 Operation succeeded. nonzero Operation failed. See ““Exit Status” on page 5-7” for information on how to determine the cause of a failure. EXAMPLES 1. Display the contents of all the drives in the DST 712 ACL.
Running Head acl_errlog_library 5.5 Model ACL Application Programmer’s Guide No. acl_errlog_library NAME acl_errlog_library - retrieve ACL Error/Event Log entries. SYNOPSIS acl_errlog_library -count -stdout [ -f ] [ -n ] acl_errlog_library -help [ help_type ] DESCRIPTION acl_errlog_library retrieves up to 1000 entries from the ACL error/event log, starting with the most recent entry.
ACL Utilities acl_errlog_library -count Specifies the number of entries to retrieve from the ACL error/event log. The maximum value is 1000. The most recent entries are displayed first. You must provide -count and -stdout arguments for this utility (except when using the -help argument). -stdout Specifies the output stream written to stdout.
Running Head acl_errlog_library Model ACL Application Programmer’s Guide No.
ACL Utilities 5.6 acl_getparam_library acl_getparam_library NAME acl_getparam_library - get current ACL configuration parameter settings. SYNOPSIS acl_getparam_library -stdout [ -f ] [ -n ] acl_getparam_library -help [ help_type ] DESCRIPTION acl_getparam_library returns information about the current ACL configuration parameter settings. The -stdout argument specifies the output fields written to stdout.
Running Head acl_getparam_library Model ACL Application Programmer’s Guide No. The -stdout argument supports the keywords listed below. Each field can display in verbose or non-verbose style, depending on the keyword specified. Non-verbose style displays only a value; verbose style replaces the value with a descriptive string. If the data for a particular keyword is not available, na displays instead of the value (or string) for that keyword.
ACL Utilities acl_getparam_library When the Barcode Required configuration parameter is set to off, the ACL does not restrict movement of a tape cartridge that does not have a readable barcode ID. %auto_import %v_auto_import Displays the current setting of the Auto Import configuration parameter (DST 712 and DST 812): 1 or Enabled indicates that the parameter is set to on. 0 or Disabled indicates that the parameter is set to off.
Running Head acl_getparam_library Model ACL Application Programmer’s Guide No.
ACL Utilities 5.7 acl_init_chs acl_init_chs NAME acl_init_chs - update the status of all locations in the ACL internal database. SYNOPSIS acl_init_chs [ -f ] acl_init_chs -help [ help_type ] DESCRIPTION acl_init_chs directs the cartridge handling system (CHS) to audit the contents of all locations in the ACL and update their status in the ACL internal database.
Model ACL Application Programmer’s Guide No. Running Head acl_init_chs 0 Operation succeeded. nonzero Operation failed. See ““Exit Status” on page 5-7” for information on how to determine the cause of a failure.
ACL Utilities 5.8 acl_move_tape acl_move_tape NAME acl_move_tape - move a tape cartridge from one ACL location to another. SYNOPSIS acl_move_tape -from -to [ -f ] acl_move_tape -help [ help_type ] DESCRIPTION acl_move_tape moves a tape cartridge from the specified source location to the specified destination location.
Model ACL Application Programmer’s Guide No. Running Head acl_move_tape -from Specifies the name or address of the ACL location from which the tape cartridge is to be moved. When specifying a name, you must use uppercase letters exactly as shown in the “ACL Utilities Overview” on page 5-1. -to Specifies the name or address of the ACL location to which the tape cartridge is to be moved.
ACL Utilities 5.9 acl_move_volume acl_move_volume NAME acl_move_volume - move the specified tape cartridge to another ACL location. SYNOPSIS acl_move_volume -barcode -to [ -f ] acl_move_volume -help [ help_type ] DESCRIPTION acl_move_volume moves the specified tape cartridge to another ACL location. It fails if the barcode ID is not found, the target location is full, an invalid target location is specified, or a cabinet door is open.
Model ACL Application Programmer’s Guide No. Running Head acl_move_volume -barcode The barcode ID of the tape cartridge that you want to move. This value must be six decimal digits. If you specify less than six digits, the barcode is proceeded by zeros. -to Specifies the name or address of the ACL location to which the tape cartridge is to be moved. ENVIRONMENT The ACL management utilities use the following environment variable.
ACL Utilities 5.10 acl_park_chs acl_park_chs NAME acl_park_chs - park the ACL cartridge handling system (DST 412). SYNOPSIS acl_park_chs [ -f ] acl_park_chs -help [ help_type ] DESCRIPTION The aclPark() function, acl_park_chs utility, or the park command (using the front panel controls in manual mode) places the CHS in the parked position.
Model ACL Application Programmer’s Guide No. Running Head acl_park_chs ENVIRONMENT The ACL management utilities use the following environment variable. $ACL_DEV Specifies the device special file to use when you omit the -f option. EXIT STATUS The ACL management utilities use the following exit status codes: 0 Operation succeeded. nonzero Operation failed. See ““Exit Status” on page 5-7” for information on how to determine the cause of a failure.
ACL Utilities 5.11 acl_query_library acl_query_library NAME acl_query_library - get ACL vendor name, product name, software revision levels, and software release dates. SYNOPSIS acl_query_library -stdout output_spec [ -f ] [ -n ] acl_query_library -help [ help_type ] DESCRIPTION acl_query_library returns ACL vendor, product and software information. The -stdout option specifies which fields are written to stdout.
Model ACL Application Programmer’s Guide No. Running Head acl_query_library The -stdout argument supports the following keywords: %vendor Displays the vendor name. %product Displays the product name. %proto_soft_ver Displays the Protocol CPU Software version. %servo_soft_ver Displays the Servo CPU Software version. %proto_boot_ver Displays the Boot Prom CPU Software version. %servo_boot_ver Displays the Boot Prom Servo Software version.
ACL Utilities acl_query_library EXAMPLES Display the current status of the DST 412.
Running Head acl_setparam_library 5.12 Model ACL Application Programmer’s Guide No. acl_setparam_library NAME acl_setparam_library - change ACL configuration parameter settings. SYNOPSIS acl_setparam_library -aclparam [ -f ] acl_setparam_library -help [ help_type ] DESCRIPTION acl_setparam_library sets the behavior of the ACL by changing one or more configuration parameter settings.
ACL Utilities AutoStore acl_setparam_library A value of 1 sets the Auto Store configuration parameter to on and a value of 0 sets it to off. When the Auto Store configuration parameter is set to off, the initiator must use the acl_move_tape or acl_move_volume utility to remove a tape cartridge from the tape drive (after the drive ejects the tape cartridge in response to a tape drive Unload command).
Model ACL Application Programmer’s Guide No. Running Head acl_setparam_library • A DST 712 and 812 ACLs will move the tape cartridge to a drive or IMEX bin, but not to a storage bin. When the Barcode Required configuration parameter is set to off, the ACL does not restrict movement of a tape cartridge that does not have a readable barcode ID. ENVIRONMENT The ACL management utilities use the following environment variable. $ACL_DEV Specifies the device special file to use when you omit the -f option.
ACL Utilities 5.13 acl_statlog_library acl_statlog_library NAME acl_statlog_library - retrieve the ACL Static Log. SYNOPSIS acl_statlog_library -stdout [ -f device_special_file ] [ -n ] acl_statlog_library -help [ help_type ] DESCRIPTION acl_statlog_library retrieves the static log from the ACL. This log contains information about internal software performance and protocol tasks. The information is intended to aid service personnel in diagnosing and correcting problems.
Model ACL Application Programmer’s Guide No. Running Head acl_statlog_library ENVIRONMENT The ACL management utilities use the following environment variable. $ACL_DEV Specifies the device special file to use when you omit the -f option. EXIT STATUS The ACL management utilities use the following exit status codes: 0 Operation succeeded. nonzero Operation failed. See the ““Exit Status” on page 5-7” for information on how to determine the cause of a failure. EXAMPLE Display the ACL Static Log.
ACL Utilities 5.14 acl_status_library acl_status_library NAME acl_status_library - get current ACL status information. SYNOPSIS acl_status_library -stdout [ -f device_special_file ] [ -n ] acl_status_library -help [ help_type ] DESCRIPTION acl_status_library retrieves the following information from the ACL. The -stdout argument specifies the output fields written to stdout.
Model ACL Application Programmer’s Guide No. Running Head acl_status_library -stdout Specifies the output fields written to stdout. You must provide a -stdout argument for this utility (except when using the -help argument). The -stdout argument supports the keywords listed below. Each field can display in verbose or non-verbose style, depending on the keyword specified. Non-verbose style displays only a value; verbose style replaces the value with a descriptive string.
ACL Utilities acl_status_library ENVIRONMENT The ACL management utilities use the following environment variable. $ACL_DEV Specifies the device special file to use when you omit the -f option. EXIT STATUS The ACL management utilities use the following exit status codes: 0 Operation succeeded. nonzero Operation failed. See ““Exit Status” on page 5-7” for information on how to determine the cause of a failure. EXAMPLES Display the current status of the ACL.
Returned Sense Data Error/Event Parameter Identification Codes Appendix A Returned Sense Data A.1 Error/Event Parameter Identification Codes Table A-1 lists the identification codes that the ACL might report in the Error/Event Log data returned for acl_errlog_library. For some of these codes, additional integer values are included to further describe the condition detected.
Model Returned Sense Data No. Running Head Error/Event Parameter Identification Codes Table A-1.
Returned Sense Data Error/Event Parameter Identification Codes Table A-1.
Model Returned Sense Data No. Running Head Sense Key Codes Table A-1. Error/Event Parameter Identification Code Descriptions (Continued) Code A.
Returned Sense Data Additional Sense Codes and Qualifiers Table A-1. Sense Key Code Descriptions Code A.3 Condition Description 0x04 Hardware Error The ACL detected a non-recoverable error condition that might be due to a physical hardware failure or because the control firmware detected an invalid state while performing the command or during a self-test. 0x05 Illegal Request Indicates an illegal parameter in the CDB or in the additional parameters supplied as data for some commands.
Model Returned Sense Data No. RunningSense HeadCodes and Qualifiers Additional Table A-2. ASC/ASCQ Conditions (Continued) ASC ASCQ Sense Key Condition Reported 0x3B 0x0D Illegal Request (0x05) Destination element is full. 0x3B 0x0E Illegal Request (0x05) Source element is empty. 0x44 0x00* Aborted Command (0x0B) Internal target failure. 0x53 0x02 Not Ready (0x02) Tape drive unable to unload cartridge. 0x53 0xAA Not Ready (0x02) Tape drive unable to load cartridge.
Returned Sense Data A.4 Vendor-Specific ACL Condition Codes Vendor-Specific ACL Condition Codes Table A.4 lists vendor-specific condition codes the ACL might report in the data returned for aclGetStatus(). The table is arranged in alpha-numeric sequence, ordered as follows: Sense Key ASC/ASCQ Condition Code Note: DST 712 information is currently not available. Table A-3.
Model Returned Sense Data No. Running Head Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x02 0x04 Not Ready 0x03 0x2F Error Enumeration, String, and Condition AC_NOT_READY_MAN_MODE Not Ready, Manual Mode Selected (412) Recovery Procedure Change mode to on-line using front-panel message screen buttons. The ACL can be operated from its front panel independently from the host.
Returned Sense Data Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x02 0x53 0xAA 0x2A Not Ready Error Enumeration, String, and Condition AC_DRIVE_NOT_READY_TO_LOAD Not Ready, Tape Drive Unable to Load Cartridge (412) The tape drive in the ACL has an enable bit that must be set before a cartridge may be loaded. 0x02 0x55 0xC3 0x43 Not Ready Recovery Procedure Make sure that: • The drive is on-line and not in use.
Model Returned Sense Data No. Running Head Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x04 0x55 0x00 0x26 Hardware Error Error Enumeration, String, and Condition AC_UNLOAD_FAIL Hardware Error, CHS Could Not Unload Cartridge from Tape Drive The CHS could not unload the tape cartridge from the tape drive.
Returned Sense Data Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x04 0x55 0xA2 0x22 Hardware Error Error Enumeration, String, and Condition AC_EMPTY_ON_GET Hardware Error, Source Bin Empty on Get The CHS Failed to get the cartridge from the source bin because the mechanical hand could not grab the cartridge (as if the source bin were empty).
Model Returned Sense Data No. Running Head Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x05 0x20 0x00 0x29 Illegal Request 0x05 0x21 0x01 0x06 Illegal Request Error Enumeration, String, and Condition Recovery Procedure AC_INVALID_OPCODE Illegal Request, Unrecognized Opcode in SCSI Command An invalid SCSI command was sent to the ACL by the host system. Verify that: The SCSI command contained an invalid opcode.
Returned Sense Data Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x05 0x21 0x01 0x33 Illegal Request Error Enumeration, String, and Condition Recovery Procedure AC_SOURCE_ELEM_RANGE, Illegal Request, Source Element Address Out of Range Read Element Status and verify that the addresses are valid and the move is permitted. The move command cannot be completed with the source address supplied in the SCSI command.
Model Returned Sense Data No. Running Head Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x05 0x3B 0x0D 0x08 Illegal Request Error Enumeration, String, and Condition AC_DEST_FULL Illegal Request, Destination Bin Full The storage bin already contains a cartridge.
Returned Sense Data Vendor-Specific ACL Condition Codes Table A-3. Vendor-Specific ACL Condition Codes (Continued) ACL Sense ASC ASCQ Condition Key Code 0x0B 0x55 0xBA 0x3A Aborted Command Error Enumeration, String, and Condition AC_ROBOT_GET_FAIL_UNRECOVERED Aborted Command, CHS Could Not Recover from Get Failure (812) Recovery Procedure Read Element Status to determine current element status.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes A.5 CHS Failure, Error, and Warning Codes Table A.5 lists CHS failure, error, and warning codes the ACL might report in the data returned for aclGetStatus(). This information is intended for Ampex factory personnel as interpretation of the codes requires a detailed understanding of ACL internal operation. Note: DST 712 information is currently not available. Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4. CHS Failure, Error, and Warning Codes (Continued) CHS Code Description WARNING MESSAGES (412) A-26 2001 (0x7D1) +24Vdc supply is indicating greater than 26 volts 2002 (0x7D2) +24Vdc supply is indicating less than 22 volts 2003 (0x7D3) +5Vdc supply is indicating greater than 5.5 volts 2004 (0x7D4) +5Vdc supply is indicating less than 4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Model Returned Sense Data No. Running CHS Failure,Head Error, and Warning Codes Table A-4.
Returned Sense Data CHS Failure, Error, and Warning Codes Table A-4.
Previous ACL Model Name and Address Assignments Introduction Appendix B Previous ACL Model Name and Address Assignments B.1 Introduction This appendix provides data transfer, transport and storage element names and address assignments for the previous DST 2XX, 4XX, and 8XX series ACLs.
Running Head Introduction Storage Element Model No. Previous ACL Model Name and Address Assignments The ACL contains 248 storage bins. The bins are arranged in an 8-column by 32-row matrix (which also contains eight import/export bins). The rows are numbered 01 through 32 from top to bottom and the columns are alphabetized A through H from left to right. The storage bin names correspond to the locations they occupy.
Previous ACL Model Name and Address Assignments Introduction Table B-1.
Model No. Previous ACL Model Name and Address Assignments Running Head Introduction Table B-1.
™ Ampex Corporation 500 Broadway Redwood City, CA 94063-3199 Part Number 1308910-01 ¨