1 /* Begin include file ... tmdb.incl.pl1 2 * 3 * Created by Bill Silver on 10/20/74 4 * Modified by J. A. Bush 12/30/80 for bootable tape labels 5 * Modified by J. A. Bush 12/15/81 for re-write of read error recovery 6 * Modified 8/82 by S.Krupp for change from tdcm_ to tape_ioi_ 7 * This include file describes the work variables used by the Multics standard 8 * tape I/O module, tape_mult_. This include file must be used with the include 9 * file: mstr.incl.pl1 10 */ 11 12 13 /****^ HISTORY COMMENTS: 14 1) change(86-10-13,GWMay), approve(86-10-13,MCR7552), 15 audit(86-10-13,Martinson), install(86-10-20,MR12.0-1189): 16 added fields to the tmdb structure that will add support for the use of 17 rcp in determining the density and format of a tape. 18 END HISTORY COMMENTS */ 19 20 21 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 22 dcl tmdb_ptr ptr; /* Pointer to tape_mult_ data block. */ 23 24 dcl 1 tmdb based (tmdb_ptr) aligned, /* tape_mult_ data block. */ 25 2 attach, /* Attach description. */ 26 3 length fixed bin, /* Actual length of attach description. */ 27 3 description char (64), /* Attach description string. */ 28 2 open, /* Open description. */ 29 3 length fixed bin, /* Actual length of open description. */ 30 3 description char (32), /* Open description string. */ 31 2 opt, /* Attach options. */ 32 3 flags, /* Flags set from user input and options. */ 33 ( 4 com_err bit (1), /* ON => call com_err_ if there is an error. */ 34 4 ring bit (1), /* ON => use writ ring, OFF => no write ring. */ 35 4 system bit (1), /* ON => user wants to be a system process. */ 36 4 err_tal bit (1), /* ON => user wants error report */ 37 4 begin bit (1), /* ON => begin processing tape */ 38 4 write_sw bit (1), /* ON => write allowed */ 39 4 async_sw bit (1) /* ON => user is prepared for errors to imply that previous put_chars failed. */ 40 ) unaligned, /* ON => user wants error tally displayed on closing */ 41 3 reel_name char (32) unal, /* Tape reel slot ID. */ 42 3 volume_set_id char (32) unal, /* volume set name */ 43 3 mount_mode char (7), /* Mount mode: "writing" or "reading". */ 44 3 tracks fixed bin, /* Either 9 or 7. */ 45 3 density fixed bin, /* Either 1600 or 800. */ 46 3 tbpp ptr, /* If not null, ptr to temp seg containing boot program */ 47 3 blp ptr, /* Ptr to buffer containing boot label record (READ ONLY) */ 48 3 speed bit (36), /* bits are 75, 125, 200 ips */ 49 3 comment char (64), /* User comment to operator. */ 50 2 head like mstr_header, /* Dummy tape record header. */ 51 2 trail like mstr_trailer, /* Dummy tape record trailer. */ 52 2 work, /* Work variables used. */ 53 3 flags, /* Flags we need that aren't in head.flags. */ 54 ( 4 eod bit (1), /* ON => end of good data. */ 55 4 eof bit (1), /* ON => End of File. */ 56 4 bot bit (1), /* ON => beginning of tape */ 57 4 retry_read bit (1), /* ON => try reread recovery */ 58 4 read_fwd bit (1), /* ON => want to read forward (recovery) */ 59 4 fatal_read_error bit (1), /* ON => read error recovery failed. */ 60 4 data_loss bit (1) /* ON => read something, but with evidence that we lost something */ 61 ) unaligned, 62 3 rcp_id bit (36), /* Id of current tape drive attachment */ 63 3 tioi_id bit (36), /* Id of current tape_ioi_ activation */ 64 3 label_uid bit (72), /* Unique ID of label record. */ 65 3 label_version fixed bin, /* version of label, returned on read */ 66 3 output_mode fixed bin, /* output mode tape was written with */ 67 3 buf_pos fixed bin, /* Current position within current bufffer. */ 68 3 curr_buf ptr, /* Current buffer being processed. */ 69 3 next_buf ptr, /* Next buffer to be processed. */ 70 3 rec_length fixed bin (21), /* Length of data record in characters. */ 71 3 n_full fixed bin, /* Number of buffers ready to write. */ 72 3 n_recs_to_eof fixed bin, /* Num recs to write pre eof mark. */ 73 3 n_bufs fixed bin, /* Total number of buffers. */ 74 3 bufs_per_subset fixed bin, /* Number of buffers per subset. */ 75 3 buf_len fixed bin (21), /* Length of a buffer. */ 76 3 buffer (8) ptr, /* Pointers to a subset of I/O buffers. */ 77 2 meters, 78 3 fwd_rd_recovery fixed bin, 79 3 reposition_recovery 80 fixed bin, 81 2 channels, 82 3 rcp fixed bin(71), /* Regular, used by rcp. */ 83 3 ioi fixed bin(71), /* Fast, used by ioi. */ 84 2 buffer (1040) fixed bin (35), /* Work buffer (currently used for label I/O). */ 85 2 volume_density fixed bin, /* either the input from -den or the value */ 86 87 /* returned by rcp_$check_attach in tape_info */ 88 2 volume_format char (16); /* determined by rcp_ */ 89 /* End of include file ... tmdb.incl.pl1 */