1 /* BEGIN INCLUDE FILE - dm_cm_collection_header.incl.pl1 */
 2 
 3 /* DESCRIPTION:
 4        Associated with each collection is the following collection_header
 5    structure stored as an element in the Header Collection of the file.
 6    The identifier of this element is also the idenfifier of the collection.
 7    Even the Header Collection has a collection_header stored in the Header
 8    Collection itself in the element identified by the constant
 9    HEADER_COLLECTION_HEADER_ELEMENT_ID declared in dm_cm_hdr_col_ids.incl.pl1.
10    The information in collection_header is expected to be stable information.
11    The structure elements are described as follows:
12 
13    version is a character string version equal to COLLECTION_HEADER_VERSION_2.
14 
15    flags.fixed_size_elements indicates, if on that all elements in the
16    collection are of a fixed length.
17 
18    flags.thread_elements indicates that elements in a collection are to be
19    threaded in a linked list.  This is currrently unupported.
20 
21    flags.thread_control_intervals indicates, if on, that control intervals in
22    a collection are to be threaded in a linked list.  This is only useful if
23    the control interval storage method is blocked.
24 
25    flags.must_be_zero1 is reserved for future use and must be "0"b.
26 
27    control_interval_storage_method is the method of storage management of
28    control intervals for this collection, either
29    BLOCKED_CONTROL_INTERVAL_STORAGE_METHOD (not yet supported) or
30    UNBLOCKED_CONTROL_INTERVAL_STORAGE_METHOD, declared in
31    dm_cism_info.incl.pl1.
32 
33    element_storage_method is the method of storage management of elements in
34    this collection, either BASIC_ELEMENT_STORAGE_METHOD or
35    ORDERED_ELEMENT_STORAGE_METHOD, declared in dm_esm_info.incl.pl1.
36 
37    maximum_element_size is the maximum size of an element in bits in this
38    collection.
39 
40    header_record_element_id is the identifier of an element containing a
41    caller-defined header for this collection.  If equal to "0"b, no
42    caller-defined header yet exists.  The put_header collection_manager_
43    operation stores such a header.
44 
45    storage_record_element_id is the identifier of the element containing the
46    storage_record for this collection.  The storage_record contains
47    information expected to be dynamic, such as the identifier of the last
48    control interval of the collection.  Its format is also dependent upon the
49    storage methods in effect for this collection.  storage_record structures
50    are declared in dm_cm_storage_record.incl.pl1.
51 
52 */
53 
54 /* HISTORY:
55 Written by Matthew Pierret, 04/01/82.
56 Modified:
57 07/01/82 by Matthew Pierret: Changed to version A, added storage_record_area.
58 10/29/82 by Matthew Pierret: Changed to version 2 ("col_hdr2"), separated
59             storage_record_area out, leaving storage_record_element_id behind.
60 09/18/84 by Matthew Pierret: Added DESCRIPTION section.
61 */
62 
63 /* format: style2,ind3,ll79 */
64 
65      dcl     1 collection_header    aligned based (collection_header_ptr),
66                2 version            char (8),
67                2 flags              unaligned,
68                  3 fixed_size_elements
69                                     bit (1),
70                  3 thread_elements  bit (1),
71                  3 thread_control_intervals
72                                     bit (1),
73                  3 must_be_zero1    bit (15),
74                2 control_interval_storage_method
75                                     fixed bin (17) unal,
76                2 element_storage_method
77                                     fixed bin (17),
78                2 maximum_element_size
79                                     fixed bin (35),
80                2 header_record_element_id
81                                     bit (36) aligned,
82                2 storage_record_element_id
83                                     bit (36) aligned;
84 
85      dcl     collection_header_ptr  ptr;
86      dcl     COLLECTION_HEADER_VERSION_2
87                                     init ("col_hdr2") char (8) aligned
88                                     int static options (constant);
89 
90 /* END INCLUDE FILE - dm_cm_collection_header.incl.pl1 */