1
2
3
4
5
6
7
8 dcl 1 terminal_io_record aligned based (terminal_io_record_ptr),
9 2 header,
10 3 version fixed binary,
11 3 device_type fixed binary,
12
13 3 slew_control,
14 4 slew_type fixed binary (18) unaligned unsigned,
15
16 4 slew_count fixed binary (18) unaligned unsigned,
17 3 flags,
18 4 binary bit (1) unaligned,
19 4 preslew bit (1) unaligned,
20
21 4 pad bit (34) unaligned,
22 3 element_size fixed binary,
23 3 n_elements fixed binary (24),
24 2 data,
25 3 bits (terminal_io_record_n_elements refer (terminal_io_record.n_elements))
26 bit (terminal_io_record_element_size refer (terminal_io_record.element_size)) unaligned;
27
28 dcl terminal_io_record_ptr pointer;
29
30 dcl terminal_io_record_element_size fixed binary;
31 dcl terminal_io_record_n_elements fixed binary (24);
32
33
34
35
36 dcl terminal_io_record_version_1 fixed binary static options (constant) initial (1);
37
38 dcl (TELEPRINTER_DEVICE initial (1),
39 READER_DEVICE initial (2),
40 PRINTER_DEVICE initial (3),
41 PUNCH_DEVICE initial (4))
42 fixed binary static options (constant);
43
44 dcl (SLEW_BY_COUNT initial (1),
45 SLEW_TO_TOP_OF_PAGE initial (2),
46 SLEW_TO_INSIDE_PAGE initial (3),
47 SLEW_TO_OUTSIDE_PAGE initial (4),
48 SLEW_TO_CHANNEL initial (5))
49 fixed binary static options (constant);
50
51
52
53
54 dcl terminal_io_record_data_chars character (terminal_io_record.n_elements) unaligned
55 based (addr (terminal_io_record.bits));
56
57 dcl terminal_io_record_data_chars_varying_max_len fixed binary (21);
58 dcl terminal_io_record_data_chars_varying character (terminal_io_record_data_chars_varying_max_len) varying
59 based (addr (terminal_io_record.n_elements));
60
61
62
63
64 dcl terminal_io_record_data_bits bit (terminal_io_record.n_elements) unaligned based (addr (terminal_io_record.bits));
65
66