1
2
3
4
5
6 %skip(1);
7 dcl 1 ESCAPE_KEYS aligned static internal options (constant),
8 2 FORWARD char (2) init ("^[f"),
9 2 BACKWARD char (2) init ("^[b"),
10 2 LEFT char (2) init ("^[l"),
11 2 RIGHT char (2) init ("^[r"),
12 2 HELP char (2) init ("^[?"),
13 2 SET_KEY char (2) init ("^[k"),
14 2 SET_SCROLL_INCREMENT char (2) init ("^[i"),
15 2 QUIT char (2) init ("^[q"),
16 2 REDISPLAY char (2) init ("^[d"),
17 2 START_OF_REPORT char (2) init ("^[s"),
18 2 END_OF_REPORT char (2) init ("^[e"),
19 2 MULTICS_MODE char (2) init ("^[m"),
20 2 GOTO char (2) init ("^[g");
21 %skip(1);
22 dcl ESCAPE_KEYS_AS_A_TABLE (HIGHEST_DISPLAY_FUNCTION_NUMBER) aligned char (2) based (addr (ESCAPE_KEYS));
23 %skip(1);
24 dcl 1 ESCAPE_KEY_MNEMONICS aligned static internal options (constant),
25 2 FORWARD char (5) init ("esc-f"),
26 2 BACKWARD char (5) init ("esc-b"),
27 2 LEFT char (5) init ("esc-l"),
28 2 RIGHT char (5) init ("esc-r"),
29 2 HELP char (5) init ("esc-?"),
30 2 SET_KEY char (5) init ("esc-k"),
31 2 SET_SCROLL_INCREMENT char (5) init ("esc-i"),
32 2 QUIT char (5) init ("esc-q"),
33 2 REDISPLAY char (5) init ("esc-d"),
34 2 START_OF_REPORT char (5) init ("esc-s"),
35 2 END_OF_REPORT char (5) init ("esc-e"),
36 2 MULTICS_MODE char (5) init ("esc-m"),
37 2 GOTO char (5) init ("esc-g");
38 %skip(1);
39 dcl ESCAPE_KEY_MNEMONICS_AS_A_TABLE (HIGHEST_DISPLAY_FUNCTION_NUMBER) aligned char (5) based (addr (ESCAPE_KEY_MNEMONICS));
40 %skip(1);
41 dcl 1 FUNCTION_NAMES aligned static internal options (constant),
42 2 FORWARD char (32) init ("forward"),
43 2 BACKWARD char (32) init ("backward"),
44 2 LEFT char (32) init ("left"),
45 2 RIGHT char (32) init ("right"),
46 2 HELP char (32) init ("help"),
47 2 SET_KEY char (32) init ("set_key"),
48 2 SET_SCROLL_INCREMENT char (32) init ("set_scroll_increment"),
49 2 QUIT char (32) init ("quit"),
50 2 REDISPLAY char (32) init ("redisplay"),
51 2 START_OF_REPORT char (32) init ("start_of_report"),
52 2 END_OF_REPORT char (32) init ("end_of_report"),
53 2 MULTICS_MODE char (32) init ("multics_mode"),
54 2 GOTO char (32) init ("goto");
55 %skip(1);
56 dcl FUNCTION_NAMES_AS_A_TABLE (HIGHEST_DISPLAY_FUNCTION_NUMBER) aligned char (32) based (addr (FUNCTION_NAMES));
57 %skip(1);
58 dcl HIGHEST_DISPLAY_FUNCTION_NUMBER fixed bin static int options (constant) init (13);
59 %skip(1);
60 dcl HIGHEST_NUMBERED_FUNCTION_KEY_NEEDED fixed bin static int options (constant) init (9);
61 %skip(1);
62 dcl 1 KEY_MNEMONICS aligned static internal options (constant),
63 2 FORWARD char (12) init ("down_arrow"),
64 2 BACKWARD char (12) init ("up_arrow"),
65 2 LEFT char (12) init ("left_arrow"),
66 2 RIGHT char (12) init ("right_arrow"),
67 2 HELP char (12) init ("f1"),
68 2 SET_KEY char (12) init ("f2"),
69 2 SET_SCROLL_INCREMENT char (12) init ("f3"),
70 2 QUIT char (12) init ("f4"),
71 2 REDISPLAY char (12) init ("f5"),
72 2 START_OF_REPORT char (12) init ("f6"),
73 2 END_OF_REPORT char (12) init ("f7"),
74 2 MULTICS_MODE char (12) init ("f8"),
75 2 GOTO char (12) init ("f9");
76 %skip(1);
77 dcl KEY_MNEMONICS_AS_A_TABLE (HIGHEST_DISPLAY_FUNCTION_NUMBER) aligned char (12) based (addr (KEY_MNEMONICS));
78 %skip(1);
79 dcl 1 function_key_info aligned,
80 2 forward char (32),
81 2 backward char (32),
82 2 left char (32),
83 2 right char (32),
84 2 help char (32),
85 2 set_key char (32),
86 2 set_scroll_increment char (32),
87 2 quit char (32),
88 2 redisplay char (32),
89 2 start_of_report char (32),
90 2 end_of_report char (32),
91 2 multics_mode char (32),
92 2 goto char (32);
93 %skip(1);
94 dcl keys_as_a_table (HIGHEST_DISPLAY_FUNCTION_NUMBER) char (32) based (addr (scroll_info.keys));
95 %skip(1);
96 dcl mnemonic_key_sequences_as_a_table (HIGHEST_DISPLAY_FUNCTION_NUMBER) aligned char (32) based (addr (scroll_info.mnemonic_key_sequences));
97 %skip(1);
98 dcl 1 scroll_info aligned based (scroll_ip),
99 2 flags,
100 3 video_was_already_on bit (1) unaligned,
101 3 user_io_was_shrunk bit (1) unaligned,
102 3 escapes_in_use bit (1) unaligned,
103 3 on_the_last_page bit (1) unaligned,
104 3 buffer_boundary_just_crossed bit (1) unaligned,
105 3 goto_line_number_pending bit (1) unaligned,
106 3 available bit (30) unaligned,
107 2 number_of_lines_for_report_display fixed bin,
108 2 target_page_number fixed bin (21),
109 2 target_line_number fixed bin (35),
110 2 left_vertical_position fixed bin,
111 2 top_margin_offset fixed bin,
112 2 horizontal_scroll_distance fixed bin,
113 2 vertical_scroll_distance fixed bin,
114 2 last_line_number_in_previous_buffer fixed bin,
115 2 user_io_window_position_info_ptr ptr,
116 2 report_output_window_position_info_ptr ptr,
117 2 display_arg_results_ptr ptr,
118 2 area_ptr ptr,
119 2 report_control_info_ptr ptr,
120 2 function_key_data_pointer ptr,
121 2 window_status_info_pointer ptr,
122 2 page_info_pointer ptr,
123 2 ssu_info_ptr ptr,
124 2 format_document_op ptr,
125 2 keys like function_key_info,
126 2 mnemonic_key_sequences like function_key_info;
127 %skip(1);
128 dcl scroll_ip ptr;
129 %skip(1);
130