1 /*   BEGIN INCLUDE FILE linus_scroll_info.incl.pl1
  2 
  3    Written - Al Dupuis - August 1983
  4 */
  5 /* format: off */
  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),                        /* down arrow or esc-f */
 81       2 backward char (32),                       /* up arrow or esc-b */
 82       2 left char (32),                           /* left arrow or esc-l */
 83       2 right char (32),                          /* right arrow or esc-r */
 84       2 help char (32),                           /* F1 or esc-? */
 85       2 set_key char (32),                        /* F2 or esc-k */
 86       2 set_scroll_increment char (32),           /* F3 or esc-i */
 87       2 quit char (32),                           /* F4 or esc-q */
 88       2 redisplay char (32),                      /* F5 or esc-d */
 89       2 start_of_report char (32),                /* F6 or esc-s */
 90       2 end_of_report char (32),                  /* F7 or esc-e */
 91       2 multics_mode char (32),                   /* F8 or esc-m */
 92       2 goto char (32);                           /* F9 or esc-g */
 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 /*   END INCLUDE FILE linus_sroll_info.incl.pl1 */