This routine allows searching for the element location of a piece of media using the volume tag as a search key. If the element_ type value is zero (0), all elements will searched in the order Slot, Drive, Transport and Port. The element_name and element_ count arguments will be ignored in this case. When a specific element type is specified, the search will be limited to that element type. The element_name will used as the starting location for a search and element_count as the number of elements from that address to search. Using these arguments a search of a large number of elements may be broken up into a number of smaller searches. When a matching element is found, the element_info_t data for that element will copied into the space pointed to by result. The zero relative element address and element type will also be copied into the space provided.
1 – Element Info
The element_info_t data structure is defined in the include file <mrd_common.h>. The fields of this data structure are described below: o name - The name field holds the volume tag of the media if applicable. o state - The state field can have one of the following values: ELEMENT_FULL, ELELMENT_EMPTY, or ELEMENT_EXCEPT. o port_type - If the element_type parameter specifies PORT, the port_type field will have one of the following values: IN_OUT_PORT, INPORT, OUTPORT. o status - The status field can have one of the following values: MRD_STATUS_SLOT_INVALID, MRD_STATUS_DEVICE_INVALID, MRD_STATUS_TRANSPORT_INVALID, MRD_STATUS_PORT_INVALID, or MRD_STATUS_SUCCESS. o flags - Use the ELEMENT_VALID mask on the flags field to indicate whether or not the full Read Element Status data is valid. The ELEMENT_PVOLTAG and ELEMENT_AVOLTAG indicate whether the primary or alternate volume tags of the Read Element Status data are valid. o element_addr - This is the address of the element, unadjusted for the starting address. The routine mrd_map_element(3mrd) can be used to convert an absolute element address to a relative address and type. This field will be set to -1 when the information is not valid. o source_addr - On most SCSI-2 medium-changers, this is the address where a cartridge resided before being moved to its current location. The routine mrd_map_element(3mrd) can be used to convert an absolute element address to a relative address and type. This field will be set to -1 when the information is not valid. On some SCSI-2 medium-changers (the DLT family loaders) this will be the element address of the slot itself. o data - This a copy of the SCSI-2 Read Element Status data when the ELEMENT_VALID bit is set in the flags field. A byte- order neutral declaration of this data structure is included in the <mrd_common.h> include file as the mrd_reades_t data structure.