1 /* BEGIN INCLUDE FILE ... backup_control.incl.pl1 */
 2 /* Modified: July 1982 by G. Palter to add features for proper support of AIM in IMFT (version 4) */
 3 /* Modified: August 1983 by Robert Coren to add minimum access class enforcement */
 4 /* Modified: November 1983 by Robert Coren to add "upgrade_to_user_auth" flag */
 5 
 6 /* Hierarchy dumper/reloader subroutine control structure */
 7 
 8 dcl 1 backup_control aligned based (backup_control_ptr),
 9     2 header,                                               /* allows people to use like (!) */
10       3 version character (8) unaligned,
11       3 tape_entry entry (character (*)) variable,          /* returns next tape label */
12       3 data_iocb pointer,                                  /* -> I/O switch to use for dumping/loading if preattached */
13       3 maximum_access_class bit (72) aligned,              /* maximum access class for anything to be dumped */
14       3 minimum_access_class bit (72) aligned,              /* minimum access class for anything to be dumped */
15       3 maximum_dir_access_class bit (72) aligned,          /* no directory above this access class is dumped */
16       3 user_for_access_check,                              /* data required to validate user's access */
17         4 id character (32) unaligned,                      /* Person.Project.tag */
18         4 authorization bit (72),                           /* the user's process authorization */
19         4 ring fixed binary,                                /* the user's ring o execution */
20       3 minimum_ring fixed binary,                          /* no ring bracket is set below this value */
21       3 aim_translations,                                   /* data required to translate AIM attributes on the tape */
22         4 source_attributes_ptr pointer,
23         4 target_attributes_ptr pointer,
24       3 options aligned,
25         4 map_sw  bit(1) unaligned,                         /* ON to write map segment */
26         4 debug_sw bit (1) unaligned,                       /* ON to check quotas and not trim subtrees */
27         4 no_reload_sw bit (1) unaligned,                   /* ON to not load for backup_load_ */
28         4 hold_sw bit (1) unaligned,                        /* ON to not demount tape afterwards */
29         4 preattached bit (1) unaligned,                    /* ON => perform loading/dumping to supplied I/O switch */
30         4 error_file bit (1) unaligned,                     /* ON => generate an error file anyway */
31         4 first bit (1) unaligned,                          /* ON => for reload, stop after all requests satisfied */
32         4 caller_handles_conditions bit (1) unaligned,      /* ON => caller of backup_dump_ handles faults */
33         4 allow_dir_overwrite bit (1) unaligned,            /* ON => allow reloaded seg to overwrite a dir */
34         4 enforce_max_access_class bit (1) unaligned,       /* ON => do not dump anything above given access class */
35         4 dont_dump_upgraded_dirs bit (1) unaligned,        /* ON => do not dump directories above given access class */
36         4 check_effective_access bit (1) unaligned,         /* ON => do not dump branches specified user can't touch */
37         4 restore_access_class bit (1) unaligned,           /* ON => restore AIM attributes even in debug mode */
38         4 enforce_minimum_ring bit (1) unaligned,           /* ON => do not give anything ring bracket below minimum */
39         4 translate_access_class bit (1) unaligned,         /* ON => translate access classes read from tape */
40         4 enforce_min_access_class bit (1) unaligned,       /* ON => do not dump anything below given access class */
41         4 upgrade_to_user_auth bit (1) unaligned,           /* ON => set access class of branch being dumped to user's authorization */
42         4 pad bit (19) unaligned,
43       3 request_count fixed binary,                         /* # of entries to load or dump */
44     2 requests (backup_control_request_count refer (backup_control.request_count)),
45       3 path character (168) unaligned,                     /* pathname of object to be dumped/loaded */
46       3 new_path character (168) unaligned,                 /* pathname for object when reloading if not same as above */
47       3 switches aligned,
48         4 no_primary_sw bit (1) unaligned,                  /* do not use primary pathname */
49         4 trim_sw bit (1) unaligned,                        /* trim target directories */
50         4 pad bit (34) unaligned,
51       3 found bit(1) aligned,                               /* ON => found on tape by backup_load_ (output) */
52       3 loaded bit (1) aligned,                             /* ON => loaded by backup_load_ (output) */
53       3 status_code fixed binary (35),                      /* ON => per-entry status code (output) */
54       3 error_name character (65) unaligned;                /* ON => some information about what happened (output) */
55 
56 dcl  backup_control_ptr pointer;
57 
58 dcl backup_control_request_count fixed binary;              /* for allocations */
59 
60 dcl BACKUP_CONTROL_VERSION_5 character (8) static options (constant) initial ("hbc_0005");
61 
62 /* END INCLUDE FILE ... backup_control.incl.pl1 */