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 sst_seg: procedure ;
14
15 /* This creates the sst_seg database. Because there are no initializations performed herein,
16 the sst is simply declared as an automatic buffer, since it is not necessary to take
17 base-relative offsets. */
18
19 /* Rewritten 04/19/81, W. Olin Sibert */
20
21 dcl code fixed bin 35;
22 dcl 1 cdsa like cds_args aligned;
23 dcl 1 sst_automatic aligned like sst automatic;
24
25 dcl create_data_segment_ entry ptr fixed bin 35;
26 dcl com_err_ entry options variable;
27
28 dcl WHOAMI char 32 internal static options constant init "sst_seg";
29 dcl EXCLUDE_ARRAY 1 char 32 internal static options constant init "pad*";
30
31 dcl addr dimension null size builtin;
32
33 /* ^L */
34
35 sstp = addr sst_automatic; /* Fill our automatic copy with zeros */
36 unspec sst = ""b;
37
38 if size sst ^= 512 then do; /* Bad */
39 call com_err_ 0 WHOAMI "The sst structure must be exactly 512 words long not ^d." size sst;
40 return;
41 end;
42
43 unspec cdsa = ""b;
44 cdsa.have_text = "1"b;
45 cdsa.p 1 = sstp;
46 cdsa.len 1 = size sst;
47 cdsa.struct_name 1 = "sst";
48
49 cdsa.seg_name = WHOAMI;
50 cdsa.num_exclude_names = dimension EXCLUDE_ARRAY 1;
51 cdsa.exclude_array_ptr = addr EXCLUDE_ARRAY;
52
53 call create_data_segment_ addr cdsa code;
54
55 if code ^= 0 then
56 call com_err_ code WHOAMI "Creating sst_seg.";
57
58 return;
59
60 %page; %include cds_args;
61 %page; %include sst;
62
63 end sst_seg;