1 /* BEGIN INCLUDE FILE dm_cm_datum.incl.pl1 */ 2 3 /* DESCRIPTION: 4 This include file contains the declarations of datum structures. 5 There are four tyes of datums: your ordinary, run-of-the-mill datum 6 (Datum); a continuation datum (CN Datum), which is a continuation of 7 another datum; a continued datum (CD Datum), which is continued (has a 8 continuation datum) but is not a continuation itself; and a continued 9 continuation datum (CDCN Datum), which is both continued and is a 10 continuation. To illustrate, datums can be pieced combined in the 11 following ways: 12 13 1) Datum alone. 14 15 2) CD Datum -> CN Datum. 16 17 3) CD Datum -> CDCN Datum {-> CDCN Datum -> ...-> CDCN Datum} -> CN Datum. 18 19 continued_datum and continued_continuation_datum each contains a header 20 which includes the identifier of the datum which is its continuation. 21 continued_datum.header.full_length is the length in bits of the entire 22 element, i.e., the addition of the length of contents structure component 23 of all of the datums from CD Datum to CN Datum. 24 */ 25 26 /* HISTORY: 27 Written by Matthew Pierret, 02/07/82. 28 Modified: 29 03/25/82 by Matthew Pierret: Changed all datum structures to be unaligned. 30 06/14/82 by Matthew Pierret: Added DATUM_HEADER_LENGTH_IN_BYTES. 31 08/04/82 by Matthew Pierret: Added DATUM_HEADER_LENGTH_IN_BITS. 32 10/20/82 by Matthew Pierret: Split into two include files, this one and 33 dm_cm_datum_constants. The latter holds only and all constants 34 formerly in this include file. 35 10/29/82 by Matthew Pierret: Removed datum headers. 36 09/18/84 by Matthew Pierret: Added DESCRIPTION section. Added datum and 37 continuation_datum (mainly for illustration). 38 12/03/84 by Matthew Pierret: Removed the non-based structures 39 (cd cdcn)_datum_headers. 40 */ 41 42 /* format: style2,ll79,ind3 */ 43 44 dcl 1 datum unaligned based (datum_ptr), 45 2 contents bit (datum_contents_length_in_bits); 46 47 dcl 1 continuation_datum unaligned based (datum_ptr), 48 2 contents bit (datum_contents_length_in_bits); 49 50 dcl 1 continued_datum unaligned based (datum_ptr), 51 2 header, 52 3 full_length fixed bin (35), 53 3 continuation like datum_id, 54 2 contents bit (datum_contents_length_in_bits); 55 56 dcl 1 continued_continuation_datum 57 unaligned based (datum_ptr), 58 2 header, 59 3 continuation like datum_id, 60 2 contents bit (datum_contents_length_in_bits); 61 62 dcl 1 datum_id aligned based (datum_id_ptr), 63 2 control_interval_id 64 fixed bin (24) unal uns, 65 2 index fixed bin (12) unal uns; 66 67 dcl datum_ptr ptr init (null ()); 68 dcl datum_id_ptr ptr init (null ()); 69 dcl datum_contents_length_in_bits 70 fixed bin (35) init (-1); 71 72 73 74 /* END INCLUDE FILE dm_cm_datum.incl.pl1 */