1 /* ***********************************************************
2 * *
3 * Copyright, C Honeywell Bull Inc., 1987 *
4 * *
5 * Copyright, C Honeywell Information Systems Inc., 1982 *
6 * *
7 * Copyright c 1972 by Massachusetts Institute of *
8 * Technology and Honeywell Information Systems, Inc. *
9 * *
10 *********************************************************** */
11
12
13 /* format: style3 */
14
15 salv_data:
16 procedure;
17
18 /* salv_data - Salvager Ring Zero Data Base. */
19 /* Converted to create_data_segment_ April 6, 1976 by Bernard Greenberg */
20 /* fault-producer added BIM 2/82 */
21 /* Scavenger items added, July 1982, J. Bongiovanni */
22
23 dcl 1 salv_data aligned, /* salv data structure */
24 2 lock aligned,
25 3 pid bit 36 aligned init ""b,
26 3 event bit 36 aligned init "777777777776"b3,
27 3 flags aligned,
28 4 notify_sw bit 1 unaligned init "0"b,
29 4 pad bit 35 unaligned init ""b,
30 2 debug bit 1 aligned init "0"b, /* want printout of normal deletion stuff */
31 2 dump bit 1 aligned init "0"b, /* switch to dump dirs on error */
32 2 print_path bit 1 aligned init "0"b, /* switch to print pathnames */
33 2 on_line bit 1 aligned init "0"b, /* switch for on-line salvaging */
34 2 rpv bit 1 aligned init "0"b, /* switch for rpv mode */
35 2 vol_read_ahead fixed bin init 4, /* page read ahead param */
36 2 debugging_fault_dir_checker
37 bit 1 aligned init "0"b, /* If this is turned on, salv_dir_checker_ will intentionally take a fault! */
38 2 error_severity fixed bin init 3, /* syserr severity for fatal scavenger errors */
39 2 end bit 0;
40
41
42 dcl create_data_segment_
43 entry ptr fixed bin 35;
44 dcl com_err_ entry options variable;
45 dcl code fixed bin 35;
46 dcl 1 cdsa like cds_args aligned;
47 dcl cleanup condition;
48
49 dcl excl char 32 dim 3 init "pad*" "end" "mark*";
50 dcl addr currentsize hbound string null
51 builtin;
52
53
54 string cdsa.switches = "0"b;
55 cdsa.have_text = "1"b;
56 cdsa.sections 1.struct_name = "salv_data";
57 cdsa.seg_name = "salv_data";
58 cdsa.sections 1.p = addr salv_data;
59 cdsa.sections 1.len = currentsize salv_data;
60 cdsa.exclude_array_ptr = addr excl;
61 cdsa.num_exclude_names = hbound excl 1;
62 call create_data_segment_ addr cdsa code;
63 if code ^= 0
64 then call com_err_ code "salv_data" "creating data segment";
65 return;
66 ^L
67 %include cds_args;
68 end salv_data;