1 /* Include segment stream_tseg.incl.pl1 --- declaration for Tape DSM-DCM Interface Segment */ 2 /* (ring 0 portion is defined in tseg.incl.pl1) */ 3 4 dcl (nbuffs init(12), /* # of buffers in structure */ 5 max_rec_size init(1632)) fixed bin(17) int static; /* Max # of words that may be transmitted (6 * 272) */ 6 % include stream_data_block; 7 2 tseg, /* Ring 0 portion of interface - addr(tseg) is passed */ 8 3 areap ptr, /* pointer to DSM area */ 9 3 ev_chan fixed bin (71), /* event channel number */ 10 3 write_sw fixed bin (1), /* 0 = read, 1 = write */ 11 3 sync fixed bin (1), /* non-zero for synchronous i/o */ 12 3 get_size fixed bin(1), /* ON for record sizes to be returned */ 13 3 drive_number fixed bin (6), /* physical drive number */ 14 3 buffer_offset fixed bin (12), /* offset (from 1) of first buffer to be processed */ 15 3 buffer_count fixed bin (12), /* number of buffers to be processed */ 16 3 completion_status fixed bin (2), /* 0 = no pending i/o or no status */ 17 /* 1 = normal termination of i/o */ 18 /* 2 = non-zero major status from previous i/o */ 19 3 hardware_status bit (36), /* major and sub-status */ 20 3 error_buffer fixed bin (12), /* buffer in which i/o error occurred */ 21 3 command_count fixed bin (12), /* number of non-data commands to execute */ 22 3 command_queue (10) fixed bin (6), /* non-data-transfer commands */ 23 3 bufferptr (12) fixed bin (18), /* relative ptrs to buffers */ 24 3 buffer_size (12) fixed bin (18), /* size of buffer */ 25 3 mode (12) fixed bin (2), /* 0 = bin, 1 = bcd, 2 = 9 track */ 26 3 buffer (12) bit (9792), /* data buffers */ 27 3 dsm_area area ((100 /* nominal */)); /* DSM workspace */ 28 29 /* End include segment stream_tseg.incl.pl1 */