1 /*  START OF:       bsr_tape_data.incl.pl1                    *  *  *  *  *  */
  2 
  3 /* format: style4,declareind10,dclind10,idind20,indattr,delnl,insnl */
  4 
  5 /****^  HISTORY COMMENTS:
  6   1) change(86-07-07,Farley), approve(86-07-18,MCR7439),
  7      audit(86-08-18,Fawcett), install(86-10-20,MR12.0-1189):
  8      Created to define the BCE Save/Restore Tape Format structures.
  9                                                    END HISTORY COMMENTS */
 10 
 11 dcl       info_tape_labelp    ptr;
 12 dcl       1 info_tape_label   aligned like tape_label based (info_tape_labelp);
 13 
 14 dcl       1 rec_header        aligned based,
 15             2 c1              bit (36),                     /* Header pattern-1 */
 16             2 type            fixed bin (17) unal,          /* record type */
 17             2 flags           unal,
 18               3 end_of_set    bit (1),                      /* valid in TAPE_EOR records */
 19               3 end_of_part   bit (1),                      /* last PV_PART record */
 20               3 end_of_pv     bit (1),                      /* last PV record */
 21               3 pad           bit (15),
 22             2 rec_on_tape     fixed bin (35),               /* physical tape rec# */
 23             2 pvid            bit (36),                     /* origin of data */
 24             2 rec_on_pv       fixed bin (35),               /* volume rec# */
 25             2 rec_in_type     fixed bin,                    /* rec# of current rec type */
 26             2 part_name       char (4),                     /* name of partition */
 27                                                             /* when type = PV_PART */
 28             2 tape_set_uid    bit (36);                     /* unique Tape SET ID */
 29 
 30 dcl       tape_labelp         ptr;
 31 
 32 dcl       1 tape_label        aligned based (tape_labelp),  /* 2048 words */
 33             2 version         char (8),                     /* "B_S/R001" */
 34             2 title           char (32),                    /* "Multics BCE Save/Restore Tape   " */
 35             2 tape_set        char (32),                    /* Tape Set name */
 36             2 tape_number     char (4),                     /* tape number in set */
 37                                                             /* or "Info" */
 38             2 pad1            bit (36),                     /* pad to even word */
 39             2 save_time       fixed bin (71),               /* creation date/time */
 40             2 vol_array_size  fixed bin,                    /* # of volumes saved */
 41             2 vol_array_idx   fixed bin,                    /* current volume being processed */
 42                                                             /* = 0 on "Info" tape */
 43             2 tapes_in_set    fixed bin,                    /* valid only on "Info" tape */
 44             2 pad2            (7) fixed bin,                /* pad to 32 words */
 45             2 vol_array       (63) like vol_info;           /* array of volume info */
 46 
 47 dcl       vol_infop           ptr;
 48 
 49 dcl       1 vol_info          aligned based (vol_infop),    /* 32 words */
 50             2 pvname          char (32),                    /* physical volume name */
 51             2 pvid            bit (36),                     /* physical volume ID */
 52             2 data_saved      fixed bin,                    /* amount of data saved */
 53             2 restart         aligned,                      /* restart info */
 54               3 rec_on_pv     fixed bin (18),               /* record to restart from */
 55               3 rec_in_type   fixed bin,                    /* relative record */
 56             2 dev_type        fixed bin,                    /* device type */
 57             2 nregions        fixed bin,
 58             2 current_region  fixed bin,
 59             2 pad             bit (36),
 60             2 region          (8),
 61               3 part_name     char (4),                     /* = "" for vtoc/paging region */
 62               3 begins_on_tape
 63                               fixed bin (18) uns unal,
 64               3 ends_on_tape  fixed bin (18) uns unal;
 65 
 66 dcl       vol_preamblep       ptr;
 67 
 68 dcl       1 vol_preamble      aligned like label based (vol_preamblep);
 69 
 70 /**** Tape Label Constants */
 71 
 72 dcl       TAPE_LABEL_TITLE    char (32) static options (constant) init ("Multics BCE Save/Restore Tape");
 73 dcl       TAPE_LABEL_VERSION_1
 74                               char (8) static options (constant) init ("B_S/R001");
 75 
 76 /**** Record Header Type Constants */
 77 
 78 dcl       TAPE_LABEL                                        /* tape label record */
 79                               fixed bin static options (constant) init (1);
 80 dcl       TAPE_EOR                                          /* end-of-reel record */
 81                               fixed bin static options (constant) init (2);
 82 dcl       PV_PREAMBLE                                       /* volume preamble */
 83                               fixed bin static options (constant) init (3);
 84 dcl       PV_VTOC                                           /* disk records 0 - end of vtoc */
 85                               fixed bin static options (constant) init (4);
 86 dcl       PV_RECORD                                         /* disk record */
 87                               fixed bin static options (constant) init (5);
 88 dcl       PV_PART                                           /* disk partition */
 89                               fixed bin static options (constant) init (6);
 90 
 91 /**** vol_info.data_saved Constants */
 92 
 93 dcl       PV_ONLY                                           /* Only normal volume records */
 94                               fixed bin static options (constant) init (0);
 95 dcl       PART_ONLY                                         /* Only partition records */
 96                               fixed bin static options (constant) init (1);
 97 dcl       BOTH_SAVED                                        /* normal records and partitions */
 98                               fixed bin static options (constant) init (2);
 99 %page;
100 %include fs_vol_label;
101 
102 
103 /*  END OF:         bsr_tape_data.incl.pl1                    *  *  *  *  *  */