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;