1 /* Include segment tseg.incl.pl1 --- declaration for Tape DSM-DCM Interface Segment */ 2 /* Modified 10 July 1973 by MJ Grady */ 3 /* Modified 7/79 by R.J.C. Kissel to add a version number, tracks, density, and drive_name, and get rid of drive_number. */ 4 /* Modified 5 August 1981 by Chris Jones to add speed specification */ 5 6 /* NB: tape_ansi_cseg.incl.pl1 has a parallel version of this tseg declared in it. Any changes made here MUST 7 be made there too. */ 8 9 /* format: style4,delnl,insnl,indattr,ifthen,dclind9 */ 10 dcl ( 11 nbuffs init (12), /* # of buffers in structure */ 12 max_rec_size init (2080) 13 ) fixed bin (17) int static; /* Max # of words that may be transmitted (2 * 1040) */ 14 15 dcl tsegp ptr; /* Used to access Ring-0/Ring-4 shared structure */ 16 dcl tseg_version_2 fixed bin internal static options (constant) init (2); 17 18 declare 1 tseg based (tsegp) aligned, 19 2 version_num fixed bin, 20 2 areap ptr, /* pointer to DSM area */ 21 2 ev_chan fixed bin (71), /* event channel number */ 22 2 write_sw fixed bin (1), /* 0 = read, 1 = write */ 23 2 sync fixed bin (1), /* non-zero for synchronous i/o */ 24 2 get_size fixed bin (1), /* ON for record sizes to be returned */ 25 2 ws_segno bit (18), /* segment number of IOI workspace */ 26 2 drive_name char (32), /* physical drive name. */ 27 2 tracks fixed bin, /* 0 = 9-track, 1 = 7-track. */ 28 2 density bit (36), /* bits are 200, 556, 800 1600, 6250 respectively. */ 29 2 speed bit (36), /* bits are 75, 125, 200 ips respectively */ 30 2 pad99 bit (36), /* so that buffers start on an evenword boundary */ 31 2 buffer_offset fixed bin (12), /* offset (from 1) of first buffer to be processed */ 32 2 buffer_count fixed bin (12), /* number of buffers to be processed */ 33 2 completion_status fixed bin (2), /* 0 = no pending i/o or no status */ 34 /* 1 = normal termination of i/o */ 35 /* 2 = non-zero major status from previous i/o */ 36 2 hardware_status bit (36) aligned, /* major and sub-status */ 37 2 error_buffer fixed bin (12), /* buffer in which i/o error occurred */ 38 2 command_count fixed bin (12), /* number of non-data commands to execute */ 39 2 command_queue (10) fixed bin (6) aligned, /* non-data-transfer commands */ 40 2 bufferptr (12) fixed bin (18) aligned,/* relative ptrs to buffers */ 41 2 buffer_size (12) fixed bin (18) aligned,/* size of buffer */ 42 2 mode (12) fixed bin (2) aligned, /* 0 = bin, 1 = bcd, 2 = 9 track */ 43 2 buffer (12) bit (37440) aligned, /* data buffers - 1040 words */ 44 2 dsm_area area ((100 /* strictly nominal */)); 45 /* DSM workspace */ 46 47 /* End include segment tseg.incl.pl1 */