1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 dcl 1 special_chars aligned based,
27 2 nl_seq aligned like c_chars,
28 2 cr_seq aligned like c_chars,
29 2 bs_seq aligned like c_chars,
30 2 tab_seq aligned like c_chars,
31 2 vt_seq aligned like c_chars,
32 2 ff_seq aligned like c_chars,
33 2 printer_on aligned like c_chars,
34 2 printer_off aligned like c_chars,
35 2 red_ribbon_shift aligned like c_chars,
36 2 black_ribbon_shift aligned like c_chars,
37 2 end_of_page aligned like c_chars,
38 2 escape_length fixed bin,
39 2 not_edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars,
40
41 2 edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars,
42
43 2 input_escapes aligned,
44 3 len fixed bin (8) unaligned,
45 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned,
46
47 2 input_results aligned,
48 3 pad bit (9) unaligned,
49 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned;
50
51
52
53 dcl c_chars_ptr ptr;
54 dcl 1 c_chars based (c_chars_ptr) aligned,
55 2 count fixed bin (8) unaligned,
56 2 chars (15) char (1) unaligned;
57
58 dcl sc_escape_len fixed bin;
59 dcl sc_input_escape_len fixed bin;
60
61
62 dcl 1 cv_trans based aligned,
63 2 value (0:255) fixed bin (8) unal;
64
65
66 dcl 1 delay based aligned,
67 2 vert_nl fixed bin,
68 2 horz_nl float bin,
69 2 const_tab fixed bin,
70 2 var_tab float bin,
71 2 backspace fixed bin,
72 2 vt_ff fixed bin;
73
74
75
76 dcl 1 special_chars_struc aligned based,
77 2 version fixed bin,
78 2 default fixed bin,
79 2 special_chars,
80
81
82 3 nl_seq aligned like c_chars,
83 3 cr_seq aligned like c_chars,
84 3 bs_seq aligned like c_chars,
85 3 tab_seq aligned like c_chars,
86 3 vt_seq aligned like c_chars,
87 3 ff_seq aligned like c_chars,
88 3 printer_on aligned like c_chars,
89 3 printer_off aligned like c_chars,
90 3 red_ribbon_shift aligned like c_chars,
91 3 black_ribbon_shift aligned like c_chars,
92 3 end_of_page aligned like c_chars,
93 3 escape_length fixed bin,
94 3 not_edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars,
95
96 3 edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars,
97
98 3 input_escapes aligned,
99 4 len fixed bin (8) unaligned,
100 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned,
101
102 3 input_results aligned,
103 4 pad bit (9) unaligned,
104 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned;
105
106
107 dcl 1 cv_trans_struc aligned based,
108 2 version fixed bin,
109 2 default fixed bin,
110 2 cv_trans like cv_trans;
111
112 dcl 1 delay_struc aligned based,
113 2 version fixed bin,
114 2 default fixed bin,
115 2 delay like delay;
116
117 dcl 1 get_special_info_struc based aligned,
118 2 version char (8),
119 2 area_ptr pointer,
120 2 table_ptr pointer;
121
122 dcl SPECIAL_INFO_STRUCT_VERSION_1
123 char (8) int static options (constant) init ("sisv1000");
124 dcl SPECIAL_VERSION fixed bin int static options (constant) init (1);
125 dcl SPECIAL_VERSION_2 fixed bin int static options (constant) init (2);
126 dcl DELAY_VERSION fixed bin int static options (constant) init (1);
127 dcl CV_TRANS_VERSION fixed bin int static options (constant) init (2);
128
129 dcl CV_TRANS_SIZE (2) fixed bin int static options (constant) init (127, 255);
130
131
132
133
134
135 dcl (
136 INPUT_CONVERT_ORDINARY init (0),
137 INPUT_CONVERT_BREAK init (1),
138 INPUT_CONVERT_ESCAPE init (2),
139 INPUT_CONVERT_DISCARD init (3),
140 INPUT_CONVERT_FORMFEED init (4),
141 INPUT_CONVERT_PRECEDENCE_DISCARD
142 init (5),
143 INPUT_CONVERT_DSA_CR_PROCESSING
144 init (6)
145 ) fixed bin (8) unaligned internal static options (constant);
146
147 dcl (
148 OUTPUT_CONVERT_ORDINARY init (0),
149 OUTPUT_CONVERT_NEWLINE init (1),
150 OUTPUT_CONVERT_CR init (2),
151 OUTPUT_CONVERT_HT init (3),
152 OUTPUT_CONVERT_BS init (4),
153 OUTPUT_CONVERT_VT init (5),
154 OUTPUT_CONVERT_FF init (6),
155 OUTPUT_CONVERT_OCTAL init (7),
156 OUTPUT_CONVERT_RRS init (8),
157 OUTPUT_CONVERT_BRS init (9),
158 OUTPUT_CONVERT_NO_MOTION init (10),
159 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION
160 init (11),
161 OUTPUT_CONVERT_DONT_SEND init (12),
162 OUTPUT_CONVERT_NOT_USED_13
163 init (13),
164 OUTPUT_CONVERT_NOT_USED_14
165 init (14),
166 OUTPUT_CONVERT_NOT_USED_15
167 init (15),
168 OUTPUT_CONVERT_NOT_USED_16
169 init (16),
170 OUTPUT_CONVERT_FIRST_SPECIAL
171 init (17)
172 ) fixed bin (8) unaligned internal static options (constant);
173
174