Home

ADC 600F Network Card User Manual

image

Contents

1. 000 5 17 aci_force Asynchronous ACI Call 0 0 00 e eee ee 5 18 aci_insert Asynchronous Function Call o ooooo o o ooo 5 18 aci_eject Asynchronous Function Call o ooooo o o o o ooo o o 5 19 aci_eject_complete Asynchronous Function Call 5 19 Setup Signal Handler 00 0 5 21 dasadmin Sample Application ooooooooocccconrrooomo 5 22 Common Structure for aci_async_entry 0 0 ceca ee 5 24 async_drive_parms Structure 00 000 000008 5 25 async_ei_parms Structure 6 c eee eee ee 5 25 async_response Structure 6 eee eee 5 26 async_mount_parms Structure 6 6 e cece eee 5 26 async_insert_responce Structure 0 6 6 6 6 c cece eee eee eee 5 27 Figures xiii 21 Dec 2001 xiv Figures 601626 B Table 2 1 Table 2 2 Table 2 3 Table 3 1 Table 4 1 Table 4 2 Table 4 3 Table 4 4 Table 4 5 Table 4 6 Table 4 7 Table 4 8 Table 4 9 Table 4 10 Table 4 11 Table 4 12 Table 4 13 Table 4 14 Table 4 15 Table 4 16 Table 4 17 Table 4 18 Tables Routines Available with Basic Service Access Routines Available with Complete Service Access Supported Media Types 6 6 cece eee Hazard Alert Message 6 cece eens Parameters for the aci_barcode Function Call Parameter for the aci_cancel Function Call Parameter fo
2. 601626 B aci_inventory The aci_inventory function performs a physical inventory of the AML See Figure 4 71 alac luse aci dal int aci_inventory void Figure 4 71 aci_inventory Function Call This command instructs the robot to perform a physical inventory of the archive and to update the database The inventory command is issued to the archive and the function will not wait for the completion of the inventory operation The aci_list function may be called to determine whether the inventory command is still active result for a running inventory is PINV A Attention The inventory function is intended for testing and startup A An error function will be displayed in the AMU log during operation and not returned to the calling process The entire database will be overwritten with a symbolic volser Ixxxx if the barcode reader malfunctions For additional information refer to aci_qvolsrange on page 4 98 and aci_view on page 4 123 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EPC e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ERETRYL e EDASINT e ETIMEOUT e ESWITCHINPROG aci_inventory 4 81 21 Dec 2001 e EHICAPINUSE e ECOORDINATE e EBARCODE See Figure 4 72 for an example of the aci_inventory function Inve
3. ACTO ii Return Values aci_insert oo Returned values E cht Sais ge Se ee Return Values aci_eject_complete Return Values Response Technique A ocr ae Signal Handler Routine Data structures aci_async_entry Parameter Data Parms Structure Response Data Structure st_response o0ooocooooo oo st_mount_parms st_insert_response Application Notes Contents 601626 B Contents ix 21 Dec 2001 x Contents 601626 B Figure 2 1 Figure 4 1 Figure 4 2 Figure 4 3 Figure 4 4 Figure 4 5 Figure 4 6 Figure 4 7 Figure 4 8 Figure 4 9 Figure 4 10 Figure 4 11 Figure 4 12 Figure 4 13 Figure 4 14 Figure 4 15 Figure 4 16 Figure 4 17 Figure 4 18 Figure 4 19 Figure 4 20 Figure 4 21 Figures Logical Relationship Between AML Components 2 3 aci_barcode Function Call 0 eee eee ee ooo 4 5 Example of the aci_barcode Function 000 00005 4 7 aci_cancel Function Call 0 0 0 0 00 ccc ce cee eee 4 7 Example of the aci_cancel Function oooooooococcocomo oo 4 8 aci_cleandrive Function Call 20 0 eee eee eee 4 9 aci_clientaccess Function Call 0 eee eee eee ee 4 11 Example of the aci_clientaccess Function oooo o
4. 005 5 8 Parameters for the das_insert Parameter 05 5 9 Parameters for the das_eject Parameter ooooooooooomomo 5 10 Parameters for the das_eject_complete Parameter 5 11 Parameter for the aci_async_create Function 5 13 Parameter for the aci_async_find Function 0 5 14 Parameters for the aci_async_free Function 4 5 16 Error Code Reactions cece eee e eee ete teenies A 3 Tables xvii 21 Dec 2001 xviii Tables 601626 B GV OL VAC Ws hers a in ot Me did A o A 1 3 Tte dd Avidienc A AA AA hie AA AA AAA 1 3 Organization in ds lea ba teh a a tt de 1 3 Associated Documents oooocoocooocc eee eee 1 4 Explanation of Symbols and Notes oooooccccoococconcororrcnnr rr 1 4 ASSISTANCE A Shh ISA ee NLS E RN 1 5 1 2 Introduction 601626 B Overview This guide contains information and instructions necessary to program an application for using the ADIC AML via the Distributed AML Server DAS The topics discussed in this chapter are Overview Intended Audience Organization Associated Documents Explanation of Symbols and Notes Assistance Intended Audience This guide is intended for use by system programmers and administrators working with the DAS software Knowledge of the UNIX and OS 2 operating systems is required
5. 4 30 DAS ACI Functions 601626 B Table 4 10 Parameters for the aci_drivestatus4 Function Call Parameter Description drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the client that the drive is presently allocated to volser Volser if the drive is currently occupied cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity mount e drive logically occupied but the mount is physically not finished mount 1 keep 0 e drive logically occupied and mount is physically finished mount 0 keep 0 keep e drive logically empty but the keep is physically not finished mount 0 keep 1 e drive logically empty and the keep is physically finished mount 0 keep 0 serial_ number the serial number of the selected drive Return Values e 0 The call was successful e 1 The call has failed The external variable d_errno is set to one of the following DAS error codes aci_drivestatus4 4 31 21 Dec 2001 e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROGRESS e EBADCLIENT e ENOTSUPPHCMD aci_drivestatus_one Hinclude aci h init aci _dri
6. Table 4 31 Explanation of the Req_types req_types Explanation BACO switch barcode reading on or off aci_barcode EJCL eject of cleaning cartridges aci_ejectclean INCL insert media from I O unit with aci_insertgen INVT insert media from I O with aci_insert KEEP keep media from drive aci_dismount MOUNT mount media to a drive aci_mount MOVE eject media to I O unit aci_eject aci_eject_complete PINV Complete archive inventory and database update aci_inventory PRGE Delete a command from the command list aci_cancel SHUT Shutdown off the complete AMU aci_killamu aci_list 4 85 21 Dec 2001 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e EDASINT e ETIMEOUT e ESWITCHINPROG See Figure 4 77 for an example of the aci_list function List outstanding client requests LIME GC Ly char client SomeClient struct aci_req entry requests ACI MAX REQ ENTRIES if rec aci_list client requests aci perror Command farled 1 printf List for client s successful n e lentik for i 0 i lt ACI MAX REQ ENTRIES amp amp requests i gt request_no 0 i printf client s n trequest suinltindivid no ld n Mete Saul requests i gt clientname requests i gt request_no requests 1 gt individ_
7. All the parameters must comply with the rules for aci_mount function call The local variables int res must be defined before using this macro Return Values The d_errno and d_text globals are copied to d_errno and d_text fields of shared memory array entry The process is terminated by the exit call with the res exit code If there are problems with shared memory attachment d_errno global will be set to ENOSHARED aci_ dismount The aci_dismount function dismounts a volume See Figure 5 16 include aci_async h ACI DISMOUNT volser type aci_dismount Asynchronous ACI Call All the parameters must comply with the rules for the aci_dismount function call The local variable int res must be defined before using this macro Return Value The d_errno and d_text globals are copied to d_errno and d_text fields of shared memory array entry The process is terminated by the exit call with the res exit code If there are problems with shared memory attachment d_errno global will be set to ENOSHARED aci_ force The aci_force function dismounts any cartridge froma specific drive Refer to Figure 5 17 Macros 5 17 21 Dec 2001 include aci_async h ACI_FORCE drive Figure 5 17 aci_force Asynchronous ACI Call All the parameters must comply with the rules for the aci_force function call The local variable int res must be defined before using this macro Return Va
8. Figure 5 1 Figure 5 2 Figure 5 3 Figure 5 4 Figure 5 5 Figure 5 6 Figure 5 7 Figure 5 8 Figure 5 9 Figure 5 10 Figure 5 11 Figure 5 12 Figure 5 13 Figure 5 14 Figure 5 15 Figure 5 16 Figure 5 17 Figure 5 18 Figure 5 19 Figure 5 20 Figure 5 21 Figure 5 22 Figure 5 23 Figure 5 24 Figure 5 25 Figure 5 26 Figure 5 27 Figure 5 28 Example of a Generic aci_async_add Function 5 5 aci_async_add Function with the das_mount Parameter 5 6 Example of the aci_async_add Function with the das_mount Parame MOT Ass client eet eee WP ee te A AA cola all 5 6 aci_async_add Function with the das_dismount Parameter 5 7 aci_async_add Function with the das_force Parameter 5 7 aci_async_add Function with the das_insert Parameter 5 8 aci_async_add Function with the das_eject Parameter 5 9 aci_async_add Function with the das_eject_complete Parameter 5 10 Example of an aci_async_add Function 0 05 5 12 aci_async_create Function Call 0 00000000 5 13 Example if the aci_async_create Functi0N ooooooooo o o o 5 14 aci_async_find Function Call o oooooooooococcoooo oo 5 14 Example of the aci_async_find Function o ooo o o ooooooo oo 5 15 aci_async_free Function Call ooooo oocooooooco ooo 5 16 Example of aci_mount Asynchronous ACI Call 5 16 aci_dismount Asynchronous ACI Call
9. 1 4 Introduction 601626 B Assistance If problems cannot be solved with the aid of this document or if recommended training is desired contact the ADIC Technical Assistance Center ATAC ADIC 10949 East Peakview Avenue Englewood CO 80112 U S A e United States 1 800 827 3822 e Europe and Africa 00 800 9999 3822 21 Dec 2001 Assistance 1 5 1 6 Introduction 601626 B ACTIVAS 3 2 A A at ee 2 4 Client Services A A as 2 4 ACI Routines Basic Services oooooocoooonororo rr 2 5 ACI Routines Complete Services 0 0 cece eee eee 2 5 Media Ty pes sti ta Sty ce Se ih aroma teed E A dean A teaed Seed aril 2 7 IAS Frron G odes cies fe cea dda carne ie aaah it ltda 2 8 2 2 DAS ACI 601626 B Overview DAS 2 This section contains an overview of the DAS 2 software and information on AML Client Interface ACI services DAS is a client server software product designed to provide shared access to the family of ADIC AML systems AMLs The DAS software may be installed as a stand alone AML connection or be configured to share an AML with MVS or other ADIC supported host attachments DAS may be requesting services via a client command line interface or may be integrated with backup tape management and or HSM applications on the client to direct automated removable media activity throu
10. include aci h int aci_drivestatus2 char clientname struct aci drive entry pstDriveEntry ACI_MAX DRIVE ENTRIES2 Figure 4 17 aci_drivestatus2 Function Call Return the status of drives which are set to UP active for the client with name clientname The status is returned in drive entry an array of pointers to aci_drive entry structures See Figure 4 18 on page 4 23 For additional information Refer to aci_driveaccess on page 4 18 4 22 DAS ACI Functions 601626 B struct aci drive entry char drive name ACI DRIVE LEN char amu_drive name ACI_AMU DRIVE LEN enum aci drive status drive state char type char system id ACI_ NAME LEN char clientname ACI NAME LEN char volser ACI VOLSER LEN bool t cleaning short clean_count Figure 4 18 Returned Status See Table 4 8 fora description of the parameters for the aci_drivestatus2 function call Table 4 8 Parameters for the aci_drivestatus2 Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives Using SHARED_ACCESS as a key word for the client shows all drives which are allocated in the SHARED_ACCESS mode Using EXUP as a key word for the clientname shows all drives which are allocated in the EXUP mode aci_drivestatus2 4 23 21 Dec 2001 Table 4 8 Parameters for
11. 6 d_error Name EPROBVOL Recommended Reactions to the Error Code The AMS returned a error code from robot control or information about an unrecoverable situation in the AML Stop the command that returned this error Refer to the AMU Log for more information EAMU The AMS returned an unexpected error Stop the command that returned this error Refer to the AMU Log for more information EAMUCOMM An internal error was detected in the AMS software AMS error code 1001 in the AMU log wait a moment then enter this or another test command again Otherwise the AMS software will need to be stopped and restarted EROBOT not used 10 EROBOTCOMM There is a problem in the communication between AMU and robot control or the robot is switched logically or physically to not ready Check the status with aci_robstat and if possible set the status to ready Try the command again 11 ENODAS On ACI Version 1 2 mapped to the Error EDASINT Refer to EDASINT on page A 7 12 EDEVEMPTY AMS returned the error code 1094 the drive named is in the AMU database with the attribute Empty If there is a cartridge in the drive previous error with database mismatch or manual intervention the AMU database must be updated Use the AMS screen or remote SQL commands to set the drive coordinate e Volser volser in the drive Attribute O Occupied set the home coordinate of the Volser Attrib
12. The aci_shutdown function shuts down the DAS software See Figure 4 108 m abac bucle aci AN int aci_ shutdown char now Figure 4 108 aci_shutdown Function Call This function shuts down the DAS server Once the request has been accepted no other request will be accepted A restart of the DAS server is necessary to resume DAS operations See Table 4 48 Table 4 48 Parameter for the aci_shutdown Function Call Parameter Description now By default DAS waits for outstanding requests to be completed before termination It however the now parameter or the now string is specified the shut down is immediate Return Values 4 118 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e ERPC e EDASINT e ESWITCHINPROG Refer to Figure 4 109 on page 4 119 for an example of the aci_shutdown function 601626 B Shut down DAS operation HIME E char now NULL if rc aci_shutdown now aci_perror Shut down failed printf Shut down successful n Figure 4 109 Example of the aci_shutdown Function aci_snmp The aci_snmp function sends SNMP messages See Figure 4 110 ac luces Mees Jai int aci_snmp char Msg Figure 4 110 aci_snmp Function Call See Table 4 49 Table 4 49 Parameter for the aci_snmp Function Call Parameter De
13. h lt arg1 gt lt arg2 gt lt argN gt e sadmin script lt lt script file name gt In the first case sadmin is running in single command mode In the second case it is executing the specifically prepared script The script contains all usual sadmin commands written in same syntax For example mount t DECDLT 000030 DE02 eject t OD Thick P702010101 P702010122 E02 dism d DE02 Each line must be EOL terminated Sadmin responds with a help message when run without arguments The script command isn t included in the message Contents of the Async Support Layer Library Currently the Asynchronous Support Layer library supports only the following commands e MOUNT e DISMOUNT e FORCE e INSERT e EJECT e EJECT COMPLETE The asynchronous API consists of the following four functions 5 4 DAS ACI 3 0 Asynchronous Support Layer 601626 B aci_async_add adds an entry in the shared memory area aci_async_create creates and initializes the shared memory area aci_async_find finds required shared memory table entry aci_async_free frees required shared memory table entry There is also a header file for C developers aci_async h defining all the required structures and macros for development of software using the ACI asynchronous support aci_async_add The aci_asyn_add function adds a new aci_async_entry element to the shared memory array See Figure 5 1
14. The ADIC Distributed AML Server DAS V3 10E Interfacing Guide 63 Advanced Digital Information Corp Copyright Notice Copyright ADIC 2001 The information contained in this document is subject to change without notice This document contains proprietary information which is protected by copyright All rights are reserved No part of this document may be photocopied reproduced or translated to another language without prior written consent of ADIC ADIC shall not be liable for errors contained herein or for incidental or consequential damages including lost profits in connection with the furnishing performance or use of this material whether based on warranty contract or other legal theory All trademarks within this document are the property of their respective owners Copyright Notice Europe Copyright ADIC Europe 2001 All rights reserved No part of this document may be copied or reproduced in any form or by any means without prior written permission of ADIC Europe ZAC des Basses Auges 1 rue Alfred de Vigny 78112 Fourqueux FRANCE ADIC Europe assumes no responsibility for any errors that may appear in this document and retains the right to make changes to these specifications and descriptions at any time without notice This publication may describe designs for which patents are pending or have been granted By publishing this information ADIC Europe conveys no license under any patent or any other
15. The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT 21 Dec 2001 aci_eject3 4 47 4 48 DAS ACI Functions ENOAREA ENOTAUTH EBADCLIENT ERETRYL EINUSE ECANCELED ENOMATCH ETIMEOUT ESWITCHINPROG EHICAPINUSE ECOORDINATE EBARCODE EINVALIDDEV ENOROBOT EDATABASE ENOTSUPPHCMD EAREAEMPTY EBARCODE EAREAFULL 601626 B aci_eject_ complete The aci_eject_complete function ejects volumes and removes the database entries See Figure 4 39 include aci h int aci eject complete char xeject area char volser range enum aci_ media type Figure 4 39 aci_eject_complete function call Eject the volumes in volser_range to the eject_area The media type of the volumes must match that of the eject_area Set type to the media type of the volser_range The database entry for the volume is deleted and the position in the AML that the volume occupied becomes free This could be useful if the volume is to be placed in long term archive storage or more space is needed in the AML If the volume is re inserted into the AML it is stored in the next available position and it probably will not occupy the previous position The volume is re inserted in the same position only if aci_eject is used See Table 4 18 for a description of the parameters for the aci_ejec
16. char type char system_id ACI_ NAME LEN char clientname char volser ACI_VOLSER_ LEN bool t cleaning short clean_count Figure 4 29 Returned Status 4 36 DAS ACI Functions 601626 B See Table 4 13 for an explanation of the parameters used for the aci_drivestatus3_one function Table 4 13 Parameters for the aci_drivestatus3_one Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives aci_drive_entry returned information about the status of the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the client that the drive is presently allocated to volser Volser if the drive is currently occupied cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity Return Values e 0 The call was successful e 1 The call has failed The external variable d_errno is set to one of the following DAS error codes aci_drivestatus
17. Organization This manual is divided into the following chapters Chapter 1 Introduction Notes on the use of the manual Chapter 2 DAS ACI Overview of the DAS 2 software and information on AML Client Interface ACI services Chapter 3 Safety Describes the hazard symbols messages safety features and operational considerations Chapter 4 DAS ACI Functions Information and descriptions of ACI functions and function callas Chapter 5 ACT 3 0 Asynchronous Support Layer Provides a description of the Asynchronous ACI calls Appendix A Important Information Error recovery procedures and explanations of terms used throughout this document Index Overview 1 3 21 Dec 2001 Associated Documents You may wish to reference the following documents e 601324 A DAS V3 1 Release Guide e 601625 A DAS V3 1 Administration Guide Explanation of Symbols and Notes The following symbols and highlighted passages draw attention to important information KAN A o E Detailed explanations for the above symbols are provided in Hazard Alert Messages on page 3 3 lt 1 gt lt 2 gt Press these keys simultaneously Italic Headline e g Chapter 3 Safety File name e g dasdata ini Bold Terms appearing on the operating panel Special Term e g Utilities Commands with or without parameters e g INITIALIZE Courier Command appearing on a console e g cd Switch position e g ON OFF
18. Refer to Figure 4 48 on page 4 60 for an example of the aci_ejectclean function 21 Dec 2001 aci_ejectclean 4 59 Eject clean cartridges from AML system int res i pnActualCount char Cleanpoolname CLPO1 char areaname E02 struct aci_ei_ info ei_info ACI_EI MAX RANGE res aci_ejectclean areaname Cleanpoolname Sil auto siz ies aci peisrom command failed u r printf Volume ejects request successful n 0 i lt ACI El MAX RANGE i if ei infolil gt volser 0 break printf volser s media type s Error d n ei infolil gt volser ei infolil media type ei_info i gt errcode Figure 4 48 Example of the aci_ejectclean Function aci email The aci_email function sends email messages See Figure 4 49 Hinclude aci h int aci_email char Adr char Msg Figure 4 49 aci_email Function Call See Table 4 22 4 60 DAS ACI Functions 601626 B Table 4 22 Parameter for the aci_email Function Call Parameter Description Adr A non empty email address of no more than 64 characters Msg defines the email message of no more than 255 characters O Only supported by the Scalar DLC software Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG
19. The database entry for the volume is not deleted and the position in the AML that the volume occupied remains reserved for insertion of a volume with a matching volser This could be useful if the volume is temporarily ejected and will be inserted in the near future In such case the position remains reserved and the volume s location within the AML does not change The eject will stop when the eject area is full The request will either be cancelled or completed after the area is marked empty depending on the DAS_EJECTAREAFULL environment variable das_eject_complete The asi_async_add function with the das_eject_complete parameter ejects volumes and removes the database entries See Figure 5 8 aci asyae aci das ejecit compllere ejecit_ area volser range type Figure 5 8 5 10 DAS ACI 3 0 Asynchronous Support Layer aci_async_add Function with the das_eject_complete Parameter Eject the volumes in volser_range to the eject_area The media type of the volumes must match that of the eject_area Set type to the media type of the volser_range The database entry for the volume is deleted and the position in the AML that the volume occupied becomes free This could be useful if the volume is to be placed in long term archive storage or more 601626 B space is needed in the AML If the volume is re inserted into the AML it is stored in the next available position and it probably will not occup
20. aci drivestatus2 client drive entry Eei perro Miere relee Jp printf Drive status request for client s successful n client i lt ACI_MAX DRIVE ENTRIES2 i 0 drive entry i gt drive name 0 break printf drive s amu drive s st s type c Sysid s client s volser s cleaning d clean count d n drive entry lil gt drive_name drive entry i gt amu_drive_ name drive entry lil gt drive_ state JNCIL AVE O NIN drive entrylil gt type drive entry lil gt system_id drive entry lil gt clientname drive entrylil gt volser drive entry i gt cleaning drive entrylil gt clean count Figure 4 19 Example of the aci_drivestatus2 Function aci_drivestatus3 The aci_drivestatus3 function queries the physical status of up to 250 drives See Figure 4 20 DAS ACI Functions 601626 B Hinclude aci h dame aci crivesearcuss cier cilacmemenne struct aci ext drive entry pstbriveEnteyll Figure 4 20 aci_drivestatus3 Function Call Return the status of drives which are set to UP for the client with the name clientname If clientname is the NULL string the call returns status on all drives The status is returned inan array of pointers to aci_ext_drive_entry structure The array element can be maximal 250 See Figure 4 21 struct aci_ext_drive entry char char enum char char char bool drive name ACI_ DRIVE LEN amu_
21. aci h int aci_robhome char szRobot Figure 4 96 aci_robhome Function Call The call of this function sends the robot with number sZRobot to the home position See Table 4 42 Table 4 42 Parameter for the aci_robhome Function Call Parameter Description szRobot the defined robot of a twin AML system R1 Robot 1 of the AML must also be used for all single AML systems R2 Robot 2 of the twin AML Return Values 4 106 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ERETRYL e ECANCELLED e EDASINT e ETIMEOUT e ESWITCHINPROG 601626 B e EHICAPINUSE e ECOORDINATE e EDATABASE e ENOTSUPPHCMD See Figure 4 97 for an example of the aci_robhome function Robot Homing mae re Os re aci robhome RIME e e aci_perror Command failed j printf robot is now home n Figure 4 97 Example of the aci_robhome Function aci_robstat The aci_robstat function starts the robot or gets the status of the robot See Figure 4 98 Hinclude aci h int aci_robstat char szRobot char szAction Figure 4 98 aci_robstat Function Call See Table 4 43 for a description the parameters for the aci_robstat function call aci_robstat 4 107 21 Dec 2001 Tab
22. e EBADCLIENT e ENOTSUPPHCMD aci_flip The aci_flip function turns an Optical Disk O D in a drive See Figure 4 50 Hne iude Maga Jal mie ACL slipol clava scerye Figure 4 50 aci_flip Function Call In the drive named drive the dismounted O D will be turned 180 and mounted in the same drive Refer to Table 4 23 for a description of the parameter for the aci_flip function For additional information refer to aci_mount on page 4 91 and aci_dismount on page 4 16 aci_flip 4 61 21 Dec 2001 4 62 Table 4 23 Parameter for the aci_flip Function Call Parameter Description drive name of the optical disk drive for the flip operation Return Values DAS ACI Functions 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ERPC EINVALID ENOVOLUME ENODRIVE EDRVOCCUPIED EPROBVOL EAMU EAMUCOMM EROBOTCOMM EDASINT EDEVEMPTY ENOTAUTH EBADCLIENT ENOTMOUNTED ECANCELED EDASINT ECLEANING ETIMEOUT ESWITCHINPROG EHICAPINUSE ECOORDINATE EBARCODE EINVALIDDEV ENOROBOT EDATABASE ENOTSUPPHCMD EAREAEMPTY 601626 B e EBARCODE e EAREAFULL See Figure 4 51 for an example of the aci_flip function fe Ila a vyolt me a E Opyriceadl Cisk Grive O char drive od01 O civas J J aci_perror Flip command failed printf Flip of in drive s successful
23. ii wee else aga jasa Mamma seeslllecla 6 7 printf Scratch volser s found n szVolser Figure 4 101 Example of the aci_scratch_get Function aci_scratch_info The aci_scratch_info function gets information about a scratch pool See Figure 4 102 lacado Macs Imh int aci_ scratch _ infol char subpool enum aci_ media type long volcount long scratchcount Figure 4 102 aci_scratch_info Function Call Query information regarding the scratch pool with the name subpool or the default scratch pool if the subpool name is not specified The information returns the number of volsers defined in the pool and the number of volsers that have been selected as scratch Refer to Table 4 45 on page 4 112 For additional information refer to aci_scratch_unset on page 4 116 21 Dec 2001 aci_scratch_info 4 111 Table 4 45 Parameters for the aci_scratch_info Function Call Parameter subpool Description stored name of the pool for scratch media If the information is to be taken from a default subpool of a media type set type to the media type of the volser and seat subpool to the NULL string 4 or 0 type type of the media in the subpool Refer to Media Types on page 2 7 volcount number of volsers in the named pool independent of the status scratch or not defined scratchcount number of the volser with the statu
24. include aci_async h include aci_xdr h aci_async_entry aci_async_add int aci_ func Figure 5 1 Example of a Generic aci_async_add Function Parameters The aci_func parameters are as follows e das_mount e das _dismount e das force e das_insert e das_eject e das_eject_complete aci_async_add 5 5 21 Dec 2001 das_mount The aci_async_add function with the das_mount parameter mounts a volume in a drive See Figure 5 2 aci_asycn_add das mount volser type drive Figure 5 2 aci_async_add Function with the das_mount Parameter Mount the volume named volser of media type type in the drive named drive The volume will then be available to the requesting client See Table 5 1 Table 5 1 Parameters for the das_mount Parameter Parameter Description volser Volser which should be mounted also foreign volser possible after the cataloging with carf type Media type of the named volser Refer to Media Types on page 2 7 drive Name of the drive which should be mounted If the drive is set to the NULL string the drive is automatically selected from the list of available drives to the client The client host must have Automatic Volume Recognition AVR active to detect the mount Refer to Figure 5 3 on page 5 6 for an example of the aci_async_add function with the das_mount parameter aci_async_add DAS MOUNT 000030 C3480 DE02
25. scratch set ta a e a tem UA ad Vi 4 114 Return Valles morirte tada bpa ad At lat 4 115 ACI Scratch UNS ad A al ra A LA OI cd MS 4 116 Return Vales a ee 4 117 AaClSAUtAOWN skeen rds toe darlas ts Aaa ceases 4 118 4 3 21 Dec 2001 4 4 DAS ACI Functions Return Valles tias se od BR lead cei AR a Ree OR ance shee AERP 4 118 AGL SAMP tins tates ir latas 4 119 Return V alles A cece ete tbe belch ev has ob bral One ER asta 4 119 ACTES WICH 5 8 oo Peale bdo eae les edge enna tara ed 4 120 Return Values metia ti ota are aia dba Bae eee 4 121 ACL u load serae or ee eh ene le a ee Saab ae eee a ae 4 122 Return V alles ana a cette Ae Rotana AA Ee ate BR ra RE 4 122 ACLVACW airn aE ii Bw IAS E el EA BOR BRE ts RT daa Be h aa Died 4 123 Return Values 0 otek se ieee BES Ae oP ad ee we Ele ts 4 125 aci_VOISELINVENLOLY corsario gra ee ee eee 4 126 Retar Values cid AS Le eat oes ia ba ed 4 127 ACE volseraccess A a ate eee aes 4 128 REGIE AICS catan Gor see be eee Ra GR AGAR han E 4 128 aci volserstatus p sk 3 96 ieee Bie ia teats il te et eae 4 129 Return ales A A CREE Cotas 4 130 601626 B Overview All ACI function calls and ACI structures are defined in the aci h header file ACI functions return 0 or 1 for successful and unsuccessful command execution respectively A command failure sets the DAS error code variable d_errno to the specific error code In such case a text error message m
26. volume See Figure 4 114 Hinclude aci h int aci_view char volser enum aci_media type struct aci_volume_ desc desc Figure 4 114 aci_view Function Call Return the database entry for the volume named volser of media type type The database entry is returned in the aci_volume_desc structure See Figure 4 115 For additional information refer to aci_qvolsrange on page 4 98 and aci_inventory on page 4 81 struct aci_volume desc char coordinate ACI_COORD_LEN char owner char attrib char type char volser ACI_VOLSER_LEN char vol _ owner int use count int crash count ha Figure 4 115 Volser Information Contained in the aci_volume_desc Structure The structure returns the AMU archive catalog which robot owns the volume a volume attribute of mounted ejected occupied or undefined and the volser media type Refer to Table 4 51 on page 4 122 aci_view 4 123 21 Dec 2001 Table 4 52 Parameters for the aci_view Function Call Parameter Description volser volser specifying the medium for which information is being queried type media type to which the volser belongs Refer to Media Types on page 2 7 aci_volume_desc structure with the returned data from the AMU database table COORDINATES coordinate 10 digit logical coordinate specifying the slot Refer to the AMU Reference Manual owner number of the robot which can access
27. 004711 char teject area HO2 struct aci_ei info ei info ACI EI MAX RANGE re aci eject2 eject area volser range ACT 3590 amp pnActualCount amp ei_info aie re acil perror Command farled m printf Volume ejects request successful n O i lt ACI_EI MAX RANGE iz sel tarhi Swol sere break printf volser s media type s Error d n ei into li gt volser ei_infolil gt media type ei_info i gt errcode Figure 4 36 Example of the aci_eject2 Function aci_eject2 4 45 21 Dec 2001 aci_eject3 The aci_eject3 function ejects a range of volumes from the AML See Figure 4 37 include aci h int aca eject3 char teject area char volser range enum aci media type int pnActualCount struct aci ei into pstellnto Figure 4 37 aci_eject3 Function Call The volser_range field has a maximum size of 512 bytes For the structure of the aci_ei_info function refer to Figure 4 38 struct aci ei info char volser ACI VOLSER LEN char media type lACI DRIVE LEN int errcode Figure 4 38 Structure of the aci_ei_info function See Table 4 17 for a description of the parameters for the aci_eject2 function call Table 4 17 Parameters for the aci_eject3 Function Call Parameter Description eject_area logical area defined in the AMS where the cartridges should be ejected volser_range e a single volser e multiple volsers separated by
28. 30 aci_drivestatus_one Function Call aeaaee 4 32 Returned Status eresas dak NE n E bake ban ie aa 4 32 aci_drivestatus_2_one Function Call 0 002005 4 34 Returned Status iii ie sade ee es tas ee ae eee 4 34 aci_drivestatus_3 one Function Call o o oo oo o o o 4 36 Returned MaS ersa E eee win hia oe a bids 4 36 aci eif conf Function Call so sce eiccen secede we ea a 4 38 Returned Status 0 eee eee eee teen eens 4 38 aci_eject Function Call irre n n E A n 4 39 Example of the aci_eject Functi0N oooooooococcccoo o 4 41 aci_eject2 Function Call 0 0 eee eee eee 4 42 Structure of the aci_ei_info function from aci h 4 42 Example of the aci_eject2 Function 0 00000 4 45 aci_eject3 Function Call 00 eee 4 46 Structure of the aci_ei_info function 0 0000 4 46 aci_eject_complete function call oooooooooom oo o oo 4 49 Example of the aci_eject_complete Function 4 51 aci_eject2_complete Function Call o oooo o ooooo ooo o 4 51 Structure of the aci_ei_ info functiON o oooooccoococcoococ 4 51 Example of the aci_eject2_complete Function 4 54 aci_eject3_complete Function Call o ooooo oo ooo ooo 4 54 Structure of the aci_ei_info function 00 0000000008 4 55 aci_ejectclean Function Call 0 00000000 4 57 Structure
29. 71 4 70 DAS ACI Functions 601626 B struct aci_sideinfo char cVolumeSide char szVolser ACI VOLSER LEN Figure 4 60 Structure of Type aci_sideinfo The define ACI_SIDE_NUMBER parameter is set in aci h to 2 See Table 4 27 Table 4 27 Parameters for the aci_getvolsertoside Function Call Parameter Description volser name of the volser for which information is requested aci_sideinfo information returned for the selected volser CVolumeside e A for the Volser located on the top label e B for the Volser located on the bottom label on the cartridge sZVolser Volser from the AMU database Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e ENOTAUTH e ETIMEOUT e ESWITCHINPROG e ENODOUBLESIDE Refer to Figure 4 61 on page 4 72 for an example of the aci_getvolsertoside function aci_getVolserToSide 4 71 21 Dec 2001 Display volsers for the optical disk lige we Op chee volea OOPiIU58 p struct aci_sideinfo sideinfo ACI SIDE NUMBER aci getvolsertoside volser sideinfo wie we aci perror Command failed y printf Side s Volser d n side info 0 gt Side side _info 0 gt Volser side into 1 gt Side side info 1 gt Volser Figure 4 61 Ex
30. ACI ALIVESTACUS2 ca a o id 601626 B Return Valles aia a 2 2 Gana le eed A head mse ihe RA bh OG 9 hen A ae enon amp ie a 4 25 ACU AKIVES tatuSS ss is rt hed A nce et ite oats hoe A trata ta bee a le wealth galt 4 26 Retales ssc feck iets 4S da Alea be ASS 4 29 act drivestatuse ci es kate sawed sda a ara dao ed 4 29 Retar Values esti tino aE da Do RA OA 4 31 acl drivestatuS One si 2 sas oa isa A eae tec aed 4 32 Retu NV alesana Aa Wiese abi BU BG 4 33 ACI ALIVES TatUS2 OM ES A A A ia AE RRAN e 4 34 Return Valles A A A ee A 4 35 acl drivestatus3 Oir a aaa 4 36 Retar Values a is ta as te 4 37 ACC CONE A A aa pate ee eae 4 38 Return V ales atan tai ag toe ak he heen eb te R O Bee ts 4 39 ACI CCE arkena Ye acatatere aro ata 4 39 Return Values mar fee eect els te Mate bee AA oi Se 4 40 ACI hls cee diets Ar oie tea aie Gal sass bean baste ee 4 42 Return Values vertido te Bots de ie pe baw lols da Bae et OA 4 43 ACA ee She A AA RANG ok BME at MR A AG Loe T 4 46 Return Vaes ar a amp 5 2 conde anode et hk oa Gee nce Renee tee AUER 4 47 ach eject Complete inermi leas ee Ree A DIA AAA 4 49 Return Malestar A Se ER thos 4 50 aci eject2CoMPlete ierre eve wie odes notes ohes di Reg EAE 4 51 Returni Values metida ti te aa Pals da Bea s asa eke 4 53 aci eject3 complete ais ise ane ae ee Ps OU E A a ERONEN E 4 54 Returni Values r a ta en ai a ER Bee ae Eb 4 56 ACL CJECHClEAN cas Hiss ee that athe Re a tal
31. Function aci_killamu 4 83 21 Dec 2001 aci list The aci_list function lists outstanding requests for a client See Figure 4 75 include aci h int aci_list char clientname struct aci_req entry request_list ACI_MAX REQ ENTRIES Figure 4 75 aci_list Function Call List outstanding requests belonging to the client clientname Return the requests in the request_list array of aci_req entry request_list structures The structure s request types are defined in the header file aci_das h See Figure 4 76 For additional information refer to aci_cancel on page 4 7 struct aci_req entry w long request no u_ long individ no char clientname ACI_NAME_ LEN char req typelACI_REOTYPE LEN 1 Figure 4 76 Example of the Returned Structure Refer to Table 4 30 for a description of the parameters for the aci_list function call 4 84 DAS ACI Functions 601626 B Table 4 30 Parameters for the aci_list Function Call Parameter Description clientnamet Name of the client that active request are reported to aci_req_entry Returned information about outstanding commands request_no DAS command sequence serial number individ_no reserved not used clientname name of the requesting client req_type type of the outstanding command Refer to Table 4 31 See Table 4 31 for an explanation of the req_types
32. Volser if the drive is currently occupied mount e drive logically occupied but the mount is physically not finished mount 1 keep 0 e drive logically occupied and mount is physically finished mount 0 keep 0 keep e drive logically empty but the keep is physically not finished mount 0 keep 1 e drive logically empty and the keep is physically finished mount 0 keep 0 cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity 4 28 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call has failed The external variable d_errno is set to one of the following DAS error codes e EBADCLIENT e ERPC e EINVALID e EDASINT e ETIMEOUT e ESWITCHINPROGRESS e EDASINT aci_ drivestatus4 The aci_drivestatus4 function queries the physical status of up to 380 drives See Figure 4 22 include aci h init aci_drivestatus4 char clientname dci cleiwe struct aci_ext drive entry4 pstDriveEntry ACI MAX DRIV_ENTRIES4 Figure 4 22 aci_drivestatus4 Function Call Return the status of drives which are set to UP for the client with the name clientname If clientname is the NULL string the call returns status on all drives If a value for the drive field is indicated the information relates to that single drive The status is return
33. all drives If a value for the drive field is indicated the information relates to that single drive The status is returned in an array of pointers to aci_drive_entry structure The array element can be maximal 250 See Figure 4 27 The value of ACI MAX_DRIVES_ENTRIES2 is equal to 250 struct aci_drive entry char drive name ACI DRIVE LEN char amu_drive name ACI AMU DRIVE LEN enum aci drive status drive state char type char system_id ACI_ NAME LEN char clientname char volser ACI_VOLSER_ LEN bool t cleaning short clean_count Figure 4 27 Returned Status 4 34 DAS ACI Functions 601626 B See Table 4 12 for an explanation of the parameters used for the aci_drivestatus2_one function Table 4 12 Parameters for the aci_drivestatus2_one Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives aci_drive_entry returned information about the status of the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the clien
34. away medium temporarily not at specified coordinated in transit on AML 2 with double robotic controller systems Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EAMU e EAMUCOMM e EINVALID e EDASINT e ENOVOLUME e ERPC e ETIMEOUT e ESWITCHINPROG Refer to Figure 4 116 on page 4 126 for an example of the aci_view function aci_view 4 125 21 Dec 2001 Get volume information lae Ieee enum aci_media type ACI 3590 Clase yolger Wo struct aci_vol_desc desc if rc aci_view volser type amp desc aci_perror view failed else printf Volser s Type c Attrib c n tcoordinate s n tuse count d n desc volser desc type desc attrib desc coord desc use_count Figure 4 116 Example of the aci_view Function aci_volser_inventory The aci_volser_inventory function inventories the volsers within the AML See Figure 4 117 include aci h int aci_volser_inventory char pszVolser int status Figure 4 117 aci_volser_inventory Function Call Start the comparison between the physical barcode volser and the AMU database and update the AMU database as necessary Refer to Table 4 55 on page 4 127 4 126 DAS ACI Functions 601626 B Table 4 55 Parameters for the aci_volser_inventory Function C
35. completed n drive Figure 4 51 Example of the aci_flip Function aci_flip 4 63 21 Dec 2001 aci_ force The aci_force function dismounts any cartridge from a specific drive See Figure 4 52 aba luce Masa dal ime aei moral clics oliaiyea Figure 4 52 aci_force Function Call Force a dismount from a drive named drive regardless of which volser is in the drive See Table 4 24 For additional information refer to aci_dismount on page 4 16 and aci_mount on page 4 91 Table 4 24 Parameter for the aci_force Function Call Parameter Description drive name of the drive for the dismount Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e ENODRIVE e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e EDEVEMPTY e ENOTAUTH e EUPELSE 4 64 DAS ACI Functions 601626 B e EBADCLIENT e ENOTMOUNTED e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL See Figure 4 53 for an example of the aci_force function Dismount any volume from drive iim we Or a acal momee Deiysl e ae 198 aci perron Command failed 0 printf Dismou
36. e EINUSE e ENOTFOUND e ECANCELLED e EDASINT e ENOMATCH e ECLEANING e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e ECOORDINATE e EPROBDEV e EBARCODE e EAREAFULL Refer to Figure 4 83 on page 4 93 for an example of the aci_mount function 601626 B Mount volume in specific drive ime 7e Og we ACi inoue VAVAROOI ACE 3590 Drive2 Nz uE 328 aci perro command failed umi printf Mount of s successful n volser Figure 4 83 Example of the aci_mount Function aci_partial_inventory The aci_partial_inventory function inventories part of the AML only in one device See Figure 4 84 Hinclude aci h int aci partial inventory char SourceCoor char TargetCoor Figure 4 84 aci_partial_inventory Function Call Start the compare between physical AML barcode of the Volser or database of the Scalar 1000 with the AMU database and update the AMU database O When aci_partial_invenotry is called with NULL stings for SourceCoor and TargetCoor parameters a complete inventory will be invoked If the archive is large it could take several hours for the inventory to complete Refer to Table 4 36 on page 4 94 for a description of the parameters for the aci_partial_inventory function call aci_partial_inventory 4 93 21 Dec 2001 Table 4 36 Parameters for the
37. ejected volser volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcode Error code derrno 4 52 DAS ACI Functions If the eject area is full the system stops the eject procedure Depending on the DAS_EJECTAREAFULL environment variable on the AMU the command will be canceled or the system starts with the next eject after the operator has removed cartridges from the eject area The attribute of the coordinate will be set to empty in the AMU database The volser will be set to 0000000000000000 but the type will remain unchanged The compartment is ready for the other volsers For additional information refer to aci_insert on page 4 75 and aci_eject2 on page 4 42 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOTAUTH e EBADCLIENT e ERETRYL e EINUSE e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL Refer to Figure 4 43 on page 4 54 for an example of the aci_eject2_complete function aci_eject2_complete 4 53 21 Dec 2001 Eject
38. of the aci_ei_info function from aci h 4 57 Example of the aci_ejectclean Function oooo o ooooooooo o 4 60 aci_email Function Call 0 0 0 0 0c cc cc ce eee 4 60 aci flip Function Call s i ssa ere e hi ee a a aa 4 61 Example of the aci_flip Function 00 0000 4 63 aci_force Function Call 0 0 0 0 ccc cece eee 4 64 Example of the aci_force Function 0 000 4 65 aci_foreign Function Call 0 0 0 0 cece eee eee 4 66 601626 B Figure 4 55 Figure 4 56 Figure 4 57 Figure 4 58 Figure 4 59 Figure 4 60 Figure 4 61 Figure 4 62 Figure 4 63 Figure 4 64 Figure 4 65 Figure 4 66 Figure 4 67 Figure 4 68 Figure 4 69 Figure 4 70 Figure 4 71 Figure 4 72 Figure 4 73 Figure 4 74 Figure 4 75 Figure 4 76 Figure 4 77 Figure 4 78 Figure 4 79 Figure 4 80 Figure 4 81 Figure 4 82 Figure 4 83 Figure 4 84 Figure 4 85 Figure 4 86 Figure 4 87 Example of the aci_foreign Functi0N o ooooooccccom o 4 68 aci_getvolsertodrive Function Call 000 4 68 aci_voltodrive_entry Structure 00000 e eee 4 69 Example of the aci_getvolertodrive Function 4 70 aci_getVolserToSide Function Call 0 000 4 70 Structure of Type aci_sideinf0 o ooo oooocccccccccomm ooo 4 71 Example of the aci_getvolsertoside Function 4 72 aci_init Function Cal
39. of the aci_partial_inventory Function aci_partial_inventory 4 95 21 Dec 2001 aci_perror The aci_perror function writes DAS error text to standard error See Figure 4 86 include aci h dme ACL perrot Cher verrot pretiz Figure 4 86 aci_perror Function Call The aci_perror function writes an error message to the standard error device describing the last error encountered The error message is either returned by the DAS server or if not available the error message is selected according to the value stored in d_errno The parameter error_prefix is attached to the message See Table 4 37 Table 4 37 Parameter for the aci_perror Function Call Parameter Description Error_prefix message error warning or information stored in d_errno See Figure 4 87 for an example of the aci_perror function Write DAS error message with usr text prepended ie el errio aci_perror This text is prepended Figure 4 87 Example of the aci_perror Function 4 96 DAS ACI Functions 601626 B aci_qversion The aci_qversion function queries the version string of ACI and DAS component See Figure 4 88 aLaCILUCGl aca Ja int aci qversion char aciver char dasver Figure 4 88 aci_qversion Function Call Query the version of the installed ACI and DAS component This function allows the client to determine that the correct software c
40. of three sections e Common information pid aci_func d_errno d_text member variables e Parameter data parms structure e Response data response structure aci_async_entry Refer to Figure 5 23 on page 5 24 for the common structure that a shared memory array contains Data structures 5 23 21 Dec 2001 struct _aci_async_entry pid t pid process id 1 means slot is empty baje ac ua DAS MOUNT DAS DISMOUNT DAS FORCE DAS INSERT DAS EJECT DAS EJECT COMPLETE z int d _ errno DAS error code z chard text DAS_SZ_MSG_LEN error message de union _parms parameters data async drive parms st_drive parms mount dismount force parameters async _ei parms st_ei parms insert eject ejiece complete parameters el parms union response response data async mount parms st mount parms mount command response async response st response dismount force eject eject complete response async insert response st insert response insert command response response aci_async entry Figure 5 23 Common Structure for aci_async_entry 5 24 DAS ACI 3 0 Asynchronous Support Layer 601626 B Parameter Data Parms Structure This union contains several structures that hold the data required for making an appropriate ACI call All the constants starting with XDR are defined in aci_xdr h file
41. the aci_drivestatus2 Function Call Parameter Description aci_drive_entry returned information about the status of the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the client that the drive is presently allocated to volser Volser if the drive is currently occupied cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity O The maximum number of drives displayed is 250 4 24 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG e EBADCLIENT Refer to Figure 4 19 on page 4 26 for an example of the aci_drivestatus2 function aci_drivestatus2 4 25 21 Dec 2001 4 26 Get drive status information for some client ime we O me al char client SomeClient struct aci_drive entry drive entry ACI_MAX DRIVE ENTRIES2 aL E re
42. this is unlikely to succeed Once the robotics are in motion the request may not be canceled DAS reports that the cancel was successful while the canceled request completes For additional information Refer to aci_list on page 4 84 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOREQ e EDASINT e ERETRYL e ECANCELED e EDASINT e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE See Figure 4 4 for an example of the aci_cancel function Cancel first client request for a client ime WE Os char pszthis client clientname struct req entry prequest NULL reg a Gamba sicl pS ze hismelalcn tym pEeQuesitus l aie fire re aci_cancel prequest 0 request_id Wie we acero Commence ae O E Figure 4 4 Example of the aci_cancel Function 4 8 DAS ACI Functions 601626 B aci_cleandrive The aci_cleandrive function mounts a cleaning cartridge to a specific drive See Figure 4 5 include aci h ime EEL Sandra Clovene sChiwe Figure 4 5 aci_cleandrive Function Call See Table 4 3 for a description of the parameter for the aci_cleandrive function call Table 4 3 Parameter for the aci_cleandrive Function Call Parameter Description drive name of the drive to be cleaned Only clean the drives when they need
43. to be cleaned Unnecessary cleaning damages the drives Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e ENODRIVE e EDRVOCUPPIED e EPROBVOL e EAMU e EROBOTCOMM e EDASINT e EDEVEMPTY e ENOTAUTH e EBADCLIENT aci_cleandrive 4 9 21 Dec 2001 4 10 DAS ACI Functions ERERTRYL EINUSE ECANCELLED EDASINT ECLEANING ETIMEOUT ESWITCHINPROG EHICAPINUSE EBARCODE EINVALIDDEV ENOROBOT EDATABASE ENOTSUPPHCMD EAREAEMPTY ENOPOOL EPROBDEV EBARCODE EAREAFULL 601626 B aci_clientaccess The aci_clientaccess function modifies the access lists of a client See Figure 4 6 include aci h ime acai Cilicmraccedis Chez ciligmememne enum aci_ command action char volser range enum aci_media type char drive_range Figure 4 6 aci_clientaccess Function Call See Table 4 4 for a description of the parameters for the aci_clientaccess function call Table 4 4 Parameters for the aci_clientaccess Function Call Parameter Description clientname name of the client which authorization is to be changed action type of the activity add or remove access rights ACI_ADD add access rights ACI_DELETE remove access rights volser_range e asingle volser e multiple volsers separated by commas e a range of
44. volume complete from AML system SME Tae A ACE icon y cols nr y O US AA char eject area HO2 struct aci_ei info ei info ACI El MAX RANGE aci eject2 complete eject area volser range ACI_3590 pActualCount amp ei info if rec aci perror Command failed printf Volume ejects request successful n O i lt ACI El MAX RANGE ie 61_imro 5 gt v9 sere break printf volser s media type s Error d n Sinto Vols en ei_infolil gt media type ei_info i gt errcode Figure 4 43 Example of the aci_eject2_complete Function aci_eject3_complete The aci_eject3_complete function ejects a range of volumes from the AML and deletes the home coordinate See Figure 4 44 include aci h int aci eject3 complete char eject area char volser range enum aci media type int pnActualCount Struct aci el into pstelilnto Figure 4 44 aci_eject3_complete Function Call 4 54 DAS ACI Functions 601626 B The volser_range field has a maximum size of 512 bytes See Figure 4 45 for the structure of the aci_ei_info function struct aci ei info char volser ACI VOLSER_ LEN char media typelACI DRIVE LEN int errcode Figure 4 45 Structure of the aci_ei_info function See Table 4 20 for a description of the parameters for the aci_eject3_complete function call Table 4 20 Parameters for the aci_eject3_complete Function Call Parameter De
45. 01626 B aci_mount The aci_mount function mounts a volume in a drive See Figure 4 82 paiacliude aci Ja int aci_mount char volser enum aci media type char drive Figure 4 82 aci_mount Function Call Mount the volume named volser of media type type in the drive named drive The volume will then be available to the requesting client See Table 4 35 For additional information refer to aci_dismount on page 4 16 and aci_scratch_set on page 4 114 and aci_view on page 4 123 Table 4 35 Parameters for the aci_mount Function Call Parameter Description volser Volser which should be mounted also foreign volser possible after the cataloging with carf type Media type of the named volser Refer to Media Types on page 2 7 drive Name of the drive which should be mounted If the drive is set to the NULL string the drive is automatically selected from the list of available drives to the client The client host must have Automatic Volume Recognition AVR active to detect the mount Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e ENOVOLUME e ENODRIVE aci_mount 4 91 21 Dec 2001 4 92 DAS ACI Functions e EDRVOCCUPIED e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e EDEVEMPTY e ENOTAUTH e EUPELSE e EBADCLIENT e ERETRYL
46. 20 _aci_volser_entry Structure See Table 4 57 for a description of the parameters for the aci_volserstatus function call Table 4 57 Parameters for the aci_volserstatus Function Call Parameter Description ClientName name of the client which allocated volser should be displayed num number of volser ranges VolserRange Range of the allocated Volser in on of the following forms e asingle volser e multiple volsers separated by commas e a range of volsers separated by a hyphen aci_volser_entry details to the allocated range ClientName Owner of the volser VolserStatus UP volser allocated volser range media_type media type to which the volser belongs Refer to Media Types on page 2 7 Return Values 4 130 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EBADCLIENT e ERPC e EINVALID e EDASINT e ETIMEOUT e EHICAPINUSE e ESWITCHINPROG 601626 B DAS ACI 3 0 Asynchronous Support Layer OV CR ATAN EEA ek A eh A dh dacs Mareen teed Ost eles LON cares te Saad 5 3 HOWE WOLKS a Meera Ree ee eee a Sa eee aed 5 3 Sadmin Sample Application 0 0 0 5 3 SadmiN Syntax iscsi eee eatin seas URS Cahn cies Red oa E 5 4 Contents of the Async Support Layer Library 00 00 c cece eee eee 5 4 acizasync add ital istics ieee an Olea ol lee
47. 3_one 4 37 21 Dec 2001 e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROGRESS e EBADCLIENT e ENOTSUPPHCMD aci_eif_conf The aci_eif_conf function queries status from up to 20 logical ranges See Figure 4 30 include aci h baje ACL elr com grinet Aci lore lora cese int nCount Figure 4 30 aci_eif conf Function Call The call returns nCount and the staus of the logical range The status is returned in an array of pointers to the aci_lora structure The array can be a maximum of 20 elements See Figure 4 31 struct aci_lora char lora _name ACI_AREANAME LEN char StartCoord ACI_COORD_LEN char EndCoord ACI_COORD_LEN char ctype char description ACI DESCRIPTION LEN Figure 4 31 Returned Status For the parameters of the aci_lora structure refer to Table 4 14 on page 4 39 4 38 DAS ACI Functions 601626 B Table 4 14 Parameters for the aci_eif_conf Function Call Parameter Description aci_lorta structure used to describe the import export area and addressing lora_name the name of the import export area StartCoord the starting coordinates of the area EndCoord the ending coordinates of the area ctype the cartridge type associated with the area description a description of the import export area nCount the number of returned status maximum of 300 Return Values 0 The call was successful 1 The call fa
48. 4 54 Return Vales A A A ce e tr be 4 56 ci eject leai eor oa enea EER e EE ERE is 4 57 Return Valties i Sonona Seed exh a E R AAAA A AE E a BE EA EN 4 58 feos HOT A E E P T NE S S EEE EEEE NES E EEE S A 4 60 RETA les SOE O 4 61 AAA A SARA tt A A eas thie id 4 61 Return Valles 200 ees he br E a roda ys 4 62 ACISTOLCOS 2 Pim nacre eS antes eh aan dintel aaa aon ot 4 64 Return Values 5 5 io A Bae decode ee Se we ates eae eed 4 64 ACL fAOTCION sr hse BH ae se A OPE DENTS Aa See OR 4 66 Return Values a oe Sot 4 67 aci getvolsertOdrive erenn iia ease ates hatte aati eaten 4 68 Return Values a Ree ta Behe wl sg 4 69 aci get VOlserlOSIde cscs gp Rise pt oe Mewes E 4 70 Return Values o oera ashe ews cea A cae ea Sige Wate eae Soe 4 71 ACU SAIN b een E Dae hats Boba e rre okies E 4 72 Retura V ALCS ec A iS erect tees 4 73 ACL INIELALIZCr cher h nea hates te hee este ates nate tore ay ae hte dsd Gales do 4 74 Return Valles evi ES oe eS a es ee Ad oh 4 74 ACISINSCHE i a A Gdn se Be ed eps Oaks WE Webs eA OR ane eee hans ea ei ams oa adios ARN 4 75 4 2 DAS ACI Functions 601626 B Rettira Valles tia acs te eos se bl AG nnd mee A bh AG shen Ace eee loa eG 4 76 ACTES ii a bite a ere ee Me teats ate Oa eee aes 4 77 Return Valtles A AE A et bio da ee ba SS 4 79 ACIAINVENLOLY suba daa bead beats eos 4 81 Return Values verda st aid da ao dpa acoso bale lel estes ote Boas aes So 4 81 AAA coasted e a de ER hy SAE ene
49. A e ENOAUTH e ERETRYL e ECANCELLED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCOODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e ENOPOOL 601626 B e EBARCODE e EAREAFULL Refer to Figure 4 67 on page 4 77 for an example of the aci_insert function Insert media into AML Time ie as enum aci media type ACI 3590 Clie ares memes WILOIL 5 char volser ranges ACI MAX RANGES aci_insert area name volser ranges amp type a AC aci_perror Command failed for i 0 i lt ACI MAX RANGES i if volser ranges il 0 break else printf Ss n volser ranges i Figure 4 67 Example of the aci_insert Function aci_insert2 The aci_insert2 function inserts volumes including clean media into the AML See Figure 4 68 Hinclude aci h int aci_insert2 char insertopt char areaname char cleanPoolname int pnActualCount struct aci ei info pstEilnfo Figure 4 68 aci_insert2 Function Call The cartridges which are located in the Insert area ofthe AML and registered by the AMU automatically inventoried after closing the area will be inserted aci_insert2 4 77 21 Dec 2001 Volsers which already have a entry in the AMU database will be moved to this position Volsers which have no entry in the AMU database will be moved to the
50. A eRe ee ae s 1 3 Organization 2 2004 oo yee a I el ee I E 1 3 Associated Documents eressero iane EE EE E cece cece eee ee eee 1 4 Explanation of Symbols and Notes 6 0 6 6 cc cece eee eee 1 4 ASSISTANCE naa AA EN Akers a ake A AG Voting E eee 1 5 OVENVIEW oy edie ence A A aealiban AE woe 2 3 DAS 2 PRE Dts Con ek un TY OO Le O DIES Ne A oka s 2 3 ACT SEVICE eee ee ered os cect aes A A Pe Jah ood Se iad ee eh de ae dy 2 4 Client Services iy ses at it e 2 4 ACI Routines Basic Services 1 0 0 00 ccc cece cece eee eee 2 5 ACI Routines Complete Services 0 0 cece cece eee eee 2 5 iv Contents Media Eypes ima ses DAS Error Codes 0 0 00 ccc e a eee eens Safety Hazard Alert Messages 0 0000 e eee e eee Validity cooperan tance da DAS ACI Functions ACI DaLrcOd O29 be eo CE os Bae hea ee ee OS eS Return Valles ia A See ie ls ACC CO eBoy eck a Beare Dilber le h Return Values 0 0 0 ccc cece ee eee ACI AClEANGLIVES cia ito Return Valles ii ad Pare es ACT CHENTACCESS E EI NS LAA Return Values 0 0 0 0 ccc cee eens aci clienistatus a a wees Return Values 0 0 0 0 ccc cee ees ACTAS MODE zoaren n oe pein aseo Return Values e reso 0 0 00 c ccc ce eee eee ACL ATIVEACCESS sees ook ee Rol ied AE 6 eS ee NEES Return Valesi 6 ieee E cae eden oe act sdrivestatus sod ba a Belted a dee Return Values 0 0 0 0 ccc cee eens
51. CI 3 0 Asynchronous Support Layer 601626 B A 2 Application Notes 601626 B Overview This section contains information on error recovery procedures and explanations of terms used throughout this document Error Recovery Procedures This section contains information on error recovery procedures See Table A 1 Table A 1 Error Code Reactions Number d_error Name Recommended Reactions to the Error Code 0 EOK No error 1 ERPC Communication problem test the TCP IP to the AMU PC and if possible try an alternate route 2 EINVALID A parameter in the command is wrong try it with other parameters 3 ENOVOLUME Volser from the command with the media type is not found in the AMU database Check the media type in the command If a mismatch is detected between the archive and the database update the AMU database with the inventory command Otherwise try the command with another volser 4 ENODRIVE The drive parameter in the command does not match any drives in the AML Change the parameter in the command 5 EDRVOCUPPIED The drive named is already used for another cartridge e Send an unload command to the drive e Send a dismount command to the DAS software e Wait until the previous mount also possible for cleaning is completed Overview A 3 21 Dec 2001 Table A 1 Error Code Reactions Number
52. Call 4 103 Parameter for the aci_robhome Function Call 4 106 Parameters for the aci_robstat Function Call 4 108 Parameters for the aci_scratch_get Function Call 4 110 Parameters for the aci_scratch_info Function Call 4 112 Parameters for the aci_scratch_set Function Call 4 114 Parameters for the aci_scratch_unset Function Call 4 116 Parameter for the aci_shutdown Function Call 4 118 Parameter for the aci_snmp Function Call 4 119 Parameter for the aci_switch Function Call 4 120 Parameter for the aci_unload Function Call 4 122 601626 B Table 4 52 Table 4 53 Table 4 54 Table 4 55 Table 4 56 Table 4 57 Table 5 1 Table 5 2 Table 5 3 Table 5 4 Table 5 5 Table 5 6 Table 5 7 Table 5 8 Table 5 9 Table A 1 Parameters for the aci_view Function Call 4 124 Table Types iii ates wee ated atid cheaters 4 124 Table Attributes 0 0 0 kee ce eet teens 4 125 Parameters for the aci_volser_inventory Function Call 4 127 Parameters for the aci_volseraccess Function Call 4 128 Parameters for the aci_volserstatus Function Call 4 130 Parameters for the das_mount Parameter 0 5 6 Parameters for the das_dismount Parameter 5 7 Parameter for the das_force Parameter
53. Figure 5 3 Example of the aci_async_add Function with the das_mount Parameter 5 6 DAS ACI 3 0 Asynchronous Support Layer 601626 B Q das_dismount The aci_async_add function with the das_dismount parameter dismounts a volume See Figure 5 4 aci _ async _add das_dismount volser type Figure 5 4 Table 5 2 aci_async_add Function with the das_dismount Parameter Dismount the volume volser of defined media type from its drive The drive is identified by the DAS software For additional information refer to das_mount on page 5 6 Retries can be configured in the config file or in the AMS configuration See Table 5 2 for a description of the parameters for the aci_async_add function with the das_dismount parameter Parameters for the das_dismount Parameter Parameter volser Description volser that is to be moved from a drive to the original position in the AML type media type of the named volser Refer to Media Types on page 2 7 das_force The aci_async_add function with the das_force parameter dismounts any cartridge from a specific drive See Figure 5 5 aci_async_add das force drive Figure 5 5 aci_async_add Function with the das_force Parameter Force a dismount from a drive named drive regardless of which volser is in the drive Refer to Table 5 3 on page 5 8 For additional information refer to das_dismount on page 5 7 and das_mou
54. I Services Since the DAS server is a network server all communication with the server component use a network application level protocol The ACI hides the network support and enables the user to treat the functions as stand alone without the need for a supporting structure The ACI operates synchronously Once a request is made to the AML the request process does not regain control until the operation has completed or has otherwise terminated An exception is the inventory call which starts a physical inventory and returns The ACI uses RPCs to request DAS services and to receive replies over the network The RPC port mapper assures that port numbers are routed correctly Client Services The ACI provides two types of user services e Basic Services e Complete Services 2 4 DAS ACI 601626 B ACI Routines Basic Services Table 2 1 lists the routines that are available to an ACI client with basic service access rights Table 2 1 Routines Available with Basic Service Access Routine aci_dismount Explanation Dismount media from the drive aci_init Initialize the AML for client use aci_initialize Initialize ACI library for client use aci_mount Mount specified media in drive ACI Routines Complete Services Table 2 2 lists the routines that are available to an ACI client with complete service access rights Table 2 2 Routines Available with Comp
55. O Some of the structures contain unusable data fields This is done for better compatibility with RPC structures Developers who do not use the macros may need to fill in the structures If the macros are used the developer only needs to take note of what the macros do See Figure 5 24 for the structure of the async_drive_parms struct async drive parms char volser XDR_VOLSER LEN volser name x7 enum media type media type xy char drive XDR_DRIVE LEN drive name z enum drive_status drive_state drive status not used here async common common common data not used here ie Figure 5 24 async_drive_parms Structure See Figure 5 25 for the structure of async_ei_parms struct async ei parms char area_name XDR_AREANAME LEN I Earea name gt char volser_range XDR_RANGE LEN volser range x enum media type media type s struct common common common data not used here ie Figure 5 25 async_ei_parms Structure Parameter Data Parms Structure 5 25 21 Dec 2001 Response Data Structure This union contains several structures where the asynchronous call results are stored after the call is completed st_response This structure is reserved for possible future use Asynchronous ACI developer could use it for storing data See Figure 5 26 struct async response int code char text XDR_TEXT_LEN ite Figure 5 26 async_
56. Pat eee eae 5 5 Parameters sic ek A LS E A A A 5 5 CaS ANOUNE ee Sete ee ae ea pk n 5 6 das cs mount sze donaet A nai 5 7 CAS FORCE 2 8 O A 5 7 CASSINISCHE ls Seid nal Ad co al A ad dat As aA ad e a LAA 5 8 das eject vi A AA A AA eS 5 9 daszeject complete iii a di ados orale bea 5 10 Ret rn Values a A A ean ee ecw oe 5 11 aci asy create ri E A A De aia de i 5 13 Retura Valu eScei A AS A E TENA 5 13 aci asype fnd asii ee Poe A o daa 5 14 Retur Valties misaa da de do ade a a tal A cee Og 5 15 aCiZAaSyNC feel iu aA he gs Rew pE BR hla ed elo ba eles EE be RERS 5 16 Return VAS A a A te Sea a ead 5 16 Macros sce n a ett rd dde Tek ks 5 16 ACL ANOUK egies eres A PR RR id SR IA io ee ed 5 16 Return Valles i024 000d adele baie ob etait owlnde eaditdewiaes eo on ANE E S 5 17 ACE GISINOUINE La a Ee er ates del re hen qe tbh ee tak G 5 17 REGUL Vale asst a aN th eRe he the Stat al A lo lal Da Let 5 17 ACE POT COs de hse eg and eg Nie ite he Dds Mga eee dg Saha ta cA lal cote ti Sod a tah rd ein 22s 5 17 Return Valles mein eee p44cun be vid ba eheeee bbbes gabe abe ad 5 18 ACL INSOLE lcd a etek i dhe EG tae A LA at a EOS GOR Re BER a 5 18 Returned Values 0 0 0 ccc ce cee cence e nena 5 18 5 2 Safety ACINCJCCE rr ia Mea ER seh E a 5 19 Return Values st de 5 19 aciveject completes ceni ch tte Sete BAe etal ada 5 19 Ret rn Maltes ee es eee ted 5 20 Response Technique sisser sanepid e
57. RIVE EDASINT ETIMEOUT ESWITCHINPROG Refer to Figure 4 58 on page 4 70 for an example of the aci_getvolsertodrive function 21 Dec 2001 aci_getvolsertodrive 4 69 Display volumes reserved for a drive Lie O ehari Drives Wipes struct aci_voltodrive entry drive inf ACI MAX RANGES aci gervolsertodrive Drive num drive inf aLiE Ga aci perror Command failed 0 i lt ACI_MAX RANGES i if drive inf i gt volser 0 break printf drive s Volser Range d n drive int fal Drive drive _inf i gt VolserRange Figure 4 58 Example of the aci_getvolertodrive Function aci_getVolserToSide The aci_getvolsertoside function returns the second volser to an optical disk a volume with two volsers See Figure 4 59 ia ACI qervyolsertmesaide lekar vols struct aci _sideinfo sideinfo ACI_SIDE NUMBER Figure 4 59 aci_getVolserToSide Function Call This function returns in the sideinfo parameter the volser attached to one of a two sided volume The volser parameter can be the A side or the B side volser When a volser of a volume with one side is specified an error ENODOUBLESIDE error is returns The sideinfo 0 parameter gives the attachment of the A side and sideinfo 1 gives the attachment of the B side The media type for the volser in the AMS configuration must be Optical disk O0 or O1 Refer to Figure 4 60 on page 4
58. SE 5 25 ASEO 2 548 est eee e Sel oe Bete OS 2 8 bn a Ah aes 4 68 4 72 A e e A i 4 74 Initialize AML ACT Cents nein a tia 2 6 Insert ai Ai 4 75 4 77 Insert media AGI ch da i a e 2 6 Intended Audience 00 0 cece eens 1 3 INVENLOLY 436 nar Ra RTA eae a 4 81 ACT chent a iia 2 6 silla ASE SA A A Oe Ruth amp 4 84 List DAS requests ACTO yt tadas dea 2 6 List requested range ACTO Ei ai eae ee ee Se 2 6 21 Dec 2001 Media type 3590 8590 2 cece 2 7 512 MO WORM optical disks 2 8 ED CADDY xsara atar 2 8 D2 small amp medium tape 2 8 DAT 4mm tape a 0 00 A 2 7 DEC DLT teas cae eee es 2 8 EXABYTE 8mm tape 04 2 8 Metrum VHS 0 cece eee eee 2 8 reflection optical disks 2 8 SONY BETACAM 000 000 2 8 SOND TP orar 2 8 TRAVAN Lars ac 2 8 Media types ACI media name 000 e ooo 2 7 Supported grire he foe ias 2 7 Mount Did E ia 4 91 ACFelhent 2 24 AO A da a ea 2 6 Mount scratch volume AGT chent card eet each nc cae 2 7 Os OS 2 shutdown aana ane a eee 4 82 P Perron Vai kha eee o Aa 4 96 Personal Computer PC 2 4 Powet off uta 4 82 Q Query scratch volume information ACT Cent cence ce a a Ae ia E 2 7 QUETY Version 2b sesso ese cts nal 4 97 ACI Chen ira aa i hea tava 2 6 Query volser range 6 6 00 eee eee 4 98 R REGISTER ori co care Oene ele ire ended acs where ee
59. Table 4 47 Parameters for the aci_scratch_unset Function Call Parameter Description subpool the stored name of the pool for scratch media in the AMU database If the information is to be taken from a default subpool of a media type set type to the media type of the volser and set subpool to the NULL string or M0 type type of the media in the subpool Refer to Media Types on page 2 7 volser set volser to scratch in the named subpool in the AMU database only possible if the volser is already defined in the AMU database but the status of the volser ejected mounted etc is not relevant 4 116 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EINVALID e EDASINT e ENOPOOL e ERPC e ETIMEOUT e ESWITCHINPROG e EDATABASE e ENOTSUPPHCMD See Figure 4 107 for an example of the aci_scratch_unset function Change volume s scratch status dime TE char pszPoolName enum aci media type ACT 3590 char pszVolser OHOO Y rc aci_scratch unset pszPoolName type pszVolser wE eg aci perror vaci scratch unset failed printf Volser s removed from scratchpool n pszVolser Figure 4 107 Example of the aci_scratch_unset Function aci_scratch_unset 4 117 21 Dec 2001 aci shutdown
60. VOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOTAUTH e EBADCLIENT e ERETRYL e EINUSE e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL 601626 B aci_ejectclean The aci_ejectclean function ejects all exhausted cleaning cartridges from one Cleanpool See Figure 4 46 include aci h int aci_ejectclean char areaname char Cleanpoolname int pnActualCount struct aci ei info psteilnfo Figure 4 46 aci_ejectclean Function Call See Figure 4 47 for the structure of the aci_ei_info function struct aci ei info char volser ACI_VOLSER LEN char media _typelACI_ DRIVE LEN int errcode Figure 4 47 Structure of the aci_ei_info function from aci h See Table 4 21 for a description of the parameters for the aci_ejectclean function Call Table 4 21 Parameters for the aci_ejectclean Function Call Parameter Description areaname Logical area defined in AMS where the cartridges should be ejected e g E01 Cleanpoolname Name of the group of cleaning cartridges e g CLP01 defined in the AML configuration pnActualCount returned number of ejected volsers aci_ejectclean 4 57 21 Dec 2001 Table 4 21 Parameters for the aci_ejectclean Function Call Parameter Descr
61. aci_partial_inventory Function Call Parameter Description SourCoor 10 digit logical coordinate of the device for the start of the inventory defined in the AMU database e g L501010101 TargetCoor 10 digit logical coordinate of the device for the end of the inventory defined in the AMU database e g L501011310 Source and targeted must be in the same device A Attention The aci_partial_inventory function is intended for testing PAR and startup An error function will be displayed in the AMU log during operation and not returned to the calling process The database segments that are defined in the function cell will be overwritten with a symbolic volser Ixxxx if the barcode reader malfunctions 4 94 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ERETRYL e ENOTFOUND e ECANCELLED e EDASINT e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE See Figure 4 85 for an example of the aci_partial_inventory function Partial Inventory in AML mae TCE Os re aci partial inventory Mbsolgigligi ESQLgiiSion y wE PG aci_perror Command failed j printf Inventory started successful n Figure 4 85 Example
62. action by the archive s robot to determine the storage contents of the AML More than one medium A storage object that when mounted in a drive recorder reproducer is available for read and write operations but also for clean Types include magnetic tape magnetic disk optical tape and optical disk cleaning tape The robotic action to move media from storage to a drive Terms A 11 A 12 Application Notes Network Network Protocols OS 2 PC RAM Robotic archive RPC Scratch media Scratch pool Shelf archive Slot Stage System Administrator SA Terabyte TB User Volume The physical and logical connection of computers and peripheral devices that allows communication and data sharing A set of rules defining the physical and logical connection Operating system multitasking single user that is used on the AMU controller PC Personal Computer Random Access Memory A storage system featuring one or more robots for media handling Remote Procedure Call with XDR RPC is the Session Layer layer 5 and XDR is the Presentation Layer layer 6 of the ISO OSI layered client interface Media that has no client data and is free for use and reclassification A collection of scratch media of the same media type An identifiable set of contiguous bins for storing media A single medium storage location Also referred to as a bin in some archives A
63. all pszVolser Pointer to an individual volser Parameter Description status Indicator to determine manipulate of the database ACI_INVT_NOTUPDT 0 do not update the database ACI_INVT_UPDT 0 update the database Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ERETRYL e ENOTFOUND e ECANCELLED e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e ENOTSUPPHCMD aci_volser_inventory 4 127 21 Dec 2001 aci_volseraccess The aci_volseraccess function sets ownership of a volser or range of volsers See Figure 4 118 puacglude ac Jal int aci volseraccess char ClientName char VolserRange enum aci_volser status status Figure 4 118 aci_volseraccess Function Call Modify allocation status of a volser for a specified client Refer to Table 4 56 Table 4 56 Parameters for the aci_volseraccess Function Call Parameter Description clientName name of the client which authorization of a volser range should be changed VolserRange Range of volser for the modification in one of the following form e a single volser e multiple volsers separated by commas e a range of volsers separated by a hyphen status new authorizatio
64. ample of the aci_getvolsertoside Function aci_ init The aci_init function initializes the AML for client use See Figure 4 62 Hinclude aci h NN O Figure 4 62 aci_init Function Call Most clients wish to start from a known status the aci_init call is provided so that an initialization or restart of a client may request that any resources previously held are freed Normally this call can be placed in the initialization of the client code This function requests that the DAS server dismount any occupied drives defined to the requesting client For additional information refer to aci_initialize on page 4 74 4 72 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e EDASINT e EBADCLIENT e EDASINT e ETIMEOUT e ESWITCHINPROG See Figure 4 63 for an example of the aci_init function Initialize client and free drive resources male e Op me ac amie g aie EEC arca perron WNCIL rele aligaligalellalyeliealoyalg Y y Figure 4 63 Example of the aci_init Function aci_init 4 73 21 Dec 2001 The aci_initialize function initializes ACI library for client use See Figure 4 64 include aci h int aci_initialize void Figure 4 64 aci_initialize Function Call This function
65. as Soe a ea Bees 4 82 Returni Vallat sp D a Bees ee deh ta ara BL pa 4 83 ACUSE aid cat atats LS IIS Ro Sr rada we aie AAE AREAN te 4 84 Return Valles a cache kote tees eg aes a DER SS 4 86 ACLS ID wile bin ictal he ities ania dad 4 87 Return Values eet ene oa A a ie 4 89 aci list for igin is SSS GAY EE PO UME ey 4 89 REGUL alle atan a a OR ARON Be 4 90 ACLZAMOUNE a Feasts ae Bhd Bid A ee Beg eb a a ae ald te BIC et le Se a Blethen 4 91 Return Valti ss o 44 5 244 ti Mates bee ieee ee ve ire ile Men oS 4 91 aci partial inventory vis sae sss aden eevee ei sesh eee ssid Sogn eee eS 4 93 Return Values 2 ta di ota Bones dekh Pia pe hte ial ode da Boas ath Bil 4 95 AGL POEIOL Na a OM ll a AG Lae lg 4 96 ACIEQVETSION eiii rra an tardas dana ra as E 4 97 Ret rn Values id oid ete a ache ia bbe A o ad 4 97 ACL ZGVOISTAN SO eis yet A este Mie ME AN AE aA gree atts 4 98 Return Vallina dd bes be ee ees eee ta dad 4 101 ACINESISECK 1 ct AG e A A 4 103 Return Vales psec is A ee bee eel ee eS 4 104 ACIP TODNOME oineanodieksevdiesa chebecdlemsls ceeding shalt bus oe edle bas gant beaded 4 106 Return Vales atada Rabble sete Saree Ria ea eae 4 106 ACTTODSTAE ro A dt btu keer tuccnae 4 107 Return Valles s 246 dco h4 5 he e A dr debt 4 108 ACL scratch petista Mupi ta A A ME A MM Rd oa ia 4 109 Return Valles 0 A a eS 4 110 aci scratch M O sses tangis rra raras bs dabesdud 4 4 111 Return Vales eii sh aros os Beak de ctl a Id sin 4 112 acr
66. ay be written to standard error by calling aci_perror which accepts a user defined message string and attaches it to the DAS error message aci_ barcode The aci_barcode function switches the barcode reader for the volser on the robot on or off See Figure 4 1 Hinclude aci h int aci_barcode char cRobNum char Action Figure 4 1 aci_barcode Function Call See Table 4 1 for a description of the parameters for the aci_barcode function call Table 4 1 Parameters for the aci_barcode Function Call Parameter Description cRobNum defined the number of the robot only on AML 2 systems with 2 robots 1 robot 1 AML E AML J and robot 1 of AML 2 2 robot 2 of AML 2 Action new condition for the following mount and eject commands from this host OFF barcode on the cartridge will not be checked ON barcode on the cartridge will be checked on each command Overview 4 5 21 Dec 2001 4 6 DAS ACI Functions The Scalar 1000 does not support the aci_barcode command barcode on Scalar 1000 will never read on mount and eject Use this command to switch the barcode reading after the command aci_mount aci_cleandrive or any aci_eject ended with failure and derrno EBARCODE After aci_barcode completed try the previous command again Return Values 0 The call was successful 1 The call failed The external variable d_errno is set to one of the foll
67. ccccccccccn 4 98 ACI TESISTER ss ica OR 2 6 acioscratch g t oeras maeri din aed ome eee 2 7 aci_scratch_info oooooo o o 2 7 4 111 aci_scratch_set e cece eee 2 7 4 114 aci_scratch_unset 0 0 0 ccc cece ences 2 7 ACISSHUTAOWN ot bee ete sete hon aes 2 7 4 118 ACV Wei ore aed lis nee acted ec eke A 2 7 aci xdr h ita o te a A Mid 5 25 ACUTE St sorb Ni er es 4 103 Add volume to scratch pool AGI Clean dan 2 7 Administration access add volume to scratch pool 2 7 Cancel it 2 5 change client access oooo mmmmmmm o o o 2 5 change client drive status 2 5 dISMOUN A a A dea he 2 5 drive StatUS 0 ccc cece ee eee 2 5 CJC CEE ed nd de aes E cl cada a Teo 2 5 2 6 eject complete o oooooooocoooommoo o 2 6 POL CQ aa Need Sk Od Ag Me cD a ees eae 2 6 foreign Media 000 000000 2 6 initialize AML 0 0 0 c eee eee 2 6 insert media 0 0 cece eee 2 6 WAV EMLOLY ro E Be Skt Sel last aa 2 6 list DAS requests o o oooooooooommmmoo 2 6 list requested range 0 006 2 6 MOUNE ii a AE a eta 2 6 mount scratch volume o o 2 7 query client status 00 2 5 query DAS and ACI version 2 6 query scratch volume information 2 7 TESIS TEP ini Woes MN ees it 2 6 remove volume from scratch pool 2 7 SHiutdOw th seir ths eee a 2 7 view database ent
68. commas e a range of volsers separated by a hyphen e set to empty or 10 if it is not to be changed type media type of the named volser range Refer to Media Types on page 2 7 4 46 DAS ACI Functions 601626 B Table 4 17 Parameters for the aci_eject3 Function Call Parameter Description pnActualCount returned number of ejected volsers aci_ei_info returned information on each volser ejected volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcodes error code derrno If the eject area is full the system stops the eject procedure Depending on the DAS_EJECTAREAFULL environment variable on the AMU the command will be canceled or the system starts with the next eject after the operator has removed cartridges from the eject area The Attribute of the Coordinate will be set to ejected in the AMU database The compartment is now reserved for this volser if the compartment needs to be used for other volsers issue the aci_eject_complete2 function Use the eject stop when the eject area is full Depending on the DAS EJECTAREAFULL environment variable the request will either be cancelled or completed after the area is marked empty For additional information refer to aci_insert on page 4 75 and aci_eject_ complete on page 4 49 Return Values e 0 The call was successful e 1 The call failed
69. complete true or false selection between basic or complete command set Refer to Client Services on page 2 4 dismount true or false optional dismount for configuring an automatic dismount without DAS command Refer to the DAS Administration Guide Return Values 4 104 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e EDASINT e EBADHOST e ENOSPACE e ETIMEOUT e ESWITCHINPROG Refer to Figure 4 95 on page 4 105 for an example the aci_register function 601626 B Modify existing client configuration mie ate 07 char client SomeClient char ipname CLIENTI enum aci_command action short avc SHOLEH short dism aime at A struct aci client entry client entry aci_clientstatus client amp client entry sas action ACI MODIFY ave client entry ave dism client entry dismount c FALSE re aci register Client pname action ave ce dism alte e aci_perror Command failed else prine Cien pda cedi A nN e llaeime 5 Figure 4 95 Example of the aci_register Function aci_register 4 105 21 Dec 2001 aci robhome The aci_robhome function sets the robot accessor in Scalar 1000 in the AML to off line and moves it to the home position See Figure 4 96 include
70. cupied medium in the TEMP_HERE problem box ACI_VOLSER_ATTRIB_ A temp away medium temporarily not at TEMP_AWAY the specified coordinates in transit on AML 7 2 with double robotic controller systems Return Values 0 The call was successful 1 More data is available 1 The call failed The external variable d_errno is set to one of the following DAS error codes EINVALID EDASINT ENOVOLUME EBADCLIENT ERPC ETIMEOUT ESWITCHINPROG See Figure 4 93 for an example of the aci_qvolsrange function aci_qvolsrange 4 101 21 Dec 2001 Query volser range ime we Op char szBeginVolser ACI VOLSER_ LEN char szEndVolser ACI VOLSER LEN lng sir lai Eiaic ACI NAME LEN int nCount ACI_MAX QUERY VOLSRANGE int nActualCount 0 int nFor struct aci _volserinfo stVolsRange nCount aci_qvolsrange char amp szBeginVolser char szEndVolser nCount char amp szClient amp nActualCount struct aci_volserinfo amp stVolsRange aci perror Command failed 1 printf nnext volser s szBeginVolser printf ncount 1d nActualCount printf n smore data d_errno EMOREDATA no for nFor 0 nFor lt nActualCount nFor printf nvolser s media ld attrib c stVolsRange nFor volser stVolsRangel nFor media type stVolsRange nFor attrib 8 Figure 4 93 Example of the aci_qvolsrange Funct
71. displayed volume is after the command in the database automatically set to unscratch Refer to Table 4 44 on page 4 110 For additional information refer to aci_scratch_set on page 4 114 and aci_scratch_unset on page 4 116 aci_scratch_get 4 109 21 Dec 2001 Table 4 44 Parameters for the aci_scratch_get Function Call Parameter Description subpool stored name of the pool for scratch media in the AMU database If the volume is to be taken from a default subpool of a media type set type to the media type of the volser and set subpool to the NULL string or 0 type type of media in the named subpool Refer to Media Types on page 2 7 volser first scratch volser of the named subpool found in the AMU database independent of the status of the volser ejected mounted etc Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e EINVALID e EDASINT e ENOPOOL e ERETRYL e ERPC e ETIMEOUT e ESWITCHINPROG e EDATABASE e ENOTSUPPHCMD Refer to Figure 4 101 on page 4 111 for an example of the aci_scratch_get function 4 110 DAS ACI Functions 601626 B Get volser of new scratch media age CEA char pszPoolName enum aci media type ACT 3590 char szVolser ACI_VOLSER_LEN re aci_scratch get pszPoolName type pszVolser
72. drive name ACI_AMU DRIVE LEN aci drive status drive state type system id ACI_NAME LEN volser ACI _VOLSER_LEN t cleaning short clean count int mount int keep Figure 4 21 Returned Status See Table 4 9 for an explanation of the parameters used for the aci_drivestatus3 function Table 4 9 Parameters for the aci_drivestatus3 Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives Using SHARED_ACCESS as a key word for the client shows all drives which are allocated in the SHARED_ACCESS mode Using EXUP as a key word for the clientname shows all drives which are allocated in the EXUP mode aci_drivestatus3 4 27 21 Dec 2001 Table 4 9 Parameters for the aci_drivestatus3 Function Call Parameter aci_drive_entry Description returned information about the status of the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the client that the drive is presently allocated to volser
73. e E ATEN E ae ela EE atte eal 4 57 Return Valles vomere raan EAE e ti AA Tas 4 58 ACT OMA eee wie ie tne wee a TN 4 60 Return Valles Vta ti ota Btls he i pe ees tri dt Be Sa 4 61 aC FIP sat a AEA MAPLE Sea A ae ay 4 61 REGUL UV ale aaa aoe Reece Seon ace Botan ade S A hk ASEM td a ase Set Bae BE 4 62 ACU AOLCES o reps ii al tes artos eto diras 4 64 Return Valles 2 00 A A ci be SS 4 64 aci LO y 414 MN 0 dha nese cote esas phage ee ee ee gaan e eS 4 66 Return Values sti tia ote Aceon hw echo baie ide ie da Beas asa ee 4 67 aci get volSertodrIVe iii Aw E ETa OEE E 4 68 Return Values ata a A A er A ROR 4 69 Contents v 21 Dec 2001 vi Contents aci get VolserlOSide eposin id sni pas GM RRA EE a tia aii 4 70 Return Values e eiae E e E A E E E EEE 4 71 EL e A ah tra Tee had eS ni E ae Doe tags Geese E aa cde E 4 72 Retura ls A AS re Deeg Meee rk wee 4 73 ACU INIELALIZOr cts dir id aid a ad eb he 4 74 Return Values o a A oe ae Et a ah es 4 74 ACLARA A A Nn Sg BOE AB A A du 4 75 Return Values A A a Be eal scenes 4 76 ACT SATISCT AA IS TR RS NON OP a SIR 4 77 Retura NVA A gt a Ee SOE OA S TES IENA 4 79 ACIMINVENLOLY it tas 4 81 Return Valles econo woven RS i orn IAS e ote es whee 4 81 aclarar an dicas Dala 4 82 RATA Values A a wee ace eat ees 4 83 E AAA IR A a hse Jk ae lead oA ty ae 4 84 Retura ls SE e ete nk wee 4 86 aci SED 223 3 en Beas da stews tl drets Met deel teehee ot 4 87 Return Valles is otc oe a
74. e a4 cheamem cant 5 8 DAS_MOUNT 0000 eee eee 5 6 aci_async_create 2 eee eee eee 5 13 aci_async_entry 6 6 cece e eee eee 5 23 ACLZASYNC A tees poate wg heh alone adl 5 16 act barcode A ders wee RIS 2A 4 5 aciecancels iA n2 i Aa ee 2 5 4 7 aci_cleandrive 0 000 e cee eee ee eee 4 9 aci_clientacceSS ooooooooomomo 2 5 4 11 aci_clientstatus ooooooooooo 2 5 4 14 aci_dismount 0005 2 5 4 16 5 17 aci_driveaccess 0 cece eee eee 2 5 4 18 aci_drivestatus 0 0 cece eee 2 5 4 21 aci_drivestatus2 0 00 ccc cece eee 4 21 acaecida 2 5 2 6 4 39 5 19 Index aci_eject_complete 2 6 5 19 ACIIC CCHZ at A eee 4 42 aci_eject2_complete 0ooooocoooommooo 4 51 aci_ejectclean errira a EA EE o 4 57 ACPD Net oes tado 4 61 ACADEMIA A 2 6 4 64 5 17 AC LOLA cas dee 2 6 4 66 aci_getvolsertodrive oooooooooommooo 4 68 ACL TINE vss Sisal oie BAN oe hE As 2 6 4 72 ACh Init alize ina ore ee eee aos 4 74 aci Insert pi ater saa 2 6 4 75 5 18 ACL ANSEL A a ERAS 4 77 aci_inventOry 6 cece eee eee 2 6 4 81 A eo ete 4 82 ACISISE yc a ee he Mentos emer eso 2 6 4 84 aci_mount 00000 2 6 4 91 5 16 F el 1390 a a eRe 4 96 ACI_CETSION a r E O eee ee 4 97 a QVELSLON ERREF ENEA ae RA Begone 2 6 aci_qvolserange 0 00000000 2 6 aci_qvolsrange ooooocccc
75. e returned in the volser_ranges array of strings where each volser is separated by a comma Each range is ACI_RANG_LEN long and there are up to ACI_MAX_RANGES ranges An empty string indicates the end of the ranges type media type of the volser in the insert area Refer to Media Types on page 2 7 O Use the insert2 function instead of this command This function experiences difficulties with large I O units with long volsers 16 digit since the buffer for displaying the inserted volser is restricted For compatibility reasons this function continues to be supported das_eject The aci_async_add function with the das_eject parameter ejects a range of volumes from the AML See Figure 5 7 aci asyae acia das ejecre SyeCie arsa Volger rences type Figure 5 7 aci_async_add Function with the das_eject Parameter Eject the volumes in volser_range to the eject_area The media type of the volumes must match that of the eject_area Set type to the media type of the volser_range See Table 5 5 aci_async_add 5 9 21 Dec 2001 Table 5 5 Parameters for the das_eject Parameter Parameter Description eject_area Logical area defined in AML where the cartridges should be ejected volser_ranges e a single volser e multiple volsers separated by commas e a range of volsers separated by a hyphen types media type of the named volser Refer to Media Types on page 2 7
76. ed in an array of pointers to the aci_ext_drive_entry structure The array element can be maximal 380 See Figure 4 23 The variable ACI MAX_DRIVE_ENTRIES4 is equal to 380 aci_drivestatus4 4 29 21 Dec 2001 struct aci_ext drive entry4 char drive name ACI DRIVE LEN char amu_drive name ACI AMU DRIVE LEN enum aci drive status drive state char type char system id ACI_NAME LEN char clientname ACI NAME LEN char volser ACI_VOLSER_ LEN bool t cleaning short clean_count int mount int keep char serial number ACI_SERIAL NUMBER_LEN Figure 4 23 Returned Status The variable ACI_SERIAL_NUMBER_LEN is equal to 51 See Table 4 10 for an explanation of the parameters used for the aci_drivestatus4 function Table 4 10 Parameters for the aci_drivestatus4 Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives Using SHARED_ACCESS as a key word for the client shows all drives which are allocated in the SHARED_ACCESS mode Using EXUP as a key word for the clientname shows all drives which are allocated in the EXUP mode drive value associated with a single drive aci_drive_entry returned information about the status of the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ
77. eich Ad antes ee ae ate te eee A 4 122 Return Vales A a EA A EAE N 4 122 ACENTO e A a E Seo ah e Mateus Se Ales vos 4 123 Return Values LS E A AN O R A Mite tebe 4 125 aci v lser IO VEO ti a A e RA 4 126 Return Values sereia E a a A a Bowe En Wes 4 127 ACIMV OISCHa CCOSS RA A A A id 4 128 Return Values t a A AAA AAA ER iaa 4 128 ERES e AAA A A te aa e a a a Eh 4 129 Retura Values A oR A A E OA A ATTA 4 130 DAS ACI 3 0 Asynchronous Support Layer OVEFVIEW Aia fata ect a Sine AERE T e E E Sa ae a E E Rs a Die 5 3 THO WoT WORKS 30 A A a E R EREE E 5 3 Sadmin Sample Application 0 eee o EAN eee 5 3 Sadmin Syntax ive aoe ewe ete eae ede elders Sey aed rds 5 4 Contents of the Async Support Layer Library 0 00 c cece 5 4 acizasynic_add 305 ons as Be He a Ra Pa nea SS 5 5 Para Meter cmd O ab Ae wep A a a 5 5 das Mo nt A A A eden ees pc glee nnd eee eels 5 6 das disMount i463 A A ENA ee ne Ce RS e e ee A 5 7 Contents vii 21 Dec 2001 das forces ise ds das_insert das_eject das_eject_complete Return Values aci_async_create Return Values aci_async_find Return Values aci_async_free Return Values Macros mural aci_mount 00 Return Values aci_dismount Return Value
78. elligence of the DAS system Consists of hardware and software Terms A 9 21 Dec 2001 A 10 Application Notes API Archive Archive catalog Bar code Bin Cassette Cartridge Client Console DAS Data dismount Application Program Interface A program residing on the client s platform used to interpret the client s requests and to provide all the network communication compatible with the interface requirements The archive consists of e physical archive e logical archive The physical archive consists of storage segments for tape cartridges and optical disks media The logical archive archive catalog is the list of volsers assigned to the compartments in the physical archive An OS 2 database with the logical archive Contains the assignment of volsers to the compartments in the physical archive as well as additional vital information about the media and the drives An array of rectangular bars and spaces ina predetermined pattern e g UPC symbol A single medium storage location Also referred to as a slot in some archives A shell having two co planar hubs designed to hold magnetic recording tape Used loosely the same as Volume One or more physical volumes bound in a transportable package with a human readable external label A volume server user that may be an application program A human interface mechanism for controlling and monitoring
79. ent only BASIC rights Change the Clientname on the ACI to a Client with Complete rights or change the Configuration file 20 EBADDYN not used 21 ENOREQ The aci_cancel command was used with a invalid sequence number e check the command queue for the correct sequence number with aci_list e try the aci_cancel command with the correct sequence number 21 Dec 2001 Error Recovery Procedures A 5 A 6 Table A 1 Error Code Reactions Number 22 d_error Name ERERTRYL Recommended Reactions to the Error Code The maximum number of automatic retries for recovering has been exceeded There is a problem in the AMS Check the AMU Log for more information e lt 0420 gt Cartridge not ejected e The dismount manager is not configured correctly Refer to the AMU Reference Guide e The drive has not received the unload command send unload via data path to the drive or to DAS aci_unload e The drive has a physical problem call Service e lt 1191 gt Tower not available The tower can be set back to the ready status with the status command if the tower does not havea physical problem call Service e lt 1123 gt Too many commands possible AMS overload e Restart the AMU Do not send so many commands at one time or request AMU hardware with more performance e lt 1290 gt Command Canceled from AMS Internal problem in the AMS software try a res
80. er to aci_scratch_unset on page 4 116 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EINVALID e EDASINT e ENOPOOL e ERPC e ETIMEOUT e ESWITCHINPROG e EDATABASE e ENOTSUPPHCMD See Figure 4 105 for an example of the aci_scratch_set function Add volume to default scratch pool ae eE char pszPoolName char pszVolser YOLOQIw gt enum aci media type ACI 3590 rc aci_scratch_set pszPoolName type pszVolser alae wee aci_perror aci scratch set failed printf Scratch volume s set n pszVolser Figure 4 105 Example of the aci_scratch_set Function aci_scratch_set 4 115 21 Dec 2001 aci scratch _ unset The aci_scratch_unset function resets the scratch status of a volume See Figure 4 106 piacliuds ac la int aci_scratch _ unset char subpool enum aci media type char volser Figure 4 106 aci_scratch_unset Function Call Reset the status of volume named volser in the scratch pool named subpool from scratch to non scratch media and remove the volser from subpool If subpool is set to the NULL string or 0 the default pool will be used If the requested volume is the last volume in the pool the pool will be deleted See Table 4 47 For additional information refer to aci_scratch_set on page 4 114
81. erious electrical situation injury Persons Less hazardous Possible minor or Caution situation moderate injury k Persons Potential damaging Possible damage situation to the product or A Material Attention environment Overview 3 3 21 Dec 2001 Table 3 1 Hazard Alert Message Symbol Damage to Signal Word Definition Consequence Potential electronic Possible damage A TER a damaging situation to the product Tips for operators No hazardous or Note damaging consequences Q No hazardous or damaging consequences Important or useful information 3 4 S N Attention a sensitive 7 Note Safety Specially emphasized paragraphs in this guide warn of danger or draw attention to important information These paragraphs and their associated symbols include When used with the signal words Danger or Warning this symbol warns of a dangerous situation that threatens personnel with serious injury or death When used with the signal word Caution the symbol warns of a hazardous situation that could result in minor injury The danger exists of a fatal electric shock At places designated with this symbol electrical current can be present Before starting any work always confirm that all electrical connections are free of electrical current This symbol indicates the presence of a laser Caution use of controls or adjustments or perfor
82. ers for the aci_eject3_complete Function Call 4 55 Parameters for the aci_ejectclean Function Call 4 57 Parameter for the aci_email Function Call 4 61 Parameter for the aci_flip Function Call 0 4 62 Parameter for the aci_force Function Call 4 64 Parameters for the aci_foreign Function Call 4 66 Parameters for the aci_getvolsertodrive Function Call 4 69 Parameters for the aci_getvolsertoside Function Call 4 71 Parameters for the aci_insert Function Call 4 75 Parameters for the aci_insert2 Function Call 4 78 Parameters for the aci_list Function Call 0 4 85 Explanation of the Req_types 0 0 000 e eee 4 85 Parameters for the aci_list2 Function Call 4 88 Explanation of the Req_types 00 cece eee eee 4 88 Parameters for the aci_list_foreign Function Call 4 90 Parameters for the aci_mount Function Call 4 91 Parameters for the aci_partial_inventory Function Call 4 94 Parameter for the aci_perror Function Call 4 96 Parameters for the aci_qversion Function Call 4 97 Parameters for the aci_qvolsrange Function Call 4 99 Explanation of the Attrib Values ooooooocooccccom o 4 100 Parameters for the aci_register Function
83. et to one of the following DAS error codes e ENOTAUTH e ERPC e EINVALID e EDASINT e ETIMEOUT e EAMUCOMM e EHICAPINUSE e ESWITCHINPROG e ENOTSUPPHCMD See Figure 4 112 for an example of the aci_switch function Switch to the Dual AMU ate TC p CARAS RC Veins de re ac smitcaa Swi Tecin aci_perror Swicht actual not possible printf Now the Dual AMU is active n Figure 4 112 Example of the aci_switch Function aci_switch 4 121 21 Dec 2001 aci unload The aci_unload function presses one or more buttons on a drive in the AML See Figure 4 113 salad ue adi Jal int aci_unload char szDrive Figure 4 113 aci_unload Function Call See Table 4 51 for an description of the parameter for the aci_unload function Table 4 51 Parameter for the aci_unload Function Call Parameter Description szDrive Name of the drive for unload defined in Description in the AMS configuration Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EAMU e EAMUCOMM e EROBOTCOMM e EPROBDEV e ERPC e EINVALID e EDASINT e ETIMEOUT e ESWITCHINPROG e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EPROBDEV 4 122 DAS ACI Functions 601626 B The aci_view function is used to view a database entry for a
84. exceed the number of displayed volsers Try the aci_qvolsrange again with the last volser in the first range in the parameter of the first volser 31 ENOMATCH Parameters in the command are not correct confirm that the parameter type Mediatype is correct for the command Confirm the AMS configuration with the parameter in the command 32 EOTHERPOOL Return code to aci_scratch_set if the volser is already defined in a pool with another name Use the command aci_scratch_unset for the other pool and issue the aci_scratch_set command again 33 ECLEANING The command can not be executed because the drive or the volser is being used for the drive cleaning Wait until the cleaning process is complete and try the command again 34 ETIMEOUT The maximum wait time for the command has been exceed Check the life of the DAS software with aci_qversion and the life of the robot wit aci_robstat Check the communication with ping command If you have very high load in the system you have to change the time out parameters in the configuration Refer to the Environment Variables in the DAS Administration Guide 21 Dec 2001 Error Recovery Procedures A 7 A 8 Table A 1 Error Code Reactions Number 35 d_error Name ESWITCHINPROG Recommended Reactions to the Error Code The commands can not be executed DAS and AMS are being switched to the other AMU Wai
85. exit code If there are problems with the shared memory attachment the d_errno global will be set to ENOSHARED aci_eject_complete The aci_eject_complete function ejects volumes and removes the database entries See Figure 5 20 include aci_async h ACI EJECT COMPLETE eject _area volser range type Figure 5 20 aci_eject_complete Asynchronous Function Call All the parameters must comply with the rules for the aci_eject_complete function call The local variable int res must be defined before using this macro Macros 5 19 21 Dec 2001 Return Values The d_errno and d_text globals are copied to the d_errno and d_text fields of the shared memory array entry The process is terminated by the exit call with the res exit code If there are problems with the shared memory attachment the d_errno global will be set to ENOSHARED 5 20 DAS ACI 3 0 Asynchronous Support Layer 601626 B Response Technique This section describes the most desirable response processing technique Setup The following code should be executed upon startup This code installs a signal handler which will be automatically run every time one of the child processes terminates At this point retrieve the results place them into internal data structures and free the shared memory array entry See Figure 5 21 dasadmin sample application dasadmin c file ime A p struct sigaction acti
86. figured relation between the specified drive and the volser See Figure 4 56 fame luce esa Ja int aci_getvolsertodrive char Drive int num struct aci_voltodrive entry Idrive inf ACI DRIVE NUMBERS Figure 4 56 aci_getvolsertodrive Function Call This call returns the configured relation between the specified drive and volsers If Drive is the Null String the call returns the relation of all drives that are configured The response is returned in InfoVolserToDrive an array of pointers to an aci_voltodrive_entry structure Refer to Figure 4 57 on page 4 69 4 68 DAS ACI Functions 601626 B struct aci_voltodrive_entry char Drive ACI DRIVE LEN char VolserRange ACI_RANGE LEN Figure 4 57 aci_voltodrive_entry Structure See Table 4 26 for a description of the parameters for the aci_getvolsertodrive function call Table 4 26 Parameters for the aci_getvolsertodrive Function Call Parameter Description Drive name of the drive that the reserved volsers requested num number of reported entries aci_voltodrive_entry information returned for the selected drive Drive name of drive VolserRange a single volser e multiple volsers separated by commas e a range of volsers separated by a hyphen Return Values 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ERPC ENOD
87. first free slot AMU database Attribute Empty of this media type of the Type AMU Dynamic With insertopt c will move the cartridges to the first free slot AMU database Attribute Empty of this media type of the Type AMU Dynamic The attribute will automatic change to Clean Cartridges with an invalid volser barcode not readable will be moved to the problembox The function returned the inserted volser with the following structure See Figure 4 69 For additional information refer to aci_eject on page 4 39 struct aci ei info char char volser ACI VOLSER_LEN media type ACI DRIVE LEN int errcode Figure 4 69 aci_ei_info Structure from aci h See Table 4 29 for a description of the parameters for the aci_insert2 function call Table 4 29 Parameters for the aci_insert2 Function Call Parameter Description insertopt defined the type of media for the insert operation n normal data cartridges c clean cleaning cartridges areaname Logical insert range of the Insert Eject unit of the AML in the AMS e g 103 cleanPoolname Name of the Cleanpool defined in AML must be NULL if insertopt n pnActualCount Number of inserted volsers and pointer to an array of structure 4 78 DAS ACI Functions 601626 B Table 4 29 Parameters for the aci_insert2 Function Call Parameter Description aci_ei_info returned information on each volser ejec
88. for the client defined drives Return Values 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ERPC EINVALID ENOTAUTH EUPELSE EBADCLIENT ETIMEOUT EDASINT ESWITCHINPROG Refer to Figure 4 10 on page 4 16 for an example of the aci_clientstatus function 21 Dec 2001 aci_clientstatus 4 15 Query some clients access list configuration Time Te Op CAS S ome let struct aci client entry client entry sel Cligmesicacus celicne Eclica emu 7 ta ee aci_perror Command failed Figure 4 10 Example of the aci_clientstatus Function aci dismount The aci_dismount function dismounts a volume See Figure 4 11 include aci h int aci_dismount char volser enum aci_media type Figure 4 11 aci_dismount Function Call Dismount the volume volser of defined media type from its drive The drive is identified by the DAS software For additional information Refer to aci_mount on page 4 91 O Retries can be configured in the config file or in the AMS configuration See Table 4 6 for a description of the parameters for the aci_dismount function call Table 4 6 Parameters for the aci_dismount Function Call Parameter Description volser volser that is to be moved from a drive to the original position in the AML type media type of the named volser Refer to Media Type
89. gh the DAS server to the automated media library See Figure 2 1 DAS Clients TCP IP AML System e Figure 2 1 Logical Relationship Between AML Components Overview 2 3 21 Dec 2001 The DAS server component is an OS 2 program that runs within the AMU controller personal computer PC It converts DAS client requests into AMU AMS requests and sends them to the AMS for action Fifty heterogeneous networked clients can be configured within the DAS server environment Clients requiring access to ADIC AML systems may use the DAS ACI software component to communicate library requests to the DAS server component DAS clients make the necessary calls to the DAS server with remote procedure calls RPC The DAS ACI library component hides this interface from the client application and provides function calls to the library to request library operations Clients may be granted complete or restricted access to the AML resources DAS administrators control client access and privileges through client registration The DAS client ACI component provides a set of C function calls available as static and or dynamic libraries depending on the operating system platform for a range of operating system platforms The libraries may be linked to application software or be used with the command line administration command interface AC
90. guration status of a client named clientname All configuration information is returned in the structure aci_client_entry See Figure 4 9 For additional information refer to aci_clientaccess on page 4 11 struct aci client entry char clientname ACI_ NAME LEN Struct un aloe do axel boolean avc boolean complete access boolean dismount char volser range ACI MAX RANGES ACI RANGE LEN gt char drive range ACI_RANGE LEN i Figure 4 9 Returned Configuration Information See Table 4 5 for a description of the parameters for the aci_clientstatus function call 4 14 DAS ACI Functions 601626 B Table 4 5 Parameters for the aci_clientstatus Function Call Parameter clientname Description name of the client which authorization is to be changed aci_client_entry returned information to the requested client clientname requested client name in_addr 32 bit dotted decimal noted Internet Protocol IP address ave true or false Parameter avoid volume contention defined the reaction during a mount of an already mounted cartridge complete_access true or false Parameter authorized complete or basic command set Refer to Client Services on page 2 4 dismount true or false Parameter controls the automatic dismount if a next mount occur to an occupied drive volser_range for the client configured volser range drive_range
91. he AMS will start the automatic inventory of the range 44 EBARCODE Switch the bracode reading off with aci_barcode and try the command again Application Notes 601626 B Table A 1 Error Code Reactions Number d_error Name Recommended Reactions to the Error Code 45 EUPOWN The Client tried to allocate volsers that are already allocated 46 ENOTSUPPHCMD The AMU has a command exclusion feature that can be used to configure which DAS commands are supported The command that wes sent to the AMU is configured as a not supported host command Refer to the AMU Administration Guide if this needs to be changed 47 EDATABASE Check the AMU log for a more detailed message Also check the AMU error message 48 ENOROBOT Check the AMU configuration 49 EINVALIDDEV Check the device parameter and correct it if necessary 50 NO_ECODES Number of error codes in header file increment when adding new codes to the end of the list Terms This section contains explanations of terms used throughout this document ACI AML AMS AMU AML Client Interface Application Program Interface for the AML Automated Mixed Media Library AML software and physical archive e 2 stands for 2nd version e Estands for Entry e J stands for Junior AML Archive Management Software The complete software package which controls the AML AML Archive Management Unit Central int
92. he AMU Reference Guide 4 66 DAS ACI Functions 601626 B Table 4 25 Parameters for the aci_foreign Function Call Parameter Descriptions position reserved for compatibility not used This version does not have a command to display occupied symbolic volsers Please note this assignment the symbolic volser will be needed for the rmf command For additional information refer to aci_dismount on page 4 16 and aci_mount on page 4 91 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EDASINT e ENOTAUTH e EBADCLIENT e ENOSPACE e EDASINT e ENOMATCH e ETIMEOUT e ERSWITCHINPROG e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY Refer to Figure 4 55 on page 4 68 for an example of the aci_foreign function 21 Dec 2001 aci_foreign 4 67 Add foreign media to DAS catalog Time we Os enum aci media type ACT 3590 char volser FOROOL char coord E301010310 short pos 0 it re aci foreign ACI ADD volser type coord pos aci perror Foreign media location failed 1 printf Foreign volser s added n volser Figure 4 55 Example of the aci_foreign Function aci_getvolsertodrive The aci_getvolsertodrive function gets the con
93. he aci_list_foreign function queries status from up to 300 foreign volsers for a client See Figure 4 80 Hinclude aci h ine aca list toreigal Char olsen Figure 4 80 int nCount aci_foreign_ desc pszForeign aci_list_foreign Function Call Returns the status of the foreign volser If the volser is the NULL string return nCount status on all foreign volsers The status is returned in an array of pointers to aci_foreign_desc structure The array element can be maximum size of 300 See Figure 4 81 aci_list_foreign 4 89 21 Dec 2001 struct aci foreign desc char volser ACI VOLSER LEN char coord ACI COORD LEN enum aci media type eType char attrib Figure 4 81 Example of the Returned Structure Refer to Table 4 34 for a description of the parameters for the aci_list_foreign function call Table 4 34 Parameters for the aci_list_foreign Function Call Parameter Description volser the volser number coord coordinates of the foreign volser aci_media_type eType the medium type of the volser as listed in the DAS Administration Guide attrib the attributes of the foreign volser Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes eo ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG e EBADCLIENT e ENOTSUPPHCMD 4 90 DAS ACI Functions 6
94. hild process The operating system does not allow two processes with the same ID The request ID ensures the uniqueness of each ID After the request is completed it stores the results in the appropriate location in that shared table and terminates To retrieve the information back to the client define a special function that terminates SIGCHLD a child process This routine could also transmit the data into an application internal data buffer and free the entry in the table Doing this ensures that the entry process ID will never be repeated in the shared memory table Sadmin Sample Application For the convenience and ease of understanding the programming techniques required to write the asynchronous ACI applications the sadmin sample application is provided This application represents a cut version of the standard dasadmin application It the following commands e mount mount a volser e dismount dismount the volser or force the drive to dismount e insert insert volsers Overview 5 3 21 Dec 2001 e eject eject elect complete volsers e allocv allocate volser e allocd allocate drive e script run the commands from a script file This application can run in both single command and scripting modes To stop this application press lt Ctrl gt lt C gt or use the KILL command Sadmin Syntax The syntax of the sadmin sample application has two general forms e sadmin lt command gt
95. i_robstat Functi0N oooo o oooooooo o 4 109 aci_scratch_get Function Call o oooo oo ooooccoomomoo o o 4 109 Example of the aci_scratch_get Functi0N ooooooooooooo 4 111 aci_scratch_info Function Call o oo oooooo o 4 111 Example of the aci_scratch_info Functi0N oo o mmmmo o 4 113 aci_scratch_set Function Call ooococccccooccocccc oo 4 114 Example of the aci_scratch_set Function ooooooommmmoo o 4 115 aci_scratch_unset Function Call 00 0 0 00 00 0000 4 116 Example of the aci_scratch_unset Function 4 117 aci_shutdown Function Call 0 000 000 eee 4 118 Example of the aci_shutdown Function 00 4 119 aci_snmp Function Call o oooocooooccooooocommmmmooo 4 119 aci_switch Function Call 0 0 0 0 0c ccc cee eee 4 120 Example of the aci_switch Functi0M oooooocoommmmoo o 4 121 aci_unload Function Call s asispa eai cc ee eee 4 122 aci_view Function Call 0 0 00 ccc cee eee 4 123 Volser Information Contained in the aci_volume_desc Structure4 123 Example of the aci_view Function 0 oooooocoooccoo oo 4 126 aci_volser_inventory Function Call ooooooooooooo o 4 126 aci_volseraccess Function Call 00 cee eee eee eee ee 4 128 aci_volserstatus Function Call 0 cece eee eee 4 129 aci_volser_entry Structure 0 0 00 00 e eee eee ee 4 130 601626 B
96. iled The external variable d_errno is set to one of the following DAS error codes aci_eject ERPC EINVALID ETIMEOUT ESWITCHINPROG EBADCLIENT ENOTSUPPHCMD The aci_eject function ejects a range of volumes from the AML See Figure 4 32 include aci h int aci eject char eject area Figure 4 32 char volser range enum aci_media type aci_eject Function Call 21 Dec 2001 aci_eject 4 39 Eject the volumes in volser_range to the eject_area The media type of the volumes must match that of the eject_area Set type to the media type of the volser_range See Table 4 15 Table 4 15 Parameters for the aci_eject Function Call Parameter Description clientname Using SHARED_ACCESS as a key word for the client shows all drives which are allocated in the SHARED_ACCESS mode Using EXUP as a key word for the clientname shows all drives which are allocated in the EXUP mode eject_area Logical area defined in AML where the cartridges should be ejected volser_ranges e a single volser e multiple volsers separated by commas e a range of volsers separated by a hyphen types media type of the named volser Refer to Media Types on page 2 7 The database entry for the volume is not deleted and the position in the AML that the volume occupied remains reserved for insertion of a volume with a matching volser This could be useful if the volume is temporarily ejected and wi
97. initializes the DAS 3 01 ACI library This function should be called as the first activity before the use of any other functions from the ACI library For additional information refer to aci_init on page 4 72 Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e ERPC o EDASINT e EDASINT e ESWITCHINPROG See Figure 4 65 for an example of the aci_initialize function 7 initialize client do not change drive state fe a 07 aci imitializel Wie see aei Parron WAC rarlec imitializacioims H Ip Figure 4 65 Example of the aci_initialize Function 4 74 DAS ACI Functions 601626 B aci_ insert The aci_insert function inserts volumes into the AML See Figure 4 66 include aci h int aci_insert char insert_ area char volser ranges enum aci_media type Figure 4 66 aci_insert Function Call i This function is for compatibility Please use the aci_insertgen function The cartridges which are actually located in the insert area of the AML and registered by the AMU automatically inventoried after closing the area will be inserted e Volsers which already have a entry in the AMU database will be moved to this position e Volsers which have no entry in the AMU database will be moved to the first free slot AMU database Attribute Empty of this media
98. ion 4 102 DAS ACI Functions 601626 B aci_register include The aci_register function registers a client See Figure 4 94 VICI Ja ine ACL register Chew cliieme char host enum aci_command action bool E avc bool _t complete bool t dismount Figure 4 94 aci_register Function Call Clients are defined for the DAS server by the DAS configuration file However clients may be registered temporarily with the aci_register function This function registers client information and serves three purposes e create a new client profile e change an existing client profile e remove a client profile When the DAS server is shut down the change is lost To permanently create modify or delete a client the administrator must edit the definition in the DAS configuration file See Table 4 41 Table 4 41 Parameters for the aci_register Function Call Parameter Description client name of the client which configuration should be changed host either the hostname or IP address where the client resides action action with the client ACI ADD new temporary client ACI MODIFY change an existing client ACI DELETE delete a client 21 Dec 2001 aci_register 4 103 Table 4 41 Parameters for the aci_register Function Call Parameter ave Description true or false option avoid volume contention Refer to the DAS Administration Guide
99. iption aci_ei_info returned information to each ejected volser volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcode error code derrno If the eject area is full the system stops the eject procedure Depending on the DAS_EJECTAREAFULL environment variable on the AMU the command will be canceled or the system starts with the next eject after the operator has removed cartridges from the eject area The attribute of the coordinate will be set to empty in the AMU database The volser will be set to 0000000000000000 and the type will be set to AMU Dynamic The compartment is ready for the other volsers 13 The compartments for cleaning cartridges are not reserved Organize enough compartments for the cleaning cartridges every time For additional information refer to aci_insert on page 4 75 and aci_eject2 on page 4 42 Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOTAUTH 4 58 DAS ACI Functions 601626 B EBADCLIENT ERETRYL EINUSE ECANCELED EDASINT ENOMATCH ETIMEOUT ESWITCHINPROG ENOPOOL EAREAFULL EHICAPINUSE ECOORDINATE EBARCODE EINVALIDDEV ENOROBOT EDATABASE ENOTSUPPHCMD EAREAEMPTY EBARCODE EAREAFULL
100. is defined to be either UP active or DOWN inactive to requesting clients When the client sets the status to ACI_UP it is exclusively available to that client If another client already has the drive status set to ACI_UP the request is returned with the d_errno set to EUPELSE If the client indicates a status of ACI_DOWN the drive is unavailable to the client requesting drive access A drive must be empty to modify the drive access parameter to ACI DOWN 21 Dec 2001 aci_driveaccess 4 19 Return Values The aci_driveaccess returns the following values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENODRIVE e EDRVOCCUPIED e ENOTHAUTH e EUPELSE e EBADCLIENT e ENOTAUTH e ETIMEOUT e ESWITCHINPROG e EEXUP e EDASINT See Figure 4 14 for an example of the aci_driveaccess function Allocate a drive for client use dit we Op char client SomeClient char drive Drivel enum aci drive status status status ACI DRIVE UP if re aci driveaccess client drive status de Tiperror UDrivch allocations faded e printf Allocation of s for s successful n Ghai cdlaleiaie 9 6 Figure 4 14 Example of the aci_driveaccess Function 4 20 DAS ACI Functions 601626 B aci_ drivestatus The aci_drivestatus functio
101. ive catalog Figure 4 91 on page 4 99 shows the relation of the configuration to the amount of returned volsers 4 98 DAS ACI Functions 601626 B Volser Ranges defined for Client Archive Catalog Range defined with startvolser and endvolser with aci_qvolsrange listed volsers Figure 4 91 Amount of Listed Volsers See Figure 4 92 for the aci_volserinfo function structure struct aci_volserinfo char volser ACI VOLSER_ LEN enum aci_media media_type Clero cisitaraslor Figure 4 92 Structure for the aci_volserinfo See Table 4 39 for a description of the parameters for the aci_ qvolsrange function call Table 4 39 Parameters for the aci_qvolsrange Function Call Parameter Description startvolser first volser in the range of displayed volsers endvolser last volser in the range of displayed volsers num_of_requested_volser number of volsers to be displayed client_name optional parameter to specify the volsers for a client other than the local one 21 Dec 2001 aci_quolsrange 4 99 Table 4 39 Parameters for the aci_qvolsrange Function Call Parameter number_of_returned_volser Description number of the volsers actually found in the range aci_volserinfo volser barcode number of the volser media_type media type of the volser attrib status of the v
102. ivestatus on page 4 21 See Table 4 7 for a description of the parameters for the aci_driveaccess function Call 4 18 DAS ACI Functions 601626 B Table 4 7 Parameters for the aci_driveaccess Function Call Parameter Description clientname client that has allocated the drive or wants to allocate the drive Using SHARED_ACCESS as a key word for the client name when requesting a drive reservation causes that drive to be shared with other clients All clients which are configured for that drive can access it drive one of the device names defined in the DAS configuration file for the specific client status ACI_DRIVE_UP normal reservation of the drive other clients can change the reservation back with ACL DRIVE_DOWN if the drive is empty ACT_DRIVE_DOWN deleted reservation normal only possible with an empty drive ACI DRIVE_FUP force drive allocation also possible if the drive is occupied ACT DRIVE_FDOWN force delete drive allocation also possible if the drive is occupied ACI_DRIVE_EXUP exclusive reservation of a drive can only changed from the client self or the client named DAS SUPERVISOR ACT DRIVE_DOWN deleted reservation normal only possible with an empty drive The drive can only be put in the DOWN status by ACI_DRIVE_FDOWN if the drive is occupied A drive may only be available to a single client at a time The drive status
103. ject2 char eject area char volser range enum aci media type int pnActualCount struct aci el into pstellnto Figure 4 34 aci_eject2 Function Call For the structure of the aci_ei_info function refer to Figure 4 35 struct aci ei info char volser ACI VOLSER LEN char media type lACI DRIVE LEN int errcode Figure 4 35 Structure of the aci_ei_info function from aci h See Table 4 16 for a description of the parameters for the aci_eject2 function call Table 4 16 Parameters for the aci_eject2 Function Call Parameter Description eject_area logical area defined in the AMS where the cartridges should be ejected volser_range a single volser multiple volsers separated by commas a range of volsers separated by a hyphen set to empty or 0 if it is not to be changed type media type of the named volser range Refer to Media Types on page 2 7 pnActualCount returned number of ejected volsers 4 42 DAS ACI Functions 601626 B Table 4 16 Parameters for the aci_eject2 Function Call Parameter aci_ei_info Description returned information on each volser ejected volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcodes error code derrno If the eject area is full the system stops the eject procedure Depending on the DAS_EJECTAREAFULL environment variable on
104. k eae ees A A ck ie el Lies 4 89 ACL list LOTOTETELE is 4 89 Return Values A A A A a BE eal scenes 4 90 ACME E da e Cod oP a Latha 4 91 Return Values e ET ge 4 91 aci partialanventory ii A A a aes A aA 4 93 Return Valles 0 riar IS e ote les ad 4 95 ACI PELTON A A A Wate WRG Rp BOE SEE 4 96 ACI CTSION dada a 4 97 Return Values or A ie bbe hte vs da 4 97 ACI QVOISFANGE corro rr e a eed a a VS 4 98 Return Vales ta ti te AS dee Bip es das hu bas eee SS 4 101 ACLATESISER yeti A Saal ae A EN 4 103 Return Values aaa serra ea Sa a ae eet HERE 4 104 aci TODHOMEC esis a a LR keg SI a 4 106 Return Values 0 A A ot 4 106 ACTOS di oa Ae 4 107 Return Vales ti a ls ids ti oe 4 108 aci Scratch Betis i a a AAA 4 109 REGUL ales atan RA Bon pe eet AD bie AR ME 4 110 601626 B ACES cerati thao oa eet Be a deo pda ahi Ud antes Nilo te idad 4 111 Return Values A phn aed ae wh NO ee teae die eed 4 112 faci Scratch ssetg ste seit ety oe ete se ad Oe Sede bee Oe a ee 4 114 Retura NV ales rtis A het a ak hy 4 115 aci s frateh unset sis adi ri ts ls o 4 116 Return Values se A ceo eek lie A a it eke doo 4 117 ACESHUAO Mii ADN SA dad 4 118 Re t urn Vales A aaa 4 118 aci SAMP A Ba aR oo AE a RN Baa PE OP hae oes Daeg etl Bh 4 119 124 a WAV les A me SBOE EP 4 119 ack sWe hes errer eos tied rl radishes aches a tt wire ute ae tio 4 120 Return Valles uta cacy Bode BE e A ee Date oat ele ea es 4 121 acto ade ns Pear ais tas Ben
105. l 0 0 ccc cc cee eee 4 72 Example of the aci_init Function 0000000 4 73 aci_initialize Function Call 0 0 0 0 ccc ccc eee 4 74 Example of the aci_initialize FunctiON ooooooooo o o 4 74 aci_insert Function Call 0 0 0 eee eee 4 75 Example of the aci_insert Function 000 4 77 aci_insert2 Function Call 0 0 0 0 ccc ccc cee eee 4 77 aci_ei_info Structure from aci h oooooooooomo oo 4 78 Example of the aci_insert2 Functi0M oooo o ooooocooo ooo 4 80 aci_inventory Function Call ooooo ooooomoccommoo mo 4 81 Example of the aci_inventory Function 60004 4 82 aci_killamu Function Call 0 000000 00 0 ccc ccc cee eee 4 82 Example of the aci_killamu Function 000 4 83 aci_list Function Call 0 0 0 0 cee eee 4 84 Example of the Returned Structure o o oooooccoccccoc o 4 84 Example of the aci_list Function 0000000 4 86 aci_list2 Function Calle nesel eren erdd ccc eee eee 4 87 Example of the Returned Structure 0 00000 4 87 aci_list_foreign Function Call ooooooooooooooo ooo oo 4 89 Example of the Returned Structure ooooooooccoooocroooo 4 90 aci_mount Function Call o oooooooooooooooo oo 4 91 Example of the aci_mount Functi0N ooooooooocommmmmm o 4 93 aci_partial_inventory Function Call ooooooooooooo o oo 4 93 E
106. le 4 43 Parameters for the aci_robstat Function Call Parameter Description szRobot the defined robot of a twin AML system R1 Robot 1 of AML must also be used for all single AML system R2 Robot 2 of the twin AML szAction START or in szRobot set the defined Robot to on start line STAT or ask the AMS for the status of the robots stat parameter szRobot must set to NULL Return Values 4 108 DAS ACI Functions 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ERPC EAMU EAMUCOMM EROBOTCOMM EDASINT ERETRYL ECANCELLED EDASINT ETIMEOUT ESWITCHINPROG ECOORDINATE EDATABASE ENOTSUPPHCMD Refer to Figure 4 99 on page 4 109 for an example of the aci_robstat function 601626 B Check robot status Hime TAC 2 Glee sxinoixoc 3 1 MRL s Chae Pacem 5 Sueur if rc aci_robstat szRobot szAction aci_perror Version request failed printf Robstat 1 s n szSourceCoord printf robstat sucessfulin Figure 4 99 Example of the aci_robstat Function aci_scratch_get The aci_scratch_get function gets a scratch volume See Figure 4 100 O CA SC int aci scratch get char subpool enum aci_media type char volser Figure 4 100 _aci_scratch_get Function Call Get a scratch volume from subpool and return the volume name in volser The
107. lete Service Access Routine aci_barcode Explanation Switching ON and Off Barcode Reading aci_cancel Cancel outstanding request aci_dismount Dismount media from drive aci_cleandrive Clean a drive immediately aci_clientaccess Change client access list aci_clientstatus Query client access list aci_driveaccess Change client drive status aci_drivestatus Query client drive status for compatibility only aci_drivestatus2 Query client drive status with additional information aci_drivestatus3 Query physical drive status aci_eject Eject media from AML for compatibility only 21 Dec 2001 ACI Services 2 5 Table 2 2 Routines Available with Complete Service Access aci_eject2 Routine Explanation Eject media from AML and keep database entry for future insert requests aci_ejectclean Eject clean media from AML and remove database entry aci_eject2_complete Eject media from AML and remove database entry aci_flip Turn Optical Disk on in the drive aci_force Force a dismount request from a specified drive aci_foreign Add or delete foreign media aci_getvolsertodrive Get the volsers which are allowed to be mounted to a specified drive Volsers are configured in the DAS config file aci_getvolsertoside Get the second volser of the Optical Di
108. ll be inserted in the near future In such case the position remains reserved and the volume s location within the AML does not change The eject will stop when the eject area is full The request will either be cancelled or completed after the area is marked empty depending on the DAS_EJECTAREAFULL environment variable For additional information refer to aci_eject2 on page 4 42 and aci_eject_ complete on page 4 49 Return Values 4 40 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID 601626 B e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOTAUTH e EBADCLIENT e ERETRYL e EINUSE e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL Refer to Figure 4 33 for an example of the aci_eject function iime We Os e geal ejecu MOL Usisogat ACT 3590 5 aie 326 aci perror Command failed printf Volser AABO01 ejected to E01 In Figure 4 33 Example of the aci_eject Function aci_eject 4 41 21 Dec 2001 aci_eject2 The aci_eject2 function ejects a range of volumes from the AML See Figure 4 34 include aci h int aci e
109. ls 4 103 ACK Client 5 fewer ee ae tee pad es 2 6 Remove volume from scratch pool ACT CHENE A ES 2 7 RPC Remote Procedure Calls 2 4 S Scratch Info ia aces 4 111 Scratch Setas Sie ee oe Ea 4 114 Index in 3 Seratch insets ais wee ace sz eset te 4 116 Se ESTACA da 4 111 IS An Bae oe 4 111 Shutdown a Sages 4 118 AGW lent ata na ot ok teeta 2 7 SHUtdOWN ut ed Soa eae eae 4 82 Signal Handler 0004 5 21 ROUGHING ii AER ORES 5 22 DOT Gr ERA R Ran il pad te Bee 5 21 st_insert_response orure iai Een cece 5 27 st_mount_parms ser A E E 5 26 SE_TESPONSE E Eke Nea Ee SNe 5 26 Symbols Hazard Alert Messages ooooooooo 1 5 symbols LOMAS IS eA ES 1 4 information note 0 000 eee eee 1 4 Te Terms id Sn ge eee s A 9 Testr eaae O A Nt ass Poh aE 4 118 U Used Terms 0 cece cece eee eens A 9 View database entry ACL Gents orto shea os eh 2 7 in 4 Index 601626 B
110. lues The d_errno and d_text globals are copied to d_errno and d_text fields of shared memory array entry The process is terminated by the exit call with the res exit code If there are problems with shared memory attachment d_errno global will be set to ENOSHARED aci_insert The aci_insert function inserts volumes into the AML See Figure 5 18 include aci_async h ACI _INSERT insert_ area volser ranges type Figure 5 18 aci_insert Asynchronous Function Call All the parameters must comply with the rules for the aci_insert function call The local variable int res must be defined before using this macro Returned values The d_errno and d_text globals are copied to the d_errno and d_text fields of the shared memory array entry The process is terminated by the exit call with the res exit code 5 18 DAS ACI 3 0 Asynchronous Support Layer 601626 B aci_eject The aci_eject function ejects a range of volumes from the AML See Figure 5 19 include aci_async h ACI EJECT eject_area volser range type Figure 5 19 aci_eject Asynchronous Function Call All the parameters must comply with the rules for the aci_eject function call The local variable int res must be defined before using this macro Return Values The d_errno and d_text globals are copied to the d_errno and d_text fields of the shared memory array entry The process is terminated by the exit call with the res
111. mance of procedures other than those specified herein may result in hazardous radiation exposure This symbol means that specific regulations rules notices and working procedures must be observed Ignoring this symbol can lead to equipment damage or destruction or to other property damage This symbol indicates that the risk of equipment damage exist due to static discharge This symbol draws attention to user tips No dangerous or damaging consequences for personnel or property are associated with this symbol This symbol indicates important or useful information No dangerous or damaging consequences for personnel or property are associated with this symbol 601626 B Validity These instruction are valid for ADIC Storage Systems AML systems Supplementary safety provisions for any components used on the machine are not invalidated by these instructions O Any other manufacturer s documentation forms part of the AML documentation Validity 3 5 21 Dec 2001 3 6 Safety 601626 B DAS ACI Functions Ver Vie Wi a ee ire ee an tae ke sz 4 5 ACE DALCOG A eh cet Se st eh a Ia E TE sd on Si ae BS ae Nh 4 5 Return Values sumida datar arta be teed eho deed 4 6 al A RS A A TN 4 7 2 0 GAY Ae ee eae A E A E E 4 8 Fe You fx C 1 9 10 het 4 nn a 4 9 Return AleS net te otal het Fy Santee Ra A ee te aed ah 4 9 AGCIMCIIEMLACCESS le dosha BP cette ocelot e
112. me o 2 7 query scratch volume 2 7 Query VeYrSION 6 eee ee eee 2 6 re TOT aia based Wands no dus meena due eas ou 2 6 remove volume from scratch pool 2 7 shutdown 0 cect ee eee 2 7 VIEW nae o le A ee 2 7 Complete user services 2 4 2 5 Controller AMU za o hh A ORE th Bok ot Bs 2 4 Do DAS ACI AML Client Interface 2 4 DAS Calls nia car a 2 4 DAS SAVE ia ARAS aa 2 4 DAS _DISMOUNT 0 00 0 0c 5 7 DAS EJECT cu ARA 5 9 DAS_EJECT_COMPLETE 5 10 DAS FORCE vibe 5 7 DAS INSERT presero oie pta dopo 5 8 DAS_MOUNT 000 0c cece eens 5 6 CIDO tra de eels ee eee te 2 8 DISMOUNt unicas Solel oh ae eee ey 4 16 AG client cts aio 2 5 dismount it skeen iaa 4 16 Document Organization 6 1 3 Drive ACCESS feet relies a La a le GE la si 4 18 ACT Elena 2 5 601626 B Drivestat S macs ge aaa web ene 4 5 4 9 4 21 AGT CHEN E as 2 5 E Ej ct ei et we eae oc 4 39 4 42 4 51 4 57 ACTehent e day stats dans hd 2 5 2 6 Eject complete ACT Client ir ao ead ce as be Ds 2 6 Force siete ee Ee ee OE Mee e s 4 61 4 64 ACTO Ein arranca 2 6 A A a E R 4 66 Foreign media AGT Ghent eo a a A as 2 6 G Geb Scratch cis neces adios da tod 4 109 H Hazard Alert Messages ooooooooooooo 1 5 Header file ACTA op AA E AAA 2 8 A ves ccewis sersa suns 5 5 5 16 ACL xdi Ais eis shes is bees o de ed P
113. n queries status of up to 15 drives include aci See Figure 4 15 h int aci_drivestatus char clientname struct aci_ drive entry pstDriveEntry ACI_MAX DRIVE ENTRIES Figure 4 15 aci_drivestatus Function Call Return the status of drives which are set to UP active for the client with name clientname If clientname is the NULL string return status on all drives The status is returned in drive_entry an array of pointers to aci_drive_entry structures See Figure 4 16 For additional information refer to aci_driveaccess on page 4 18 and aci_drivestatus on page 4 21 struct aci_drive entry char char enum char char char char bool_t cleaning short clean count drive name ACI DRIVE LEN amu_drive_name ACI _AMU DRIVE LEN aci drive status drive state type system id ACI_NAME LEN clientname ACI_NAME_ LEN volser ACI VOLSER_ LEN Figure 4 16 Returned Status 1 For an explanation of the aci_drive_entry function refer to aci_drivestatus on page 4 21 The maximum number of drives displayed is 15 21 Dec 2001 aci_drivestatus 4 21 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG e EBADCLIENT aci_drivestatus2 The aci_drivestatus2 function queries status of up to 250 drives See Figure 4 17
114. n status of the drive ACI UP reservation of named volser for the client ACI DOWN Deleted reservation of named volser for the client Only complete ranges can be deleted not subranges from another range Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes 4 128 DAS ACI Functions 601626 B e EUPELSE e ERPC e EINVALID e ENOVOLUME e EDASINT e EBADCLIENT e ENOTAUTH e ETIMEOUT e ESWITCHINPROG e EUPOWN aci_volserstatus The aci_volserstatus function queries ownership of the volser See Figure 4 119 qalime luce laca lav int aci_volserstatus char ClientName int num char VolserRange struct aci_volser entry VolserEntry ACI MAX VOLSER ENTRIES Figure 4 119 aci_volserstatus Function Call Returns the status of volsers which are set to UP for the client with name clientname If clientname is the NULL string the call return status on all volsers specified in VolserRange The status is returned in VolserEntry an array of pointers to aci_volser_entry structure The structure aci_volser_entry is stated in aci h see Figure 4 120 struct aci_volser entry char ClientName ACI NAME LEN char VolserStatus ACI VOLSERSSTATUS LEN char volser ACI VOLSER LEN enum aci media media type aci_volserstatus 4 129 21 Dec 2001 Figure 4 1
115. no requests i gt req type Figure 4 77 Example of the aci_list Function 4 86 DAS ACI Functions 601626 B aci_list2 Hinclude aci The aci_list2 function lists executing requests for a client See Figure 4 78 JU ime aca listal diar Cc illaicmememe struct aci req entry2 req status Figure 4 78 aci_list2 Function Call List executing requests belonging to the client clientname Return the requests in the array of aci_reg _entry2 structures The array element can be maximum size of 15 See Figure 4 79 struct aci_req entry2 u_ long request_no u long individ no char char char char char char char char char clientname ACI_NAME_ LEN reg type ACI_REQTYPE LEN2 1 Volser ACI_VOLSER_LEN Drive ACI_DRIVE_LEN AreaName ACI_AREANAME LEN PoolName ACI_POOLNAME LEN VolserRange ACI RANGE LEN StartCoord ACI COORD LEN EndCoord ACI COORD LEN Figure 4 79 Example of the Returned Structure Refer to Table 4 32 for a description of the parameters for the aci_list2 function call aci_list2 4 87 21 Dec 2001 Table 4 32 Parameters for the aci_list2 Function Call Parameter clientname Description Name of the client that receives the active request information aci_req_entry2 Returned information about executing commands request_no DAS command sequence serial
116. nt asyne table void shmat async_table desc 0 0 d_errno ENOSHARED strepy d_text shmat failed aci_ insert insert area volser ranges type asymac_ EmikeyoScl ciao Cl Sao strcpy async_entry gt d_text d text shmdt async_ table exit res Figure 5 9 Example of an aci_async_add Function 5 12 DAS ACI 3 0 Asynchronous Support Layer 601626 B aci_async_create The aci_async_create function creates a shared memory array of the entry_num size that will hold the requests sent See Figure 5 10 include aci_async h aci_async_entry aci_async_create long entry num Figure 5 10 aci_async_create Function Call See Table 5 7 for a description of the parameter for the aci_async_create function Table 5 7 Parameter for the aci_async_create Function Parameter entry_num Description entry_num number of entries allocated to hold the request information Return Values The call was successful if a pointer to the start of shared memory array mapped into virtual address space of the process The call failed zero is returned The entry_num value and pointer returned are stored globally in the Asynchronous Layer Library for later use You must call this function only once Repeated calls will destroy global values and will not free previously allocated shared memory arrays Refer to Figure 5 11 on page 5 14 for an example of the aci_a
117. nt of Drivel successful n Figure 4 53 Example of the aci_force Function aci_force 4 65 21 Dec 2001 aci_foreign The aci_foreign function catalogs a foreign volume See Figure 4 54 include aci h int aci_foreign enum aci_command action char volser enum aci media type char coordinate short position Figure 4 54 aci_foreign Function Call When a foreign volume named volser of media type has been added to or removed from the AML system ina foreign mount area DAS must be informed of the status This function notifies DAS of the existence of the volume and its coordinate If added the volume can be used simply by referencing this volser and type in a further aci_mount or aci_dismount request See Table 4 25 Table 4 25 Parameters for the aci_foreign Function Call Parameter Descriptions action select the command for the foreign catalog procedure ACLADD new volser will be added to the foreign media area in DAS and AML database ACI_DELETE volser entry for a foreign media that will be removed from the DAS and AMU database volser volser that should be used in the application for the mount volser with up to 16 digits and alphanumeric symbols no special characters type media type of the named volser Refer to Media Types on page 2 7 coordinate 10 digit logical coordinate of the compartment of the foreign volume in the AMS e g E501010110 Refer to t
118. nt on page 5 6 21 Dec 2001 aci_async_add 5 7 Table 5 3 Parameter for the das_force Parameter Parameter drive Description name of the drive for the dismount das_insert The aci_async_add function with the das_insert parameter inserts volumes into the AML See Figure 5 6 aci_asynce add das insert insert area volser range type Figure 5 6 aci_async_add Function with the das_insert Parameter Q 5 8 DAS ACI 3 0 Asynchronous Support Layer This function is for compatibility Please use the aci_insertgen function The cartridges which are actually located in the insert area of the AML and registered by the AMU automatically inventoried after closing the area will be inserted e Volsers which already have a entry in the AMU database will be moved to this position e Volsers which have no entry in the AMU database will be moved to the first free slot AMU database Attribute Empty of this media type of the Type AMU Dynamic e Cartridges with an invalid volser barcode not readable will moved to the problembox See Table 5 4 for a description of the parameters for the aci_insert function call 601626 B Table 5 4 Parameters for the das_insert Parameter Parameter Description insert_area Logical insert range of the Insert Eject unit of the AML in the AMS e g 103 volser_range The volumes found in the insert_area ar
119. ntory the AML ime 18 Og aci inventory it we aci perror uUcCommand failed wni Figure 4 72 Example of the aci_inventory Function aci_killamu The aci_killamu function homes the robots and shuts down all programs running on the AMU PC including OS 2 See Figure 4 73 include aci h int aci_killamu void Figure 4 73 aci_killamu Function Call The call of this function shuts down the complete AMU PC DAS sends a response to the client Wait 5 minutes before powering off A Attention Inform all administrators also using the AML system before starting the command The command may cause disruption to their operation DAS sends a positive acknowledgment before the process is complete Wait at least 5 minutes following the positive acknowledgment before switching off the power supply to the machine Switching off the power supply to the AMU PC too soon can lead to loss of data 4 82 DAS ACI Functions 601626 B Return Values 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ENOTAUTH ERPC EINVALID EDASINT ETIMEOUT EAMUCOMM EHICAPINUSE ESWITCHINPROG See Figure 4 74 for an example of the aci_killamu function Shutdown of the AMU ime we Oe ac killami Jy CN aci perror Shutdown of AMU PC failed Figure 4 74 Example of the aci_killamu
120. number individ_no reserved not used clientname name of the requesting client req_type type of the outstanding command Refer to Table 4 31 Volser the volser number Drive the drive number AreaName the import or export area PoolName the pool name scratch clean VolserRange the range of the volser StartCoord starting coordinates of the range EndCoord the ending coordinates of the range See Table 4 33 for an explanation of the req_types Table 4 33 Explanation of the Req_types req_types Explanation BACO switch barcode reading on or off aci_barcode EJCL eject of cleaning cartridges aci_ejectclean INCL insert media from I O unit with aci_insertgen INVT insert media from I O with aci_insert KEEP keep media from drive aci_dismount MOUNT mount media to a drive aci_mount MOVE eject media to I O unit aci_eject aci_eject_complete 4 88 DAS ACI Functions 601626 B Table 4 33 Explanation of the Req_types req_types Explanation PINV Complete archive inventory and database update aci_inventory PRGE Delete a command from the command list aci_cancel SHUT Shutdown off the complete AMU aci_killamu Return Values 0 The call was successful 1 The call failed The external variable d_errno is set to one of the following DAS error codes ERPC EINVALID EDASINT ETIMEOUT ESWITCHINPROG ENOTSUPPHCMD aci_list_foreign T
121. olser If the startvolser and endvolser parameters are set to the NULL string or 0 asearch will start at the smallest database entry defined for the client and end at the largest database entry defined for the client However the maximum string length of startvolser must be the string length of ACI VOLSER_ LEN Refer to Table 4 40 on page 4 100 for an explanation of the attrib v alues For further information refer to aci_view on page 4 123 Table 4 40 Explanation of the Attrib Values Name attrib Explanation ACI_VOLSER_ATTRIB_ M Mounted slot empty medium has been MOUNTED placed in a drive ACI_VOLSER_ATTRIB_ E ejected slot empty medium has been EJECTED placed in the I O unit ACI_VOLSER_ATTRIB_ O occupied slot occupied medium is in its OCCUPIED home position ACI_VOLSER_ATTRIB_ U undefined special attribute used by UNDEFINED HCC MVS ACI_VOLSER_ATTRIB_ Y empty slot empty no medium defined for EMPTY the slot ACI_VOLSER_ATTRIB_ R reverse side mounted slot empty optical REVERSESIDEMOUNTED disk has been placed in the jukebox ACI VOLSER ATTRIB _ J in jukebox slot empty optical disk has JUKEBOX been placed in the jukebox ACI_VOLSER_ATTRIB_ I initial INTTIAL attribute not used 4 100 DAS ACI Functions 601626 B Table 4 40 Explanation of the Attrib Values Name attrib Explanation ACL VOLSER_ATTRIB_ T temp here slot oc
122. ommoo oo 4 13 aci_clientstatus Function Call 0 0 00 0000 ce eee eee 4 14 Returned Configuration Information 000 4 14 Example of the aci_clientstatus Function 00 4 16 aci dismount Function Call 0 0 eee eee eee ee 4 16 Example of the aci_dismount Function 00 4 18 aci_driveaccess Function Call 2 0 cee eee eee ee 4 18 Example of the aci_driveaccess Function 000 4 20 aci_drivestatus Function Call o oooooooooooo oo o 4 21 Returned Hats da dia 4 21 aci_drivestatus2 Function Call 0 eee eee o 4 22 Returned Status cereri terai e e cee eee eee ne eee eee 4 23 Example of the aci_drivestatus2 FunctioN o ooooo ooo 4 26 aci_drivestatus3 Function Call 0 eee eee ooo 4 27 Returned Status caved paddy ied path wie ead ENEA 4 27 Figures Figure 4 22 Figure 4 23 Figure 4 24 Figure 4 25 Figure 4 26 Figure 4 27 Figure 4 28 Figure 4 29 Figure 4 30 Figure 4 31 Figure 4 32 Figure 4 33 Figure 4 34 Figure 4 35 Figure 4 36 Figure 4 37 Figure 4 38 Figure 4 39 Figure 4 40 Figure 4 41 Figure 4 42 Figure 4 43 Figure 4 44 Figure 4 45 Figure 4 46 Figure 4 47 Figure 4 48 Figure 4 49 Figure 4 50 Figure 4 51 Figure 4 52 Figure 4 53 Figure 4 54 aci_drivestatus4 Function Call o ooooooooo o o o o 4 29 Returned Status reds new pai les hates pha ahead 4
123. omponent prerequisite is installed See Table 4 38 Table 4 38 Parameters for the aci_qversion Function Call Parameter Description aciver displays the release of the used ACI function library e g 3 01 dasver displays the release of the used DAS software on the AMU e g 3 01 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG Refer to Figure 4 89 on page 4 98 for an example of the aci_qversion function aci_qversion 4 97 21 Dec 2001 Check DAS and ACI version ine 10 char szACIVersion ACI_MAX VERSION LEN char szDASVersion ACI MAX VERSION LEN Tc aeatqvenszon char amp SzZzACIVersron char amp szDASVersion aci_perror Version request failed printf DAS Version s n szDASVersion printf ACI Version s n szACIVersion always OK Figure 4 89 Example of the aci_qversion Function aci_qvolsrange The aci_qvolsrange queries the list of available volsers See Figure 4 90 Humic llbiele Meret la int aci_qvolsrange char startvolser char endvolser int num of requested volsers char client name int number of returned volsers struct acil vol serio Mists Figure 4 90 aci_qvolsrange Function Call The function returns a list of volsers from the arch
124. on aci_async_entry async entry action sa handler wait_for child sigemptyset saction sa mask action sa flags 0 if sigaction SIGCHLD action struct sigaction 0 int SIG ERR fprintf stderr Unable to set signal handler for SIGCHLD n return 1 Figure 5 21 Setup Signal Handler Response Technique 5 21 21 Dec 2001 Signal Handler Routine The following code processes the result of child process work At the point this function is run the results are placed in the shared memory array entry and developer should program the logic that will take the results from there and place them somewhere else The dasadmin sample application puts all the data into the standard output See Figure 5 22 dasadmin sample application wait _for_child c file void wait for child int sig no pid t pid aci_async_entry async_entry int exit code Time Lp pid wait exit code ir asyneventrys tacita syncitind onc primer Uregultss gectim sulle ya y Figure 5 22 dasadmin Sample Application 5 22 DAS ACI 3 0 Asynchronous Support Layer 601626 B Data structures This section provides and overview of the data structures used in asynchronous ACI data interchange The shared memory array consists of several entries of type aci_async_entry The exact number should be set in the aci_async_create call This consists
125. owing DAS error codes ERPC EINVALID EPROBVOL EAMU EAMUCOMM EROBOTCOMM EBADCLIENT EDASINT ETIMEOUT EAMUCOMM ESWITCHINPROG EDASINT ENOROBOT EDATABASE ENOTSUPPHCMD Refer to Figure 4 2 on page 4 7 for an example of the aci_barcode function 601626 B Switch the barcode reading off for robot 1 amie we Wp CSS RON E char Action OFF nera tacifbarcode MeRoObNuUM ACETONE sE aci_perror Command failed printf barcode reading switched off An Figure 4 2 Example of the aci_barcode Function aci_cancel The aci_cancel function cancels a specific DAS request See Figure 4 3 mabac luce ac lat int aci_cancel unsigned long request_id Figure 4 3 aci_cancel Function Call See Table 4 2 for a description of the parameter for the aci_cancel function call Table 4 2 Parameter for the aci_cancel Function Call Parameter Description request_id DAS command sequence number get information on the sequence number with the aci_list function The aci_cancel function cancels a previously issued and not completed client request Before using this function use the aci_list function to get the request_id in order to cancel the correct request aci_cancel 4 7 21 Dec 2001 The cancel request cancels the command in the DAS server and the AML If the request is being acted upon in the AML DAS attempts to cancel it however
126. pool is created if it does not exist If a subpool is not specified and set to the NULL string or 0 the default pool will be used If the volume is already defined to another pool an error EOTHERPOOL will be returned If this is a new scratch volume subpool will be the pool from which the volume can be selected using the aci_get_scratch function See Table 4 46 Table 4 46 Parameters for the aci_scratch_set Function Call Parameter Description subpool the stored name of the pool for scratch media in the AMU database If the information is to be taken from a default subpool of a media type set type to the media type of the volser and set subpool to the NULL string or M0 type type of the media in the subpool Refer to Media Types on page 2 7 volser set volser to scratch in the named subpool in the AMU database only possible if the volser is already defined in the AMU database but the status of the volser ejected mounted etc is not relevant N Attention Data stored on the media may be lost The command automatically sets the specified medium as a scratch medium without a confirmation prompt The data on the medium is overwritten by the next scratch mount command 4 114 DAS ACI Functions 601626 B EOTHERPOOL if the medium already exists in another O The command will be rejected with the message scratch pool For additional information ref
127. pressed one or more drive buttons e g unload button aci_view Query volume database entry aci_volseraccess Set ownership of volser aci_volserstatus Query ownership for volser Media Types The DAS ACI supports a variety of media types The media type is passed as a parameter to all ACI functions that require media operations Each media type name is a member of an enumerated type aci_media defined in the aci h header file Table 2 3 lists the media types supported by DAS Table 2 3 Supported Media Types ACI Media Name Media Type ACI_3480 3480 3490 cartridges ACI_3590 3590 8590 cartridges NTP ACI 4MM DDS or DAT 4mm tape 21 Dec 2001 ACI Services 2 7 Table 2 3 Supported Media Types ACI Media Name ACI 8MM Media Type DDS 8mm tape e g EXABYTE ACI AUDIO_TAPE standard audio tape cartridges ACI BETACAM SONY BetaCAM cartridge ACI BETACAML large BetaCAM cartridge ACI_CD CD ROM with CADDY ACI_D2 D2 small and medium tape cartridge ACI_DECDLT DLT CompacTape cartridge ACI_DTF SONY DTF cartridge ACI_OD_THIN Reflection optical disks ACI OD_THICK 512 MO WORM optical disks ACT TRAVAN TRAVAN cartridge ACI_VHS VHS cartridge ACI SONY_AIT Sony AIT ACI LTO LTO a only IBM LTO media type is supported DAS Error Codes The DAS ACI functions return either a succe
128. r the aci_cleandrive Function Call Parameters for the aci_clientaccess Function Call Parameters for the aci_clientstatus Function Call Parameters for the aci_dismount Function Call Parameters for the aci_driveaccess Function Call Parameters for the aci_drivestatus2 Function Call Parameters for the aci_drivestatus3 Function Call Parameters for the aci_drivestatus4 Function Call Parameters for the aci_drivestatus_one Function Call Parameters for the aci_drivestatus2_one Function Call Parameters for the aci_drivestatus3_one Function Call Parameters for the aci_eif_conf Function Call Parameters for the aci_eject Function Call Parameters for the aci_eject2 Function Call Parameters for the aci_eject3 Function Call Parameters for the aci_eject_complete Function Call xvi Tables Table 4 19 Table 4 20 Table 4 21 Table 4 22 Table 4 23 Table 4 24 Table 4 25 Table 4 26 Table 4 27 Table 4 28 Table 4 29 Table 4 30 Table 4 31 Table 4 32 Table 4 33 Table 4 34 Table 4 35 Table 4 36 Table 4 37 Table 4 38 Table 4 39 Table 4 40 Table 4 41 Table 4 42 Table 4 43 Table 4 44 Table 4 45 Table 4 46 Table 4 47 Table 4 48 Table 4 49 Table 4 50 Table 4 51 Parameters for the aci_eject2_complete Function Call 4 52 Paramet
129. response Structure st_mount_parms This structure is reserved for possible future use Asynchronous ACI developer could use it for storing data See Figure 5 27 struct async mount parms async response stResponse char volser XDR_VOLSER_LEN enum media type char drive XDR_DRIVE_LEN enum drive status drive state char drvmedia XDR_TEXT LEN Figure 5 27 async_mount_parms Structure 5 26 DAS ACI 3 0 Asynchronous Support Layer 601626 B st_insert_response This structure is supported by ACI_INSERT macro described above If you do not use macros you could fill it with appropriate data after aci_insert call returns ACI_INSERT macro also fills the member volser_ranges_len with the actual size of volser_ranges_val array which could be less that XDR_NO_RANGES in most cases See Figure 5 28 struct async insert response async response resp not used e struct this structure returns the volsers inserted u int volser ranges len number of volser ranges val array entries which contain inserted volsers a char volser ranges val XDR_NO RANGES XDR_RANGE LEN this array contains z a all the volsers inserted y volser ranges enum media mediatype media type not used oy char szMediaType XDR_AREANAME LEN not used nee Figure 5 28 async_insert_responce Structure Response Data Structure 5 27 21 Dec 2001 5 28 DAS A
130. right ADIC Europe makes no representation or warranty with respect to the contents of this document and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose Further ADIC Europe reserves the right to revise or change this publication without obligation on the part of ADIC Europe to notify any person or organization of such revision of change Every effort has been made to acknowledge trademarks and their owners Trademarked names are used solely for identification or exemplary purposes any omission is unintentional ADIC and ADIC Europe are trademarks of Advanced Digital Information Corporation ADIC ADIC Europe ADIC Germany Beteiligungs GmbH KG Tel 1 303 705 3900 ZAC des Basses Auges Eschenstrafse 3 Fax 1 303 792 2465 1 rue Alfred de Vigny D 89558 Bohmenkirch Germany ATAC 1 800 827 3822 78112 Fourqueux France Tel 00 800 9999 3822 www adic com Tel 33 1 3087 5300 Fax 33 1 3087 5301 Document number 601626 B Published 21 Dec 2001 Printed in the USA ADIC CORPORATE 11431 WILLOWS ROAD NE REDMOND WASHINGTON USA 1 800 336 1233 ADIC 8560 UPLAND DRIVE PARKER COLORADO USA 1 800 827 3822 ADIC 10 BROWN ROAD ITHACA NEW YORK USA 1 607 266 4000 21 Dec 2001 iii iv Chapter Name 601626 B Introduction QVERVICW 553 ET AS A A A ne cits Sage 1 3 Tritended Avidien ces put cack sic a See nats RIS
131. ry 004 2 7 AML Client Interface oooooooooomoo 2 4 AML Management Software AMS 2 4 AML Management Unit AMU controller 2 0 0 ccc cece eee 2 4 ASSISTANCE caridad 1 5 Associated Documents 00 eee 1 4 async_drive_parms 0000 5 25 ASYNCW ei parmis iia ia A 5 25 B Basic user services o oooooooooooo 2 4 2 5 C Cancel EIRE e id alado 4 7 ACTO E a tata E es 2 5 Change client access ACT client A A A aad 2 5 Client access 2 0 0 ccc cece eee een ee 4 11 fEMPOLALY eM Oe Ree ee Rea 2 6 Client profile CHANGE ii teri ha Gee ERA 2 6 Client services administration o ooooooooooooo o 2 4 ASICs ona RDA ih aes eae le 2 4 in 2 Index COMPIELE ie aya ende 2 4 Client dad ba hese eed 4 14 ACT Chen li oe aie BRE is 2 5 Complete access add volume to scratch pool 2 7 CAICOS O a Bae 2 5 client ACCESS 66 eee eee 2 5 client static e k 2 5 GISINOUNE esse arie aran aan 2 5 diiye aCCOSB eare dati ac ey Seen es 2 5 drive status 0 ccc cc cee 2 5 e Sek ee a ee ee 2 5 2 6 eject complete ooooo ooommo ooo o 2 6 force ches cen ir a Ee Bie he E 2 6 foreign media o o oo ooocccccccccn o 2 6 initialize AML 0 00 e cee eee 2 6 MIST ma gcse eer E EE E TE RAL wR Gace 2 6 INVERTO ne ca 2 6 IE AR SEAE E chs AS ht 2 6 list requested range oooooooocooommm 2 6 MOUNT tala dla 2 6 mount scratch volu
132. s on page 2 7 4 16 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e ENODRIVE e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM DASINT DEVEMPTY NOTAUTH BADCLIENT NOTMOUNTED CANCELED DASINT NOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EPROBDEV e EBARCODE e EAREAFULL eo o gt o o o Ho fH ow A eal o td Refer to Figure 4 12 on page 4 18 for an example of the aci_dismount function aci_dismount 4 17 21 Dec 2001 Dismount volume from drive lime we Os enum aci media type ACI 3590 char volser AAB001 iz 70 ACi Caamoume l volsci usas aci_perror Dismount command failed printf Dismount of s successful n volser Figure 4 12 Example of the aci_dismount Function aci_driveaccess The aci_driveaccess function modifies allocation status of a drive See Figure 4 13 palace lus aci an int aci_driveaccess char clientname char drive enum aci_drive status status Figure 4 13 aci_driveaccess Function Call Modify allocation status of a drive for a specified client For additional information Refer to aci_dr
133. s scratch in the named subpool independent of the status of the volser eject mounted etc Return Values 4 112 DAS ACI Functions e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e EINVALID e EDASINT e ENOPOOL e ERPC e ETIMEOUT e ESWITCHINPROG Refer to Figure 4 103 on page 4 113 for an example of the aci_scratch_info function 601626 B List scratch pool information bae Ep char pszPoolName enum aci media type ACI 3590 long 1VolserCount 1ScratchCount aie we aci_scratch_info pszPoolName type amp l1VolserCount amp lScratchCount 0 aci perror Command failed if strcmp pszPoolName 0 printf DEFAULT POOL VolserCount d ScratchCount d n 1VolserCount 1ScratchCount else printf s VolserCount vd ScratchCount d An pszPoolName 1VolserCount 1ScratchCount Figure 4 103 Example of the aci_scratch_info Function aci_scratch_info 4 113 21 Dec 2001 aci scratch set The aci_scratch_set function sets volume status to scratch See Figure 4 104 miacilude aci Jan int aci_ scratch set char subpool enum aci_ media type char volser Figure 4 104 aci_scratch_set Function Call Set volume named volser of media type type to scratch status in the scratch pool named subpool The sub
134. scription Msg defines the SNMP message Only supported by the Scalar DLC software Return Values e 0 The call was successful e 1 The call failed aci_snmp 4 119 21 Dec 2001 The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROG e EBADCLIENT e ENOTSUPPHCMD aci_switch The aci_switch function switches the passive AMU to active See Figure 4 111 include aci h int aci switch char Switch Figure 4 111 aci_switch Function Call Allow the second AMU to be used without manual intervention if the first AMU PS is down An installed and running Dual AMU is necessary for this function See Table 4 50 Table 4 50 Parameter for the aci_switch Function Call Parameter Description Switch defines the priority of the switch n normal switch allowed to complete all running commands and synchronization of the database before switching will start f force switch immediately without any synchronization to the second AMU but necessary if the first AMU is already down N Caution Only use the f option if the n option is no longer functioning There is a risk that anomalies may be caused in the AMU database 4 120 DAS ACI Functions 601626 B Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is s
135. scription eject_area logical area defined in AML where the cartridges should be ejected volser_range a single volser multiple volsers separated by commas a range of volsers separated by a hyphen set to empty or M0 if it is not to be changed type media type of the named volser range Refer to Media Types on page 2 7 pnActualCount returned number of ejected volsers aci_ei_info returned information to each ejected volser volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcode Error code derrno If the eject area is full the system stops the eject procedure Depending on the DAS_EJECTAREAFULL environment variable on the AMU the command will be canceled or the system starts with the next eject after the operator has removed cartridges from the eject area aci_eject3_complete 4 55 21 Dec 2001 4 56 DAS ACI Functions The attribute of the coordinate will be set to empty in the AMU database The volser will be set to 0000000000000000 but the type will remain unchanged The compartment is ready for the other volsers For additional information refer to aci_insert on page 4 75 and aci_eject2 on page 4 42 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROB
136. sk OD has two volser aci_init Initialize AML for client use aci_initialize Initialize ACI library for client use aci_insert Insert media into AML aci_insert2 Insert media into AML also for clean and scratch media aci_inventory Start physical inventory with AMU database update aci_list List outstanding and currently operating DAS requests aci_mount Mount selected media in drive aci_partial_inventory Start a physical inventory of subsystem in the AML aci_qversion Query version of DAS and ACI aci_qvolsrange List client accessible and physically present volsers within requested range aci_register Temporarily allow client access to DAS DAS ACI 601626 B Table 2 2 Routines Available with Complete Service Access Routine aci_robhome Explanation Set the AML System to offline and move the robot to home position aci_robstat Get Information about the AML status and set the AML to on line aci_scratch_get Mount a scratch volume aci_scratch_info Query scratch volume information aci_scratch_set Add volume to scratch pool aci_scratch_unset Remove volume from scratch pool aci_killamu Shutdown AMU complete with OS 2 aci_shutdown Shut down DAS aci_switch Switch between active and inactive AMU DAS and AMS aci_unload On an AML drive
137. sma n whia dei a AS 5 21 UPA o De RO ES A AS Aa pi 5 21 Signal Handler Routine o n nanunua nunnurnar rerne rreraren 5 22 Data Structures astra aaa a aaa a dle wea bh aw dant Aw 5 23 AGIZASYINC OTY bcs taa E ine VA Fk oR nee AN IER RECON AEE IRS 5 23 Parameter Data Parms Structure 00 cee eee eee teens 5 25 Response Data Structure 2 0 0 0 0 eee eee eee ee 5 26 SETESPOMSE Moi lyse sites OIR E EE ye ets Wee BAe oe ware PRI EEEN Bie Nae 5 26 St MOUNEParMs erea A EW EOE OS ae Fa eee es 5 26 Stzinsert TeSpOnse A ie ea eee Sa ees eee 5 27 601626 B Overview Asynchronous Support Layer library works as a filter between existing ACI libraries version 3 or later and the client application which wants to issue asynchronous ACI calls Since the native ACI interface is synchronous a client had to wait for the completion of the request Now using special programming techniques developers who want to use ACI in an asynchronous manner can use the Asynchronous Support Layer library of this purpose How It Works In early ACI releases all programmers using the ACI library had to consider that any ACI call issued by the application would wait until the work is complete Now each incoming request is stored into the shared memory area and each request is executed in forked process After the application issues a request it is given a request ID The request ID is actually the process ID of the forked c
138. ssful or failed return code In case of failure a DAS error code d_errno is set describing the failure The DAS error numbers are defined in the derrno h header file which is included by the aci h header file Refer to Error Recovery Procedures on page A 3 2 8 DAS ACI 601626 B GV ETVACW a hd ahh ce tN cic ee eh tthe on deh oot ete outs had cin NW ehh Ae Hazard Alert Messages wcre cienie a eee e eee eee eens 3 3 Validity nn a oe ee Bee aed eee da inde AA 3 5 3 2 Safety 601626 B Overview ie Note Knowledge and observance of these instructions is imperative In addition to the for the safe operation of the ADIC Storage Systems AML safety system instructions in i nA n this guide local Avoid danger when maintaining and operating the machine and professional by safety rules apply e behaving in a safety conscious manner e acting judiciously Hazard Alert Messages ADIC classifies hazards in several categories Table 3 1 shows the relationship of the symbols signal words actual hazards and possible consequences Table 3 1 Hazard Alert Message Symbol Damage to Signal Word Definition Consequence DANGER Imminent hazardous Death or serious situation injury WARNING Potential hazardous Possible death or R Persons situation serious injury CAUTION Less hazardous Possible minor or situation moderate injury Imminent hazardous Death or s
139. sync_create function 21 Dec 2001 aci_async_create 5 13 sadmin sample application dasadmin c file creating a table in shared memory 50 entries af if async entry aci async create 50L aci perror create async failed Teevi IL Figure 5 11 Example if the aci_async_create Function aci_async_find The aci_async_find function looks for the appropriate aci_async_entry in shared memory array If an entry has the same value in the pid field as pid parameter it is returned See include aci_async h aci_async_entry aci async find pid t pid Figure 5 12 aci_async_find Function Call See Table 5 8 for a description of the parameter for the aci_async_find function Table 5 8 Parameter for the aci_async_find Function Parameter Description pid identifies the request entry in the shared memory array 5 14 DAS ACI 3 0 Asynchronous Support Layer 601626 B Return Values The call was successful if a pointer to the found value is returned The call failed if zero is returned The structure of the aci_async_entry uses a pid_t type member pid as a unique identifier of an entry When calling several asynchronous calls at a time the system can assign the same process id to a new process when a previous call has terminated This could cause duplicate values the in pid fields of shared memory array entries Refer to Response Techniq
140. system operation Distributed AML Server This term refers to information transferred over the network not including requests and operation responses The robotic action to remove media from a drive to storage 601626 B Drive eject Eject area Ethernet File Foreign non system media ID insert Insert area I O unit inventory Media Medium mount A device used to read and write data ona medium The physical action of removing a medium from an archive For a robotic archive the medium is robotically moved to the unload port for removal by the operator The logical location within the I O unit that accepts ejected media Interface standard defined by IEEE Standard 802 3 An individual collection of related data e g a letter a table a digitized photograph Cartridges not listed with a volser in the archive catalog They are processed by the DAS system via the I O unit Identifier In DAS the ID is usually referring to the volser which is the identifier for a volume The action of physically entering a medium into an archive For a robotic archive the operator places the medium in the archive s load port from which the robot places the medium in the assigned bin Logical location within the I O unit that accepts inserted media A mechanical device into which an operator places media which are to be entered or removed from a robotic archive A physical
141. t until the switching process is completed and try again 36 ENOPOOL There has been an attempt to insert or eject cleaning cartridges to a cleanpool that has not been configured Confirm the cleanpool name in the command with the cleanpool names in the AMS configuration 37 EAREAFULL The aci_ejectclean command returns that the Eject area is full Empty the area and try the command again 38 EHICAPINUSE The commands can not be executed because the HICAP is open and the robot is not ready Close the HICAP press the start button on the controller and try the command again 39 ENODOUBLESIDE The volser in the aci_getvolsertoside command was not from type optical disk AMU mediatype O0 and O1 Check the AMS configuration and AMU database 40 EEXUP The aci_driveacess command returned that the requested drive is exclusively used by a other client Request the other client to release the drive or use the Client DAS_SUPERVISOR for the release 41 EPROBDEV AMS returned lt 1033 gt position not in AMU database Check the AMU database use AMS command update device for actualizing the database 42 ECOORDINATE AMS returned lt 1142 gt the logical coordinate is not in the AMS configuration Compare the AMS configuration with the DAS parameter in the command 43 EAREAEMPTY Returned AMS lt 1156 gt Insert area empty during insert Open and close the I O unit t
142. t that the drive is presently allocated to volser Volser if the drive is currently occupied cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity Return Values e 0 The call was successful e 1 The call has failed The external variable d_errno is set to one of the following DAS error codes aci_drivestatus2_one 4 35 21 Dec 2001 e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROGRESS e EBADCLIENT e ENOTSUPPHCMD aci_drivestatus3_one The aci_drivestatus3_one function queries the physical status of up to 250 drives See Figure 4 28 Hinclude aci h init aci_drivestatus3_one char clientname Chee cheilwe struct aci_drive entry pstDriveEntry ACI _MAX DRIVE _ENTRIES2 Figure 4 28 aci_drivestatus_3_one Function Call Return the status of drives which are set to UP for the client with the name clientname If clientname is the NULL string the call returns status on all drives If a value for the drive field is indicated the information relates to that single drive The status is returned in an array of pointers to aci_drive_entry structure The array element can be maximal 250 See Figure 4 29 The value of ACI MAX_DRIVES_ENTRIES2 is equal to 250 struct aci_drive entry char drive name ACI DRIVE LEN char amu_drive name ACI AMU DRIVE LEN enum aci drive status drive state
143. t_complete function call Table 4 18 Parameters for the aci_eject_complete Function Call Parameter Description eject_area Logical area defined in AMS where the cartridges should be ejected volser_range e asingle volser e multiple volsers separated by commas e a range of volsers separated by a hyphen types media types of the named volser Refer to Media Types on page 2 7 The eject will stop when the eject area is full Depending on the DAS_ EJECTAREAFULL environment variable the request will either be cancelled or completed after the area is marked empty For additional information refer to aci_eject on page 4 39 and aci_insert on page 4 75 21 Dec 2001 aci_eject_complete 4 49 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOTAUTH e EBADCLIENT e ERETRYL e EINUSE e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL Refer to Figure 4 40 on page 4 51 for an example of the aci_eject_complete function 4 50 DAS ACI Functions 601626 B Eject volume from archive and free storage posi
144. tart of the AMU 23 ENOTMOUNTED AMS returned the error code 1162 the volser named is not in the AMU database e Check the Volser in the command e If there is a cartridge in the drive previous error with database mismatch or manual intervention the AMU database must be updated 24 EINUSE The requested volser is already in use Wait until the usage of the cartridge is completed or send a unload and a dismount of the drive that is using the requested volser 25 ENOSPACE Problem with the aci_register aci_clientaccess and aci_foreign commands The limits for configured ranges have been exceeded Remove old ranges before registering something new Application Notes 601626 B Table A 1 Error Code Reactions Number 26 d_error Name ENOTFOUND Recommended Reactions to the Error Code Problem with parameters in the command Check the command and confirm the parameters with the AMS configuration 27 ECANCELLED A command was canceled with the aci_cancel command or on the AMS 28 EDASINT An internal DAS error has occurred Restart DAS Save the Log and inform ADIC support about the error situation 29 EACINT An internal ACI error has occurred Restart DAS Save the Log and inform ADIC support about the error situation 30 EMOREDATA Return code from aci_qvolsrange command if the number of volsers in the range
145. te ead eet eran nS oot oe fede a ort actor 4 11 Returit Values auna dd dt ta debe Lawn 4 12 AGI ACHEMISTATS yok ieee A ale cP ect eR O A Sot ids BR Nh oe A A 4 14 Return Val es eonia A A A ee a al ee 4 15 o A ee IIR E ieee ck ck E O et doe Bo 4 16 Return Values et toe A oh ons cave A A A iia 4 17 ACE ALIVEACCESS sss E shies E EEE pela ik elastase cobs ede Nee or aston 4 18 Return Vall s uri de bode bee dra daa betel eben dans 4 20 AGL riVestatus Lo te RENAE O a Red Be BA ie tal oe La 4 21 Return Vales A eel ee E 4 22 AAA A a ta to cias 4 22 Returni Values dt A A eC a E AE E AR 4 25 EVRO aA e eae EE RERE A E E AEE E E E E E orth ate 4 26 Return Valles morrison Aa Ad bea a eae rat 4 29 acl drivestatusdi o La ad do ld a e Ea 4 29 Return Values a A E A E 4 31 Ad A A aos 4 32 Retur Values A A A a lidad 4 33 acisdrivestatus2 ONE i m Na antes is tee ARIE eee 4 34 Reta A 7 ia 4 35 act drivestattis3 Oe si a Shed SEA BES 4 36 Return Vales rees deni n daia ee EE ANAA 4 37 aci eil CONE a as A es dt a 4 38 Return Valles a id A A A ce e eo eel as 4 39 A A A ON ON 4 39 Return Valties A A ios 4 40 AC er E IS Oo as A Seas A Ei 4 42 Return les A a de da 4 43 O A ES NN 4 46 Return Valles ta wes RS A AS le ote les wis 4 47 acivejecto complet a db o oe kis OR aa 4 49 Ret rtn Values ne A A a aia a 4 50 aci eject2 complete ssie ci A SEE Se eee e 4 51 Returni Values iS A e eS 4 53 aciejEC COMPLETE ito ti A A a A ad
146. ted volser volser of the ejected volume type media type of the named volser Refer to Media Types on page 2 7 errcodes error code derrno Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA e ENOAUTH e ERETRYL e ECANCELLED e EDASINT e ENOMATCH e ECLEANING e ETIMEOUT e ESWITCHINPROG e ENOPOOL e EHICAPINUSE e ECOORDINATE e EBARCOODE e EINVALIDDEV e ENOROBOT aci_insert2 4 79 21 Dec 2001 e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e ENOPOOL e EBARCODE e EAREAFULL See Figure 4 70 for an example of the aci_insert2 function insert clean volume in the AML system int res i pnActualCount char cleanPoolname CLPO1 char areaname I02 struct aci_ei info pstEiInfo ACI EI MAX RANGE res aci_insert2 c areaname cleanPoolname amp pnActualCount pstEllnfo ie wee aci perron Command failed 1 printf Volume insert request successful n for i 0 i lt ACI El MAX RANGE i if ei_info i gt volser 0 break printf volser s media type s Error d n ei infoli gt volser ei_infolil gt media type ei_info i gt errcode Figure 4 70 Example of the aci_insert2 Function 4 80 DAS ACI Functions
147. the AMU the command will be canceled or the system starts with the next eject after the operator has removed cartridges from the eject area The Attribute of the Coordinate will be set to ejected in the AMU database The compartment is now reserved for this volser if the compartment needs to be used for other volsers issue the aci_eject_complete2 function Use the eject stop when the eject area is full Depending on the DAS EJECTAREAFULL environment variable the request will either be cancelled or completed after the area is marked empty For additional information refer to aci_insert on page 4 75 and aci_eject_ complete on page 4 49 Return Values e 0 The call was successful e 1 The call failed The external variable d_errno is set to one of the following DAS error codes e ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOAREA 21 Dec 2001 aci_eject2 4 43 e ENOTAUTH e EBADCLIENT e ERETRYL e EINUSE e ECANCELED e EDASINT e ENOMATCH e ETIMEOUT e ESWITCHINPROG e EHICAPINUSE e ECOORDINATE e EBARCODE e EINVALIDDEV e ENOROBOT e EDATABASE e ENOTSUPPHCMD e EAREAEMPTY e EBARCODE e EAREAFULL See Figure 4 36 for an example of the aci_eject2 function 4 44 DAS ACI Functions 601626 B Eject volume but reserve archive location int rc i pnActualCount diaz volserzr Kemee 000815
148. the drives drive_name name of the drive name used in DAS and AMS description amu_drive_name internal AMS drive name e g 03 or ZZ drive_state UP or DOWN reservation of the drive Refer to aci_driveaccess on page 4 18 type type of the drive internal AMS code e g E for DLT drive See the AMU Reference Guide system_id empty reserved for further use clientname name of the client that the drive is presently allocated to volser Volser if the drive is currently occupied cleaning true if the drive is presently occupied with a medium for cleaning clean_count number of mounts until the next clean activity Return Values e 0 The call was successful e 1 The call has failed The external variable d_errno is set to one of the following DAS error codes aci_drivestatus_one 4 33 21 Dec 2001 e ERPC e EINVALID e ETIMEOUT e ESWITCHINPROGRESS e EBADCLIENT e ENOTSUPPHCMD aci_drivestatus2 one The aci_drivestatus2_one function queries the physical status of up to 250 drives See Figure 4 26 Hinclude aci h init aci_drivestatus2 one char clientname Chee cheilwe struct aci_drive entry pstDriveEntry ACI _MAX DRIVE _ENTRIES2 Figure 4 26 aci_drivestatus_2_one Function Call Return the status of drives which are set to UP for the client with the name clientname If clientname is the NULL string the call returns status on
149. the home coordinate of the named volser 1 robot 1 2 robot 2 3 both robots attrib current status of the slot attributes Refer to Table 4 54 on page 4 125 type type of slot but not the media type coordinate in the archive See Table 4 53 volser queried volser search criterion in the AMU database vol_owner not used use_count number of accesses to the slot not volser by the robotic controller crash_count not used See Table 4 53 for an explanation of the table types Table 4 53 Table Types attrib Explanation A AMU Dynamic dynamic storage locations in the AML system S storage dynamic storage locations in the AML system N clean cleaning media storage location 4 124 DAS ACI Functions 601626 B See Table 4 54 for an explanation of the table attributes Table 4 54 Table Attributes attrib Explanation O occupied slot occupied medium is in its home position E ejected slot empty medium has been placed in the I O unit M mounted slot empty medium has been placed in a drive I initial attribute not used J in jukebox slot empty optical disk has been placed in the jukebox R reverse side mounted slot empty optical disk has been placed in a drive Y empty slot empty no medium defined for the slot U undefined special attribute used by HCC MVS T temp here slot occupied medium in the problem box A temp
150. tion aci eject complete EOI AABOOM ACT 3590 aci error Command amled MEE printf Volser AABO01 ejected to E01 An Figure 4 40 Example of the aci_eject_complete Function aci_eject2_complete The aci_eject2_complete function ejects a range of volumes from the AML and deletes the home coordinate See Figure 4 41 pLaglude aces ta int ac eject2 complete char eject area char volser range enum aci media type int pnActualCount struct aci el into pstei into Figure 4 41 aci_eject2_complete Function Call See Figure 4 42 for the structure of the aci_ei_info function struct aci ei info char volser ACI VOLSER_ LEN char media typelACI DRIVE LEN int errcode Figure 4 42 Structure of the aci_ei_info function aci_eject2_complete 4 51 21 Dec 2001 See Table 4 19 for a description of the parameters for the aci_eject2_complete function call Table 4 19 Parameters for the aci_eject2_complete Function Call Parameter Description eject_area logical area defined in AML where the cartridges should be ejected volser_range e a single volser e multiple volsers separated by commas e a range of volsers separated by a hyphen set to empty or 0 if it is not to be changed type media type of the named volser range Refer to Media Types on page 2 7 pnActualCount returned number of ejected volsers aci_ei_info returned information to each
151. to the DAS configuration file For additional information refer to aci_clientaccess on page 4 11 Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois setto one of the following DAS error codes e ERPC e EINVALID e EBADHOST e ENOTAUTH e EBADCLIENT e ENOSPACE e ENOTFOUND e ETIMEOUT e ESWITCHINPROG Refer to Figure 4 7 on page 4 13 for an example of the aci_clientaccess function 4 12 DAS ACI Functions 601626 B Add a volser range to a clients access list dae e Op enum aci command action ACI ADD default action char client SomeClient char volser AABOOO AAB999 Chari drivo WO enum aci media type ACI 3590 if re aci_clientaccess client action volser type drive aci_perror Command failed if volser printf Volser range s for client s added n if drive printf Drive range s added for client volser client SNA drive Eeliemea p Figure 4 7 Example of the aci_clientaccess Function aci_clientaccess 4 13 21 Dec 2001 aci_clientstatus The aci_clientstatus function queries client access list configuration See Figure 4 8 include aci h int aci_clientstatus char clientname grruet Acl Ciliciwie Cmiemy citen Figure 4 8 aci_clientstatus Function Call Query the current client access confi
152. type of media storage area containing no assignable bin slot locations The primary human controller of a computer system The SA configures each archive issues restricted commands and generates reports appropriate to efficient management of the overall system 1012 bytes or one million megabytes Also known as the client or the client system A removable entity of tape media 601626 B Volser VSN Volume Serial Number An up to sixteen digit alphanumeric designation It identifies one medium cartridge optical disk in the archive Exception optical disk has one logical compartment but two volsers A and B side The volser is attached to the rear of the medium on a barcode label and can be read by the handling unit Terms A 13 21 Dec 2001 A 14 Application Notes 601626 B A NOT sti a eke ea e 2 4 ACI AML Client Interface 2 4 ACI client administration ooooooooooo oo o 2 5 ACI client services DIST AA A alt 2 5 COM Plinio a ee ee 2 5 ACI interface types command line o ooooooooooo 2 4 AGIs i202 casks ood ot te Bed abe and grate aaa ET 2 8 aci_asunc_find 0 00 0 ccc eee eee eee 5 14 aclsaasy nic ti A OE ioe 5 5 5 16 aci asy ezadd A OY 5 5 DAS_DISMOUNT 000005 5 7 DAS_ EJECT cto ee et ned 5 9 DAS_EJECT_COMPLETE 5 10 DAS FORCE ea a id 5 7 DAS INSERT o apt ann
153. type of the Type AMU Dynamic e Cartridges with an invalid volser barcode not readable will moved to the problembox See Table 4 28 for a description of the parameters for the aci_insert function call Table 4 28 Parameters for the aci_insert Function Call Parameter Description insert_area Logical insert range of the Insert Eject unit of the AML in the AMS e g 103 volser_range The volumes found in the insert_area are returned in the volser_ranges array of strings where each volser is separated by a comma Each range is ACI_RANG_LEN long and there are up to ACI_MAX_RANGES ranges An empty string indicates the end of the ranges type media type of the volser in the insert area Refer to Media Types on page 2 7 aci_insert 4 75 21 Dec 2001 4 76 DAS ACI Functions Use the insert2 function instead of this command This function experiences difficulties with large I O units with long volsers 16 digit since the buffer for displaying the inserted volser is restricted For compatibility reasons this function continues to be supported For additional information refer to aci_insert on page 4 75 and aci_eject2 on page 4 42 Return Values e 0 The call was successful e 1 The call failed The external variable d_errnois set to one of the following DAS error codes eo ERPC e EINVALID e ENOVOLUME e EPROBVOL e EAMU e EAMUCOMM e EROBOTCOMM e EDASINT e ENOARE
154. ue on page 5 21 See Figure 5 13 for an example of the aci_async_find function sadmin sample application wait _for_child c file a le asyme Gmc aci asyae imac ome le 0 printf results getting results n switch async entry gt aci_func case DAS MOUNT aci_async_free async_entry primei Vaasuliesig mesullicss Conas NaN Figure 5 13 Example of the aci_async_find Function 21 Dec 2001 aci_async_find 5 15 aci_async_free The aci_async_free function clears the async_table entry See Figure 5 14 include aci_async h void aci async free aci_async_entry async entry Figure 5 14 aci_async_free Function Call Table 5 9 Parameters for the aci_async_free Function Parameter Description async_entry pointer to an aci_async_entry that should be cleaned Return Values None This call only clears the pid field in the appropriate aci_async_entry structure Macros The aci_async h header file contains macros that substitute all the techniques required to issue an asynchronous ACI call However they require some additional conditions provided by programmer aci _ mount The aci_mount function mounts a volume in a drive See Figure 5 15 include aci_async h ACI MOUNT volser type drive name Figure 5 15 Example of aci_mount Asynchronous ACI Call 5 16 DAS ACI 3 0 Asynchronous Support Layer 601626 B
155. ute M Mounted if the drive is an Optical Disk drive the second site of the OD must also be set e Attribute R Reverse side Mounted 13 ENOTREG not used A 4 Application Notes 601626 B Table A 1 Error Code Reactions Number 14 d_error Name EBADHOST Recommended Reactions to the Error Code DAS was unable to resolve the IP name to an address or the address is invalid Check the TCP IP command Set the IP configuration and change configuration data in AMU or the environment 15 ENOAREA The named insert or eject area was not found in the configuration Try the command with another area name or change the AMS configuration 16 ENOTAUTH Access privilege limitations for the requesting client are defined in the config file parameters Change the configuration This can be temporarily done by aci_register For a longer term change use another client or change the config file 18 EUPELSE DAS has found that the drive is reserved by another client e Check which client has reserved the drive and the status of the drive occupied or empty with aci_drivestatus2 e Set the drive for the other client down with aci_driveaccess if occupied use FDOWN e If the drive is occupied send an unload command to the drive and to DAS with aci_dismount e Set the drive for the Client UP with aci_driveaccess 19 EBADCLIENT The Cli
156. vestatus_ one char drive The aci_drivestatus_one function queries the physical status of up to 15 drives See Figure 4 24 char clientname struct aci drive entry pstDriveEntry ACI_MAX DRIVE ENTRIES Figure 4 24 aci_drivestatus_one Function Call Return the status of drives which are set to UP for the client with the name clientname If clientname is the NULL string the call returns status on all drives If a value for the drive field is indicated the information relates to that single drive The status is returned in an array of pointers to aci_drive_entry structure The array element can be maximal 15 See Figure 4 25 The value of ACI MAX_DRIVES_ENTRIES is equal to 15 struct aci_drive entry char char enum char char char char bool drive name ACI DRIVE LEN amu_drive name ACI _AMU DRIVE LEN aci_drive status drive state type system id ACI_NAME LEN clientname volser ACI _VOLSER_LEN t cleaning short clean count Figure 4 25 Returned Status 4 32 DAS ACI Functions 601626 B See Table 4 11 for an explanation of the parameters used for the aci_drivestatus_one function Table 4 11 Parameters for the aci_drivestatus_one Function Call Parameter Description clientname name of the client that requested the status of the drives If clientname is the NULL string return status on all drives aci_drive_entry returned information about the status of
157. volsers separated by a hyphen e set to empty or M0 if it is not to be changed type media type of the previously defined volser range Refer to Media Types on page 2 7 drive_range e asingle drive e multiple drives separated by commas e a range of drives separated by a hyphen or set to empty 4 or MO if it is not to be changed This ACI function changes the access lists of a client named clientname by either adding or removing access to a drive_range and or a volser_range The aci_clientstatus function may be needed to find out the drive_range and volser_range used by the client 21 Dec 2001 aci_clientaccess 4 11 down Only use this command if at the time you do not have access to the config configuration file or you cannot restart DAS Otherwise change the access privileges in the config file O The changes will be lost when the DAS software is shut This ACI command allows the administrator to add new volume ranges or drive ranges to the AML system without shutting down the DAS server The modifications created by using the aci_clientaccess function are only valid while DAS is running When DAS is shut down all access modifications set by aci_clientaccess are lost When the DAS server is restarted client access returns to the default settings in the DAS configuration file To permanently register a client the administrator must add the new drive_range or volser_range
158. xample of the aci_partial_inventory Function 4 95 aci_perror Function Call o ooooooooooocccoooccommoo mo 4 96 Example of the aci_perror Function 000 4 96 Figures xi 21 Dec 2001 xii Figures Figure 4 88 Figure 4 89 Figure 4 90 Figure 4 91 Figure 4 92 Figure 4 93 Figure 4 94 Figure 4 95 Figure 4 96 Figure 4 97 Figure 4 98 Figure 4 99 Figure 4 100 Figure 4 101 Figure 4 102 Figure 4 103 Figure 4 104 Figure 4 105 Figure 4 106 Figure 4 107 Figure 4 108 Figure 4 109 Figure 4 110 Figure 4 111 Figure 4 112 Figure 4 113 Figure 4 114 Figure 4 115 Figure 4 116 Figure 4 117 Figure 4 118 Figure 4 119 Figure 4 120 aci_qversion Function Call 0 000 000 cece eee eee 4 97 Example of the aci_qversion Function 0 0 00005 4 98 aci_qvolsrange Function Call 0 0000 00000 4 98 Amount of Listed Volsers sret enna c eee cece eee eee 4 99 Structure for the aci_volserinfo 0 0 0000 4 99 Example of the aci_qvolsrange Function 00 4 102 aci_register Function Call 0 uasna srn ee eee eee 4 103 Example of the aci_register Function 000005 4 105 aci_robhome Function Call oooooooooomo o 4 106 Example of the aci_robhome Functi0N 0 o ooooooooomoo o 4 107 aci_robstat Function Call 0 0 0 0c eee eee oo 4 107 Example of the ac
159. y the previous position The volume is re inserted in the same position only if das_eject is used See Table 5 6 for a description of the parameters for the das_eject_complete parameter Table 5 6 Parameters for the das_eject_complete Parameter Parameter Description eject_area Logical area defined in AMS where the cartridges should be ejected volser_range e asingle volser e multiple volsers separated by commas e a range of volsers separated by a hyphen types media types of the named volser Refer to Media Types on page 2 7 The eject will stop when the eject area is full Depending on the DAS_ EJECTAREAFULL environment variable the request will either be cancelled or completed after the area is marked empty For additional information refer to das_eject on page 5 9 and das_insert on page 5 8 Return Values The call was successful if a pointer to the newly added entry is returned The call failed if zero is returned Refer to Figure 5 9 on page 5 12 for an example of the aci_async function call aci_async_add 5 11 21 Dec 2001 sadmin sample application dasadmin c file aci_async h ACI INSERT macro Es aci_async entry async entry if async entry aci_async_add DAS _ INSERT Insert area volser ranges E I J t i aisvnewentny gt pide LEO NEO map the current process virtual memory to the shared buffer it G

Download Pdf Manuals

image

Related Search

Related Contents

Electro-Voice Sb 180 User's Manual  Sika Wrap Hex 100G - Distribuciones Villamar  Philips In-Ear Headset TCH310  Mazda 626 Owner's Manual  Spécial ELECTIONS PROVINCIALES EN REVUE  Tacens Mars Gaming MMP0  «UNE EXPO POUR LE BICENTENAIRE: LE NOMBRE 1803»  HDMI®エクステンダー延長器 (Cat5e/Cat6タイプ) 最大30m伝送  Traitement non sélectif en présemis et gestion des  User`s Manual Template  

Copyright © All rights reserved.
Failed to retrieve file