1 dcl 1 header based aligned,                                 /* based on seg_ptr */
 2     2 lock bit (36),
 3     2 which_area bit (1),                                   /* if bit = 0, first area in segment in use */
 4     2 initialized bit (1),                                  /* if bit = 1, then segment initialized */
 5     2 needs_flipping bit (1),                               /* if bit = 1 ,then areas need to be flipped */
 6     2 number_of_inconsistencies fixed bin (35),             /* updated when inconsistent msg given */
 7     2 version_number fixed bin (8),                         /* indicates change of file structure */
 8     2 time_last_flipped fixed bin (71),                     /* indicates when area changed */
 9     2 size_of_area fixed bin (35),                          /* size of areas */
10     2 number_of_buckets fixed bin (35),                     /* number of entries in hash table */
11     2 host_table_size fixed bin (35);                       /* number of entries in host array */
12 
13 
14 
15 dcl 1 flipped_thing based aligned,                          /* based on thing_ptr */
16     2 host_number_table (0:seg_ptr -> header.host_table_size-1) offset, /* array of offsets to info structures */
17     2 hash_table (0:seg_ptr -> header.number_of_buckets-1) offset,
18     2 info_space area (seg_ptr -> header.size_of_area);     /* area to contain info structures */
19 
20 dcl 1 info_structure based aligned,                         /* based on struc_ptr */
21     2 calendar_clock fixed bin (71),
22     2 version_number fixed bin (8),
23     2 host_number fixed bin (32),
24     2 host_official_name_ptr offset,                        /* ptr to name block */
25     2 host_abbrev_ptr offset,                               /* ptr to abbrev block */
26     2 names_ptr offset,                                     /* offset to list of other names */
27     2 properties_ptr offset,                                /* offset to list of properties */
28     2 freq_req_attributes bit (36);                         /* bit string of frequently requested attributes */
29 
30 dcl 1 names_list based aligned,                             /* structure for entry on other names list  */
31     2 next_hash_ptr offset,                                 /* and on hash table */
32     2 next_name_ptr offset,
33     2 host_number fixed bin (16),
34     2 name char (32) unaligned;
35 
36 dcl 1 properties_list based aligned,                        /* structure for entry on property list */
37     2 next_property_ptr offset,
38     2 property_value_length fixed bin (35),
39     2 property_name char (32),
40     2 property_value char (len2 refer (properties_list.property_value_length));