1
2
3 dcl (configp, cardp) pointer;
4 dcl config_n_cards fixed bin;
5 dcl config_max_cards fixed bin;
6
7 dcl config_deck$ fixed bin external static;
8
9 dcl 1 config_deck aligned based (configp),
10 2 cards (config_n_cards) aligned like config_card,
11 2 pad_cards (config_max_cards - config_n_cards) aligned like config_card;
12
13 dcl 1 config_card aligned based (cardp),
14 2 word char (4) aligned,
15 2 data_field (14) bit (36) aligned,
16 2 type_word aligned like config_card_type_word;
17
18 dcl 1 config_card_type_word aligned based,
19 2 field_type (14) bit (2) unaligned,
20 2 pad1 bit (4) unaligned,
21 2 n_fields fixed bin (4) unsigned unaligned;
22
23 dcl (CONFIG_DECIMAL_TYPE init ("11"b),
24 CONFIG_OCTAL_TYPE init ("00"b),
25 CONFIG_SINGLE_CHAR_TYPE init ("01"b),
26 CONFIG_STRING_TYPE init ("10"b)) bit (2) aligned static options (constant);
27
28 dcl ZERO_CARD_WORD char (4) aligned internal static options (constant) init ("^@^@^@^@");
29 dcl FREE_CARD_WORD char (4) aligned internal static options (constant) init ("ÿÿÿÿ");
30
31 dcl VALID_CARD_WORD_CHARACTERS char (38) internal static options (constant) init
32 ("abcdefghijklmnopqrstuvwxyz0123456789_.");
33
34 dcl EMPTY_FIELD bit (36) aligned internal static options (constant) init ("777777777777"b3);
35
36