Annotation of Net2/scsi/scsi_changer.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * HISTORY
                      3:  *
                      4:  * PATCHES MAGIC                LEVEL   PATCH THAT GOT US HERE
                      5:  * --------------------         -----   ----------------------
                      6:  * CURRENT PATCH LEVEL:         1       00098
                      7:  * --------------------         -----   ----------------------
                      8:  *
                      9:  * 16 Feb 93   Julian Elischer         ADDED for SCSI system
                     10:  * 
                     11:  */
                     12: 
                     13: /*
                     14:  * SCSI changer interface description
                     15:  */
                     16: 
                     17: /*
                     18:  * Written by Stefan Grefen   ([email protected] soon [email protected])
                     19:  * based on the SCSI System by written Julian Elischer ([email protected])
                     20:  * for TRW Financial Systems.
                     21:  *
                     22:  * TRW Financial Systems, in accordance with their agreement with Carnegie
                     23:  * Mellon University, makes this software available to CMU to distribute
                     24:  * or use in any manner that they see fit as long as this message is kept with 
                     25:  * the software. For this reason TFS also grants any other persons or
                     26:  * organisations permission to use or modify this software.
                     27:  *
                     28:  * TFS supplies this software to be publicly redistributed
                     29:  * on the understanding that TFS is not responsible for the correct
                     30:  * functioning of this software in any circumstances.
                     31:  *
                     32:  */
                     33: 
                     34: /*
                     35:  * Ported to run under 386BSD by Julian Elischer ([email protected]) Sept 1992
                     36:  */
                     37: 
                     38: /*
                     39:  * SCSI command format
                     40:  */
                     41: struct scsi_read_element_status
                     42: {
                     43:         u_char  op_code;
                     44:        u_char  element_type_code:4;
                     45:        u_char  voltag:1;
                     46:         u_char  lun:3;
                     47:        u_char  starting_element_addr[2];
                     48:        u_char  number_of_elements[2];
                     49:        u_char  resv1;
                     50:        u_char  allocation_length[3];
                     51:        u_char  resv2;
                     52:         u_char  link:1;
                     53:         u_char  flag:1;
                     54:         u_char  :6;
                     55: };
                     56: #define RE_ALL_ELEMENTS                        0
                     57: #define RE_MEDIUM_TRANSPORT_ELEMENT    1
                     58: #define RE_STORAGE_ELEMENT             2
                     59: #define RE_IMPORT_EXPORT               3
                     60: #define RE_DATA_TRANSFER_ELEMENT       4
                     61: 
                     62: struct scsi_move_medium
                     63: {
                     64:        u_char  op_code;
                     65:        u_char  :5;
                     66:        u_char  lun:3;
                     67:        u_char  transport_element_address[2];
                     68:        u_char  source_address[2];
                     69:        u_char  destination_address[2];
                     70:        u_char  rsvd[2];
                     71:        u_char  invert:1;
                     72:        u_char  :7;
                     73:         u_char  link:1;
                     74:         u_char  flag:1;
                     75:         u_char  :6;
                     76: };
                     77: 
                     78: struct scsi_position_to_element
                     79: {
                     80:        u_char  op_code;
                     81:        u_char  :5;
                     82:        u_char  lun:3;
                     83:        u_char  transport_element_address[2];
                     84:        u_char  source_address[2];
                     85:        u_char  rsvd[2];
                     86:        u_char  invert:1;
                     87:        u_char  :7;
                     88:         u_char  link:1;
                     89:         u_char  flag:1;
                     90:         u_char  :6;
                     91: };
                     92:        
                     93: /*
                     94:  * Opcodes
                     95:  */
                     96: #define POSITION_TO_ELEMENT     0x2b
                     97: #define MOVE_MEDIUM             0xa5
                     98: #define READ_ELEMENT_STATUS     0xb8
                     99: 
                    100: struct scsi_element_status_data 
                    101: {
                    102:        u_char  first_element_reported[2];
                    103:        u_char  number_of_elements_reported[2];
                    104:        u_char  rsvd;
                    105:        u_char  byte_count_of_report[3];
                    106: };
                    107: 
                    108: struct element_status_page 
                    109: {
                    110:        u_char  element_type_code;
                    111:        u_char  :5;
                    112:        u_char avoltag:1;
                    113:        u_char pvoltag:1;
                    114:        u_char element_descriptor_length[2];
                    115:        u_char rsvd;
                    116:        u_char byte_count_of_descriptor_data[3];
                    117: };
                    118: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.