1 2 /* Begin include file ...... mstr.incl.pl1 */ 3 /* Modified 2/11/74 by N. I. Morris */ 4 /* Modified 12/30/80 by J. A. Bush for bootable tape labels */ 5 /* Modified 12/14/82 by J. A. Bush to add version number to the record header */ 6 7 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 8 dcl mstrp ptr; /* pointer to MST record */ 9 10 dcl 1 mstr based (mstrp) aligned, /* Multics standard tape mstr */ 11 2 head like mstr_header, /* tape record header */ 12 2 data bit (36864 refer (mstr.head.data_bit_len)), 13 /* record body */ 14 2 trail like mstr_trailer; /* record trailer */ 15 16 dcl 1 mst_label based (mstrp) aligned, /* bootable label structure */ 17 2 xfer_vector (4), /* bootload interrupt transfer vector */ 18 3 lda_instr bit (36), /* this will be a "LDA 4" instruction */ 19 3 tra_instr bit (36), /* a "TRA" instruction to start of boot pgm */ 20 2 head like mstr_header, /* standard record header */ 21 2 vid like volume_identifier, /* tape volume info */ 22 2 fv_overlay (0:31), /* overlay for fault vectors when tape booted */ 23 3 scu_instr bit (36), /* an "SCU" instruction to address of fault_data */ 24 3 dis_instr bit (36), /* a "DIS" instruction, with Y field = to its own addr */ 25 2 fault_data (8) bit (36), /* SCU data for unexpected faults goes here */ 26 2 boot_pgm_path char (168) unaligned, /* path name of boot program */ 27 2 userid char (32) unaligned, /* Storage for Person.Project.Instance of creator of tape */ 28 2 label_version fixed bin, /* defined by LABEL_VERSION constant below */ 29 2 output_mode fixed bin, /* mode in which tape was written with */ 30 2 boot_pgm_len fixed bin, /* length in words of boot program */ 31 2 copyright char (56), /* Protection notice goes here if boot pgm is written */ 32 2 pad (13) bit (36), /* pad out to 192 (300 octal) */ 33 2 boot_pgm (0 refer (mst_label.boot_pgm_len)) bit (36), 34 /* boot program */ 35 2 trail like mstr_trailer; /* standard record trailer */ 36 37 dcl 1 mstr_header based aligned, /* Multics standard tape record header */ 38 ( 2 c1 bit (36), /* constant = 670314355245(8) */ 39 2 uid bit (72), /* unique ID */ 40 2 rec_within_file fixed bin (17), /* phys. rec. # within phys. file */ 41 2 phy_file fixed bin (17), /* phys. file # on phys. tape */ 42 2 data_bits_used fixed bin (17), /* # of bits of data in record */ 43 2 data_bit_len fixed bin (17), /* bit length of data space */ 44 2 flags, /* record flags */ 45 3 admin bit (1), /* admin record flag */ 46 3 label bit (1), /* label record flag */ 47 3 eor bit (1), /* end-of-reel record flag */ 48 3 pad1 bit (11), 49 3 set bit (1), /* ON if any of following items set */ 50 3 repeat bit (1), /* repeated record flag */ 51 3 padded bit (1), /* record contains padding flag */ 52 3 eot bit (1), /* EOT reflector encountered flag */ 53 3 drain bit (1), /* synchronous write flag */ 54 3 continue bit (1), /* continue on next reel flag */ 55 3 pad2 bit (4), 56 2 header_version fixed bin (3) unsigned, /* current header version number */ 57 2 repeat_count fixed bin (8), /* repetition count */ 58 2 checksum bit (36), /* checksum of header and trailer */ 59 2 c2 bit (36) 60 ) unal; /* constant = 512556146073(8) */ 61 62 dcl 1 mstr_trailer based aligned, /* Multics standard tape record trailer */ 63 ( 2 c1 bit (36), /* constant = 107463422532(8) */ 64 2 uid bit (72), /* unique ID (matches header) */ 65 2 tot_data_bits fixed bin (35), /* total data bits written on logical tape */ 66 2 pad_pattern bit (36), /* padding pattern */ 67 2 reel_num fixed bin (11), /* reel sequence # */ 68 2 tot_file fixed bin (23), /* phys. file number */ 69 2 tot_rec fixed bin (35), /* phys. record # for logical tape */ 70 2 c2 bit (36) 71 ) unal; /* constant = 265221631704(8) */ 72 73 dcl 1 volume_identifier based aligned, /* tape volume info */ 74 ( 2 installation_id char (32), /* installation that created tape */ 75 2 tape_reel_id char (32), /* tape reel name */ 76 2 volume_set_id char (32) 77 ) unaligned; /* name of the volume set */ 78 79 dcl ( 80 header_c1 init ("670314355245"b3), 81 header_c2 init ("512556146073"b3), 82 trailer_c1 init ("107463422532"b3), 83 trailer_c2 init ("265221631704"b3), 84 label_c1 init ("000004235000"b3) 85 ) bit (36) static; 86 87 dcl LABEL_VERSION fixed bin static options (constant) init (3); 88 /* current label version */ 89 dcl HEADER_VERSION fixed bin static options (constant) init (1); 90 /* current header version */ 91 92 /* End of include file ...... mstr.incl.pl1 */ 93