COMPILATION LISTING OF SEGMENT xmail_display_menu_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 09/02/88 0749.3 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 /* Written March 1982 by R. Ignagni 11* 12* 83-06-27 DJ Schimke: Deleted dcls for unreferenced addr, cleanup, iox_, 13* iox_, iox_, length, null, and xmail_leave_menu. 14* 15* 83-09-14 DJ Schimke: Added code to check the value of more_mode for the 16* bottom window before doing the clear_to_end_of_window call. The call to 17* clear_to_end_of_window was added for more_mode=wrap (phx11860) and should 18* not be done for fold mode. phx12565 19**/ 20 xmail_display_menu_: proc (menup, sw_no_lines, code); 21 22 23 dcl sw_no_lines fixed bin; 24 dcl code fixed bin (35); 25 dcl menup ptr; 26 27 dcl addr builtin; 28 dcl 1 auto_mode_value automatic like mode_value; 29 dcl mode_str char (512); 30 31 dcl iox_$modes entry (ptr, char (*), char (*), fixed bin (35)); 32 dcl mode_string_$get_mode entry (char (*), char (*), ptr, fixed bin (35)); 33 dcl xmail_sw_$update_file entry (char (*)); 34 dcl xmail_sw_$update_file_info entry (char (*)); 35 dcl xmail_sw_$update_position entry (char (*)); 36 dcl xmail_sw_$update_usage entry (char (*)); 37 dcl xmail_sw_$redisplay entry (); 38 dcl xmail_error_$code_last entry options (variable); 39 dcl NAME char (19) static options (constant) init ("xmail_display_menu_"); 40 41 42 MAIN: 43 44 code = 0; 45 46 call xmail_sw_$update_file (" "); 47 call xmail_sw_$update_file_info (" "); 48 call xmail_sw_$update_position (" "); 49 call xmail_sw_$update_usage (" "); 50 call xmail_sw_$redisplay (); 51 52 call DISPLAY; 53 54 call iox_$modes (xmail_windows.bottom.iocb, "", mode_str, code); 55 if code ^= 0 then go to ERROR; 56 auto_mode_value.version = mode_value_version_3; 57 call mode_string_$get_mode (mode_str, "more_mode", addr (auto_mode_value), code); 58 if code ^= 0 then go to ERROR; 59 if auto_mode_value.char_value ^= "fold" then 60 call window_$clear_to_end_of_window (xmail_windows.bottom.iocb, (0)); 61 return; 62 63 ERROR: call xmail_error_$code_last (code, NAME, "s", "A program error has occurred for which no automatic correction is known."); 64 65 66 67 DISPLAY: proc; 68 69 dcl 1 actual_menu_rqmts aligned like menu_requirements; 70 71 dcl xmail_err_$insuff_room_for_window ext static fixed bin (35); 72 73 dcl xmail_window_manager_$set_menu_window_size entry (fixed bin, fixed bin (35)); 74 dcl xmail_window_manager_$set_sw_size entry (fixed bin, fixed bin (35)); 75 76 dcl xmail_redisplay_$status_window entry (); 77 dcl xmail_redisplay_$menu entry (); 78 79 actual_menu_rqmts.version = menu_requirements_version_1; 80 call menu_$describe (menup, addr (actual_menu_rqmts), code); 81 if code ^= 0 then goto ERROR; 82 83 if actual_menu_rqmts.width_needed > xmail_windows.menu.width 84 then code = xmail_err_$insuff_room_for_window; 85 else do; 86 call xmail_window_manager_$set_sw_size (sw_no_lines, code); 87 if code = 0 88 then do; 89 call xmail_redisplay_$status_window (); 90 call xmail_window_manager_$set_menu_window_size (actual_menu_rqmts.lines_needed, code); 91 end; 92 if code = 0 93 then call xmail_redisplay_$menu (); 94 end; 95 if code = 0 then return; 96 else go to ERROR; 97 98 end DISPLAY; 99 1 1 /* BEGIN INCLUDE FILE mode_string_info.incl.pl1 */ 1 2 1 3 /* Structure for parse_mode_string_ JRDavis 20 October 1980 1 4* Last modified 12 January 1981 by J. Spencer Love for version 2, make char_value varying string */ 1 5 1 6 declare mode_value_ptr ptr, 1 7 number_of_modes fixed bin; 1 8 1 9 declare 1 mode_string_info aligned based (mode_string_info_ptr), 1 10 2 version fixed bin, 1 11 2 number fixed bin, 1 12 2 modes (number_of_modes refer (mode_string_info.number)) like mode_value; 1 13 1 14 declare mode_string_info_ptr ptr; 1 15 1 16 declare 1 mode_value aligned based (mode_value_ptr), 1 17 2 version fixed bin, 1 18 2 mode_name char (32) unaligned, 1 19 2 flags, 1 20 3 boolean_valuep bit (1) unaligned, 1 21 3 numeric_valuep bit (1) unaligned, 1 22 3 char_valuep bit (1) unaligned, 1 23 3 boolean_value bit (1) unaligned, 1 24 3 pad1 bit (32) unaligned, 1 25 2 numeric_value fixed bin (35), 1 26 2 char_value char (32) varying, 1 27 2 code fixed bin (35), 1 28 2 pad2 bit (36); 1 29 1 30 declare mode_string_info_version_2 fixed bin static options (constant) initial (2), 1 31 mode_value_version_3 fixed bin static options (constant) initial (3); 1 32 1 33 /* END INCLUDE FILE mode_string_info.incl.pl1 */ 100 101 2 1 /* BEGIN INCLUDE FILE: xmail_data.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(85-12-20,Blair), approve(86-03-06,MCR7358), 2 6* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 7* Modified 03/15/85 by Joanne Backs adding confirm_print flag. 2 8* 2) change(85-12-20,LJAdams), approve(86-03-06,MCR7358), 2 9* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 10* Adding switch to indicate request for menu display came from general help. 2 11* This is so general help menu will be displayed in top screen. 2 12* 3) change(86-01-10,Blair), approve(86-03-06,MCR7358), 2 13* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 14* Add switch to indicate whether or not it is permissible to process mail 2 15* in other users' mailboxes (foreign_mailbox). 2 16* 4) change(86-01-13,Blair), approve(86-03-06,MCR7358), 2 17* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 18* Add bit to indicate whether or not this is a true cleanup condition. 2 19* 5) change(86-02-06,Blair), approve(86-03-06,MCR7358), 2 20* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 21* Rearrange to group all the bit flags together in one word with a pad. 2 22* 6) change(86-03-05,Blair), approve(86-03-05,MCR7358), 2 23* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 2 24* Change value_seg ptr to value_seg_pathname to avoid the situation where 2 25* you keep around a pointer to a structure which no longer exists. 2 26* 7) change(87-01-16,Blair), approve(87-02-05,MCR7618), 2 27* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 2 28* Add a field to indicate whether or not we should process interactive msgs. 2 29* Increment version to 4.1 so default value will get set. 2 30* 8) change(87-02-13,Blair), approve(87-02-13,MCR7618), 2 31* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 2 32* Add a field to indicate whether or not we're processing a reply so that we 2 33* will be able to rebuild the screens properly after a disconnect occurs. 2 34* Error_list #114. 2 35* 9) change(88-07-26,Blair), approve(88-07-26,MCR7959), 2 36* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 2 37* Add a bit to indicate whether or not the error segment had to be created 2 38* in the pdir (because we didn't have sma access to the mlsys_dir). 2 39* END HISTORY COMMENTS */ 2 40 2 41 2 42 /* Written 5/13/81 by Paul H. Kyzivat */ 2 43 /* Modified 12/16/81 by S. Krupp to delete unused parts of structure 2 44* and to add n_fkeys_used */ 2 45 /* Modified 12/14/82 by Dave Schimke to make the xmail version a 10 character 2 46* varying string. */ 2 47 /* Modified 09/12/83 by Dave Schimke adding interactive_msgs flag */ 2 48 /* Modified 09/14/83 by Dave Schimke adding moved_user_io */ 2 49 /* Modified 09/06/84 by Joanne Backs adding lists_as_menus flag */ 2 50 /* Modified 09/21/84 by Joanne Backs adding remove_menus flag */ 2 51 2 52 dcl xmail_data_ptr external static ptr init (null); 2 53 2 54 dcl 1 xmail_data aligned based (xmail_data_ptr), 2 55 2 mail_dir char (168) varying, 2 56 2 first_label label, 2 57 2 quit_label label, 2 58 2 value_seg_pathname char (168) varying, 2 59 2 moved_user_io ptr, 2 60 2 normal_usage char (80) unal, 2 61 2 function_key_info, 2 62 3 function_key_data_ptr ptr, 2 63 3 n_fkeys_used fixed bin, 2 64 2 actee, 2 65 3 person char(32) varying, 2 66 3 project char(32) varying, 2 67 2 flags aligned, 2 68 3 mail_in_incoming bit (1) unal, 2 69 3 lists_as_menus bit (1) unal, /* personalization */ 2 70 3 remove_menus bit (1) unal, /* personalization */ 2 71 3 confirm_print bit (1) unal, /* personalization */ 2 72 3 multics_mode bit (1) unal, /* personalization */ 2 73 3 interactive_msgs bit (1) unal, /* personalization */ 2 74 3 foreign_mailbox bit (1) unal, /* read others' mailboxes */ 2 75 3 general_help bit (1) unal, /* indicated requesting gen help*/ 2 76 3 cleanup_signalled bit (1) unal, /* on when true cleanup condition */ 2 77 3 msgs_as_mail bit (1) unal, /* on for include_msgs */ 2 78 3 reply_request bit (1) unal, /* on if we're doing a reply */ 2 79 3 error_seg_in_pdir bit (1) unal, /* on if the error_seg is in the pdir */ 2 80 3 pad bit (24) unal; 2 81 2 82 2 83 2 84 dcl xmail_version char(10) var static options(constant) init("4.1"); 2 85 2 86 /* END INCLUDE FILE: xmail_data.incl.pl1 */ 102 103 3 1 /* Begin include file: xmail_windows.incl.pl1 */ 3 2 /* Created 6/24/81 by Paul Kyzivat */ 3 3 /* Mofified 6/20/84 by DJ Schimke to add the mm_status window */ 3 4 3 5 dcl 1 xmail_windows aligned external static, 3 6 2 initial_position fixed bin, 3 7 2 min_lines_needed fixed bin, 3 8 2 (status, mm_status, menu, bottom) aligned like xmail_window_info_format; 3 9 3 10 dcl 1 xmail_window_info_format aligned based, 3 11 2 iocb ptr, 3 12 2 position aligned like window_position_info; 3 13 4 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 4 2 /* format: style3 */ 4 3 4 4 /* Modified 26 January 1982 by William York to add the set_more_handler 4 5* and reset_more_handler control orders. */ 4 6 /* Modified October 1982 by WMY to add set and get_token_characters, 4 7* set and get_more_prompt. */ 4 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 4 9* structure. */ 4 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 4 11* partial screen width windows. */ 4 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 4 13* This should be removed when window_info.incl.pl1 is created. */ 4 14 /* Modified 29 February 1984 by Barmar to add version 1 4 15* get_editor_key_bindings_info. */ 4 16 /* Modified 1 March 1984 by Barmar to add version 1 4 17* set_editor_key_bindings_info. */ 4 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 4 19* line_editor_key_bindings_info, which includes the name, description, and 4 20* info path */ 4 21 4 22 /* structure for the set_window_info and get_window_info 4 23* control orders. */ 4 24 4 25 dcl 1 window_position_info 4 26 based (window_position_info_ptr), 4 27 2 version fixed bin, 4 28 2 origin, 4 29 3 column fixed bin, 4 30 3 line fixed bin, 4 31 2 extent, 4 32 3 width fixed bin, 4 33 3 height fixed bin; 4 34 4 35 dcl (window_position_info_version, window_position_info_version_1) 4 36 fixed bin internal static init (1) options (constant); 4 37 dcl window_position_info_ptr 4 38 pointer; 4 39 4 40 /* structure for the set_window_status and get_window_status 4 41* control orders */ 4 42 4 43 declare window_status_info_ptr 4 44 pointer; 4 45 declare 1 window_status_info 4 46 aligned based (window_status_info_ptr), 4 47 2 version fixed bin, 4 48 2 status_string bit (36) aligned; /* string (window_status) */ 4 49 /* see window_status.incl.pl1 for the contents of this string */ 4 50 4 51 4 52 declare (window_status_version, window_status_version_1) 4 53 fixed bin internal static init (1) options (constant); 4 54 4 55 /* info structure for the set_more_responses and get_more_responses control 4 56* orders */ 4 57 4 58 4 59 dcl 1 more_responses_info 4 60 aligned based (more_responses_info_ptr), 4 61 2 version fixed bin, 4 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 4 63 2 n_noes fixed bin, 4 64 2 yeses char (32) unaligned, 4 65 2 noes char (32) unaligned; 4 66 4 67 dcl (more_responses_info_version_1, more_responses_version) 4 68 fixed bin internal static init (1) options (constant); 4 69 dcl more_responses_info_ptr 4 70 pointer; 4 71 4 72 /* structure for the set_break_table and get_break_table 4 73* control orders */ 4 74 4 75 declare break_table_ptr pointer; 4 76 declare 1 break_table_info aligned based (break_table_ptr), 4 77 2 version fixed bin, 4 78 2 breaks (0:127) bit (1) unaligned; 4 79 4 80 declare (break_table_info_version, break_table_info_version_1) 4 81 fixed bin init (1) internal static options (constant); 4 82 4 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 4 84 2 version fixed bin, 4 85 2 flags unaligned, 4 86 3 old_handler_valid 4 87 bit(1), 4 88 3 pad bit(35), 4 89 2 more_handler entry (pointer, bit(1) aligned), 4 90 2 old_more_handler entry (pointer, bit(1) aligned); 4 91 4 92 declare more_handler_info_ptr pointer; 4 93 4 94 declare (more_handler_info_version, more_handler_info_version_3) 4 95 fixed bin internal static options (constant) init (3); 4 96 4 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 4 98 2 version char(8), 4 99 2 token_character_count 4 100 fixed bin, 4 101 2 token_characters 4 102 char (128) unaligned; 4 103 4 104 declare token_characters_info_ptr pointer; 4 105 4 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 4 107 4 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 4 109 2 version char(8), 4 110 2 more_prompt char(80); 4 111 4 112 declare more_prompt_info_ptr pointer; 4 113 4 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 4 115 4 116 /* Line editor stuff ... */ 4 117 4 118 dcl line_editor_key_binding_info_ptr 4 119 pointer; 4 120 4 121 dcl line_editor_binding_count 4 122 fixed bin; 4 123 dcl line_editor_longest_sequence 4 124 fixed bin; 4 125 /* For each binding, action defines what to do for that sequence. Constants 4 126* are defined in window_editor_values.incl.pl1. Only if action is set to 4 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 4 128 4 129 dcl 1 line_editor_key_binding_info 4 130 aligned based (line_editor_key_binding_info_ptr), 4 131 2 version char(8), 4 132 2 binding_count fixed bin, 4 133 2 longest_sequence fixed bin, 4 134 2 bindings (line_editor_binding_count refer 4 135 (line_editor_key_binding_info.binding_count)), 4 136 3 sequence char(line_editor_longest_sequence refer 4 137 (line_editor_key_binding_info.longest_sequence)) varying, 4 138 3 action fixed bin, 4 139 3 numarg_action fixed binary, 4 140 3 editor_routine entry (pointer, fixed bin(35)), 4 141 3 name char (64) varying unaligned, 4 142 3 description char (256) varying unaligned, 4 143 3 info_path unaligned, 4 144 4 info_dir char (168), 4 145 4 info_entry char (32); 4 146 4 147 4 148 dcl line_editor_key_binding_info_version_3 4 149 char(8) static options (constant) init ("lekbi003"); 4 150 4 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 4 152 2 version char (8), 4 153 2 flags, 4 154 3 entire_state bit (1) unaligned, 4 155 3 mbz bit (35) unaligned, 4 156 2 key_binding_info_ptr ptr, 4 157 2 entire_state_ptr ptr; 4 158 4 159 dcl get_editor_key_bindings_info_ptr ptr; 4 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 4 161 4 162 dcl 1 set_editor_key_bindings_info aligned 4 163 based (set_editor_key_bindings_info_ptr), 4 164 2 version char (8), 4 165 2 flags, 4 166 3 replace bit (1) unaligned, 4 167 3 update bit (1) unaligned, 4 168 3 mbz bit (34) unaligned, 4 169 2 key_binding_info_ptr ptr; 4 170 4 171 dcl set_editor_key_bindings_info_ptr ptr; 4 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 4 173 4 174 /* This should be moved to window_info.incl.pl1 when that include file is 4 175* created. JR 2/1/84 */ 4 176 4 177 dcl 1 window_edit_line_info 4 178 based (window_edit_line_info_ptr), 4 179 2 version char (8), 4 180 2 line_ptr ptr, 4 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 4 182 4 183 dcl window_edit_line_info_version_1 4 184 char (8) static options (constant) init ("wedl0001"); 4 185 4 186 dcl window_edit_line_info_ptr 4 187 ptr; 4 188 4 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 3 14 3 15 3 16 /* End include file: xmail_windows.incl.pl1 */ 104 105 5 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 5 2* declarations for the menu_ subroutines MTB 493 5 3* James R. Davis 26 Jan 81 to 20 Februrary 81 5 4**/ 5 5 5 6 /* format: off */ 5 7 5 8 dcl menu_$create entry ( 5 9 (*) char (*) varying, /* input: choices */ 5 10 (*) char (*) varying, /* input: headers */ 5 11 (*) char (*) varying, /* input: trailers */ 5 12 pointer, /* input: to format info */ 5 13 (*) char (1) unal, /* input: keys to use */ 5 14 pointer, /* input: to area */ 5 15 pointer, /* input: to needs str. */ 5 16 pointer, /* to menu: output */ 5 17 fixed bin (35) /* code */ 5 18 ); 5 19 5 20 dcl menu_$display entry ( 5 21 pointer, /* window */ 5 22 pointer, /* menu */ 5 23 fixed bin (35) /* code */ 5 24 ); 5 25 5 26 dcl menu_$get_choice entry ( 5 27 pointer, /* window */ 5 28 pointer, /* menu */ 5 29 pointer, /* to function key info */ 5 30 bit (1) aligned, /* function key hi: output */ 5 31 fixed bin, /* output: selection number */ 5 32 fixed bin (35) /* output: code */ 5 33 ); 5 34 5 35 dcl menu_$describe entry ( 5 36 pointer, /* menu */ 5 37 pointer, /* needs */ 5 38 fixed bin (35) /* code */ 5 39 ); 5 40 5 41 dcl menu_$destroy entry ( 5 42 pointer, /* menu */ 5 43 fixed bin (35) /* code */ 5 44 ); 5 45 5 46 dcl menu_$store entry ( 5 47 character (*), 5 48 character (*), 5 49 character (*), 5 50 bit (1) aligned, 5 51 pointer, 5 52 fixed bin (35)); 5 53 5 54 dcl menu_$retrieve entry ( 5 55 character (*), 5 56 character (*), 5 57 character (*), 5 58 pointer, 5 59 pointer, 5 60 fixed bin (35)); 5 61 dcl menu_$delete entry ( 5 62 character (*), 5 63 character (*), 5 64 character (*), 5 65 fixed binary (35)); 5 66 5 67 dcl menu_$list entry ( 5 68 character (*), 5 69 character (*), 5 70 character (*), 5 71 pointer, 5 72 fixed bin, 5 73 pointer, 5 74 fixed bin (35)); 5 75 5 76 dcl 1 menu_format aligned based (menu_format_ptr), 5 77 2 version fixed bin, 5 78 2 constraints, 5 79 3 max_width fixed bin, 5 80 3 max_height fixed bin, 5 81 2 n_columns fixed bin, 5 82 2 flags, 5 83 3 center_headers bit (1) unal, 5 84 3 center_trailers bit (1) unal, 5 85 3 pad bit (34) unal, 5 86 2 pad_char char (1); 5 87 5 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 5 89 2 version fixed bin, 5 90 2 lines_needed fixed bin, 5 91 2 width_needed fixed bin, 5 92 2 n_options fixed bin; 5 93 5 94 dcl menu_format_ptr pointer; 5 95 dcl menu_requirements_ptr pointer; 5 96 5 97 dcl (menu_format_version_1, menu_requirements_version_1) 5 98 fixed bin internal static init (1) options (constant); 5 99 5 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 5 101 options (constant) init 5 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 5 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 5 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 5 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 5 106 5 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 106 107 6 1 /* begin include fine window_dcls.incl.pl1 BIM June 1981 */ 6 2 /* Modified 9 October 1983 by Jon A. Rochlis to add window_$edit_line. */ 6 3 6 4 /* format: style3 */ 6 5 6 6 declare window_$bell entry (pointer, fixed binary (35)); 6 7 declare window_$clear_region 6 8 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary, fixed binary (35)); 6 9 declare window_$clear_to_end_of_line 6 10 entry (pointer, fixed binary (35)); 6 11 declare window_$clear_to_end_of_window 6 12 entry (pointer, fixed binary (35)); 6 13 declare window_$clear_window 6 14 entry (pointer, fixed binary (35)); 6 15 declare window_$delete_chars 6 16 entry (pointer, fixed binary, fixed binary (35)); 6 17 declare window_$get_cursor_position 6 18 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 6 19 6 20 /* Call window_$get_echoed_chars (iocb_ptr, n_to_read, read_buffer, n_read, read_break, code); */ 6 21 6 22 declare window_$get_echoed_chars 6 23 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 6 24 fixed binary (35)); 6 25 declare window_$get_unechoed_chars 6 26 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 6 27 fixed binary (35)); 6 28 declare window_$insert_text entry (pointer, character (*), fixed binary (35)); 6 29 declare window_$overwrite_text 6 30 entry (pointer, character (*), fixed binary (35)); 6 31 declare window_$position_cursor 6 32 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 6 33 6 34 /* Call window_$position_cursor_rel (iocb_ptr, delta_line, delta_column, code); */ 6 35 6 36 declare window_$position_cursor_rel 6 37 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 6 38 6 39 /* Call window_$scroll_region (iocb_ptr, first_line_of_region, n_lines_of_region, distance_to_scroll_region_negative_is_up, 6 40* code); */ 6 41 6 42 declare window_$scroll_region 6 43 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary (35)); 6 44 declare window_$sync entry (pointer, fixed binary (35)); 6 45 6 46 /* Call window_$write_raw_text (iocb_ptr, text_string, code); */ 6 47 6 48 declare window_$write_raw_text 6 49 entry (pointer, character (*), fixed binary (35)); 6 50 6 51 /* Call window_$write_sync_read (iocb_ptr, prompt_string, n_to_read, read_buffer, n_read, break_char, code); */ 6 52 6 53 declare window_$write_sync_read 6 54 entry (pointer, character (*), fixed bin (21), character (*), fixed binary (21), 6 55 character (1) var, fixed binary (35)); 6 56 6 57 /* Call window_$change_line (iocb_ptr, new_line, code); */ 6 58 6 59 declare window_$change_line entry (pointer, fixed binary, fixed binary (35)); 6 60 6 61 /* Call window_$change_column (iocb_ptr, new_column, code); */ 6 62 6 63 declare window_$change_column 6 64 entry (pointer, fixed binary, fixed binary (35)); 6 65 6 66 /* Call window_$get_one_unechoed (iocb_ptr, char_or_len_0, block_flag, code); */ 6 67 declare ( 6 68 window_$get_one_unechoed, 6 69 window_$get_one_unechoed_char 6 70 ) entry (pointer, character (1) var, bit (1) aligned, fixed binary (35)); 6 71 6 72 declare window_$create entry (pointer, pointer, pointer, fixed binary (35)); 6 73 6 74 declare window_$destroy entry (pointer, fixed binary (35)); 6 75 6 76 declare window_$edit_line entry (pointer, pointer, pointer, fixed bin(21), fixed bin(21), fixed bin(35)); 6 77 6 78 /* call window_$edit_line (iocb_ptr, window_edit_line_info_ptr, buffer_ptr, 6 79* buffer_len, n_returned, code); */ 6 80 6 81 6 82 /* end include file window_dcls.incl.pl1 */ 108 109 7 1 /* BEGIN INCLUDE FILE xmail_help_infos.incl.pl1 */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(85-03-06,Backs), approve(86-03-06,MCR7358), 7 5* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 7 6* Modified to add date info. 7 7* END HISTORY COMMENTS */ 7 8 7 9 /* Created 06/18/81 by Suzanne Krupp */ 7 10 7 11 /* Help files and info entry points. */ 7 12 7 13 dcl (PROMPT_REPLIES_HELP char(28) init("xmail_prompt_replies.gi.info"), 7 14 GENERAL_HELP_HELP char(26) init("xmail_general_help.gi.info"), 7 15 GETTING_STARTED_HELP char(29) init("xmail_getting_started.gi.info"), 7 16 INITIAL_HELP char(26) init("xmail_initial_help.gi.info"), 7 17 MULTICS_MODE_HELP char(27) init("xmail_multics_mode_.gi.info"), 7 18 REVIEW_DEFAULTS_HELP char(29) init("xmail_Review_Defaults.gi.info")) 7 19 int static options(constant); 7 20 7 21 dcl (CREATE_MFILE_INFO char(19) init("creating_mail_files"), /* Prompt Infos */ 7 22 DEL_MSG_SELECT_INFO char(23) init("which_discarded_message"), 7 23 SEARCH_STR_INFO char(14) init("search_string"), 7 24 MSG_SELECT_INFO char(14) init("which_message"), 7 25 USE_SPEC_SET_INFO char(12) init("use_spec_set"), 7 26 GETTING_HELP_INFO char(12) init("getting_help"), 7 27 DATE_INFO char(14) init("date_selection"), 7 28 MORE_HELP_INFO char(9) init("more_help")) 7 29 int static options(constant); 7 30 7 31 /* END INCLUDE FILE ... xmail_help_infos.incl.pl1 */ 110 111 8 1 /* BEGIN INCLUDE FILE xmail_responses.incl.pl1 */ 8 2 8 3 /****^ HISTORY COMMENTS: 8 4* 1) change(86-02-07,Blair), approve(86-03-06,MCR7358), 8 5* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 8 6* 85-03-05 JG Backs: Modified to add a response of date. 8 7* 85-03-11 JG Backs: Modified to add short forms of keywords (a,l,p,f). 8 8* 85-03-14 JG Backs: Modified to add ASK, SET, and S. 8 9* 2) change(86-02-07,Blair), approve(86-03-06,MCR7358), 8 10* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 8 11* Modify to add SEEN and UNSEEN. 8 12* END HISTORY COMMENTS */ 8 13 8 14 /* Created 06/17/81 by Suzanne Krupp */ 8 15 8 16 dcl (QUESTION char(1) init("?"), 8 17 LIST char(2) init("??"), 8 18 A char(1) init("a"), 8 19 ALL char(3) init("all"), 8 20 ASK char(3) init("ask"), 8 21 DATE char(4) init("date"), 8 22 F char(1) init("f"), 8 23 FIRST char(5) init("first"), 8 24 L char(1) init("l"), 8 25 LAST char(4) init("last"), 8 26 N char (1) init ("n"), 8 27 NO char(2) init("no"), 8 28 NEXT char(4) init("next"), 8 29 NEW char(3) init("new"), 8 30 P char(1) init("p"), 8 31 PREV char(4) init("prev"), 8 32 S char(1) init("s"), 8 33 SEEN char (4) init("seen"), 8 34 SET char(3) init("set"), 8 35 SEARCH char(6) init("search"), 8 36 UNSEEN char (6) init("unseen"), 8 37 Y char (1) init ("y"), 8 38 YES char(3) init("yes")) 8 39 int static options(constant); 8 40 8 41 /* END INCLUDE FILE ... xmail_responses.incl.pl1 */ 112 113 114 end xmail_display_menu_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/02/88 0749.3 xmail_display_menu_.pl1 >spec>install>MR12.2-1098>xmail_display_menu_.pl1 100 1 03/19/81 1206.8 mode_string_info.incl.pl1 >ldd>include>mode_string_info.incl.pl1 102 2 09/02/88 0743.4 xmail_data.incl.pl1 >spec>install>MR12.2-1098>xmail_data.incl.pl1 104 3 12/02/84 1132.9 xmail_windows.incl.pl1 >ldd>include>xmail_windows.incl.pl1 3-14 4 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 106 5 03/27/82 0429.3 menu_dcls.incl.pl1 >ldd>include>menu_dcls.incl.pl1 108 6 09/12/84 0916.7 window_dcls.incl.pl1 >ldd>include>window_dcls.incl.pl1 110 7 05/28/86 1117.7 xmail_help_infos.incl.pl1 >ldd>include>xmail_help_infos.incl.pl1 112 8 05/28/86 1117.7 xmail_responses.incl.pl1 >ldd>include>xmail_responses.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. NAME 000000 constant char(19) initial packed unaligned dcl 39 set ref 63* actual_menu_rqmts 000334 automatic structure level 1 dcl 69 set ref 80 80 addr builtin function dcl 27 ref 57 57 80 80 auto_mode_value 000100 automatic structure level 1 unaligned dcl 28 set ref 57 57 bottom 32 000030 external static structure level 2 dcl 3-5 char_value 13 000100 automatic varying char(32) level 2 dcl 28 set ref 59 code parameter fixed bin(35,0) dcl 24 set ref 20 42* 54* 55 57* 58 63* 80* 81 83* 86* 87 90* 92 95 extent 27 000030 external static structure level 4 dcl 3-5 iocb 32 000030 external static pointer level 3 dcl 3-5 set ref 54* 59* iox_$modes 000010 constant entry external dcl 31 ref 54 lines_needed 1 000334 automatic fixed bin(17,0) level 2 dcl 69 set ref 90* menu 22 000030 external static structure level 2 dcl 3-5 menu_$describe 000032 constant entry external dcl 5-35 ref 80 menu_requirements based structure level 1 dcl 5-88 menu_requirements_version_1 constant fixed bin(17,0) initial dcl 5-97 ref 79 menup parameter pointer dcl 25 set ref 20 80* mode_str 000126 automatic char(512) packed unaligned dcl 29 set ref 54* 57* mode_string_$get_mode 000012 constant entry external dcl 32 ref 57 mode_value based structure level 1 dcl 1-16 mode_value_version_3 constant fixed bin(17,0) initial dcl 1-30 ref 56 position 24 000030 external static structure level 3 dcl 3-5 sw_no_lines parameter fixed bin(17,0) dcl 23 set ref 20 86* version 000100 automatic fixed bin(17,0) level 2 in structure "auto_mode_value" dcl 28 in procedure "xmail_display_menu_" set ref 56* version 000334 automatic fixed bin(17,0) level 2 in structure "actual_menu_rqmts" dcl 69 in procedure "DISPLAY" set ref 79* width 27 000030 external static fixed bin(17,0) level 5 dcl 3-5 ref 83 width_needed 2 000334 automatic fixed bin(17,0) level 2 dcl 69 set ref 83 window_$clear_to_end_of_window 000034 constant entry external dcl 6-11 ref 59 window_position_info based structure level 1 unaligned dcl 4-25 xmail_err_$insuff_room_for_window 000036 external static fixed bin(35,0) dcl 71 ref 83 xmail_error_$code_last 000026 constant entry external dcl 38 ref 63 xmail_redisplay_$menu 000046 constant entry external dcl 77 ref 92 xmail_redisplay_$status_window 000044 constant entry external dcl 76 ref 89 xmail_sw_$redisplay 000024 constant entry external dcl 37 ref 50 xmail_sw_$update_file 000014 constant entry external dcl 33 ref 46 xmail_sw_$update_file_info 000016 constant entry external dcl 34 ref 47 xmail_sw_$update_position 000020 constant entry external dcl 35 ref 48 xmail_sw_$update_usage 000022 constant entry external dcl 36 ref 49 xmail_window_info_format based structure level 1 dcl 3-10 xmail_window_manager_$set_menu_window_size 000040 constant entry external dcl 73 ref 90 xmail_window_manager_$set_sw_size 000042 constant entry external dcl 74 ref 86 xmail_windows 000030 external static structure level 1 dcl 3-5 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A internal static char(1) initial packed unaligned dcl 8-16 ALL internal static char(3) initial packed unaligned dcl 8-16 ASK internal static char(3) initial packed unaligned dcl 8-16 CREATE_MFILE_INFO internal static char(19) initial packed unaligned dcl 7-21 DATE internal static char(4) initial packed unaligned dcl 8-16 DATE_INFO internal static char(14) initial packed unaligned dcl 7-21 DEL_MSG_SELECT_INFO internal static char(23) initial packed unaligned dcl 7-21 F internal static char(1) initial packed unaligned dcl 8-16 FIRST internal static char(5) initial packed unaligned dcl 8-16 GENERAL_HELP_HELP internal static char(26) initial packed unaligned dcl 7-13 GETTING_HELP_INFO internal static char(12) initial packed unaligned dcl 7-21 GETTING_STARTED_HELP internal static char(29) initial packed unaligned dcl 7-13 INITIAL_HELP internal static char(26) initial packed unaligned dcl 7-13 L internal static char(1) initial packed unaligned dcl 8-16 LAST internal static char(4) initial packed unaligned dcl 8-16 LIST internal static char(2) initial packed unaligned dcl 8-16 MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 5-100 MORE_HELP_INFO internal static char(9) initial packed unaligned dcl 7-21 MSG_SELECT_INFO internal static char(14) initial packed unaligned dcl 7-21 MULTICS_MODE_HELP internal static char(27) initial packed unaligned dcl 7-13 N internal static char(1) initial packed unaligned dcl 8-16 NEW internal static char(3) initial packed unaligned dcl 8-16 NEXT internal static char(4) initial packed unaligned dcl 8-16 NO internal static char(2) initial packed unaligned dcl 8-16 P internal static char(1) initial packed unaligned dcl 8-16 PREV internal static char(4) initial packed unaligned dcl 8-16 PROMPT_REPLIES_HELP internal static char(28) initial packed unaligned dcl 7-13 QUESTION internal static char(1) initial packed unaligned dcl 8-16 REVIEW_DEFAULTS_HELP internal static char(29) initial packed unaligned dcl 7-13 S internal static char(1) initial packed unaligned dcl 8-16 SEARCH internal static char(6) initial packed unaligned dcl 8-16 SEARCH_STR_INFO internal static char(14) initial packed unaligned dcl 7-21 SEEN internal static char(4) initial packed unaligned dcl 8-16 SET internal static char(3) initial packed unaligned dcl 8-16 UNSEEN internal static char(6) initial packed unaligned dcl 8-16 USE_SPEC_SET_INFO internal static char(12) initial packed unaligned dcl 7-21 Y internal static char(1) initial packed unaligned dcl 8-16 YES internal static char(3) initial packed unaligned dcl 8-16 break_table_info based structure level 1 dcl 4-76 break_table_info_version internal static fixed bin(17,0) initial dcl 4-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 4-80 break_table_ptr automatic pointer dcl 4-75 get_editor_key_bindings_info based structure level 1 dcl 4-151 get_editor_key_bindings_info_ptr automatic pointer dcl 4-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 4-160 line_editor_binding_count automatic fixed bin(17,0) dcl 4-121 line_editor_key_binding_info based structure level 1 dcl 4-129 line_editor_key_binding_info_ptr automatic pointer dcl 4-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 4-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 4-123 menu_$create 000000 constant entry external dcl 5-8 menu_$delete 000000 constant entry external dcl 5-61 menu_$destroy 000000 constant entry external dcl 5-41 menu_$display 000000 constant entry external dcl 5-20 menu_$get_choice 000000 constant entry external dcl 5-26 menu_$list 000000 constant entry external dcl 5-67 menu_$retrieve 000000 constant entry external dcl 5-54 menu_$store 000000 constant entry external dcl 5-46 menu_format based structure level 1 dcl 5-76 menu_format_ptr automatic pointer dcl 5-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 5-97 menu_requirements_ptr automatic pointer dcl 5-95 mode_string_info based structure level 1 dcl 1-9 mode_string_info_ptr automatic pointer dcl 1-14 mode_string_info_version_2 internal static fixed bin(17,0) initial dcl 1-30 mode_value_ptr automatic pointer dcl 1-6 more_handler_info based structure level 1 dcl 4-83 more_handler_info_ptr automatic pointer dcl 4-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 4-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 4-94 more_prompt_info based structure level 1 dcl 4-108 more_prompt_info_ptr automatic pointer dcl 4-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 4-114 more_responses_info based structure level 1 dcl 4-59 more_responses_info_ptr automatic pointer dcl 4-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 4-67 more_responses_version internal static fixed bin(17,0) initial dcl 4-67 number_of_modes automatic fixed bin(17,0) dcl 1-6 set_editor_key_bindings_info based structure level 1 dcl 4-162 set_editor_key_bindings_info_ptr automatic pointer dcl 4-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 4-172 token_characters_info based structure level 1 dcl 4-97 token_characters_info_ptr automatic pointer dcl 4-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 4-106 window_$bell 000000 constant entry external dcl 6-6 window_$change_column 000000 constant entry external dcl 6-63 window_$change_line 000000 constant entry external dcl 6-59 window_$clear_region 000000 constant entry external dcl 6-7 window_$clear_to_end_of_line 000000 constant entry external dcl 6-9 window_$clear_window 000000 constant entry external dcl 6-13 window_$create 000000 constant entry external dcl 6-72 window_$delete_chars 000000 constant entry external dcl 6-15 window_$destroy 000000 constant entry external dcl 6-74 window_$edit_line 000000 constant entry external dcl 6-76 window_$get_cursor_position 000000 constant entry external dcl 6-17 window_$get_echoed_chars 000000 constant entry external dcl 6-22 window_$get_one_unechoed 000000 constant entry external dcl 6-67 window_$get_one_unechoed_char 000000 constant entry external dcl 6-67 window_$get_unechoed_chars 000000 constant entry external dcl 6-25 window_$insert_text 000000 constant entry external dcl 6-28 window_$overwrite_text 000000 constant entry external dcl 6-29 window_$position_cursor 000000 constant entry external dcl 6-31 window_$position_cursor_rel 000000 constant entry external dcl 6-36 window_$scroll_region 000000 constant entry external dcl 6-42 window_$sync 000000 constant entry external dcl 6-44 window_$write_raw_text 000000 constant entry external dcl 6-48 window_$write_sync_read 000000 constant entry external dcl 6-53 window_edit_line_info based structure level 1 unaligned dcl 4-177 window_edit_line_info_ptr automatic pointer dcl 4-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 4-183 window_position_info_ptr automatic pointer dcl 4-37 window_position_info_version internal static fixed bin(17,0) initial dcl 4-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 4-35 window_status_info based structure level 1 dcl 4-45 window_status_info_ptr automatic pointer dcl 4-43 window_status_version internal static fixed bin(17,0) initial dcl 4-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 4-52 xmail_data based structure level 1 dcl 2-54 xmail_data_ptr external static pointer initial dcl 2-52 xmail_version internal static varying char(10) initial dcl 2-84 NAMES DECLARED BY EXPLICIT CONTEXT. DISPLAY 000310 constant entry internal dcl 67 ref 52 ERROR 000254 constant label dcl 63 ref 55 58 81 95 MAIN 000055 constant label dcl 42 xmail_display_menu_ 000050 constant entry external dcl 20 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 656 726 412 666 Length 1306 412 50 343 244 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_display_menu_ 280 external procedure is an external procedure. DISPLAY internal procedure shares stack frame of external procedure xmail_display_menu_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xmail_display_menu_ 000100 auto_mode_value xmail_display_menu_ 000126 mode_str xmail_display_menu_ 000334 actual_menu_rqmts DISPLAY THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. iox_$modes menu_$describe mode_string_$get_mode window_$clear_to_end_of_window xmail_error_$code_last xmail_redisplay_$menu xmail_redisplay_$status_window xmail_sw_$redisplay xmail_sw_$update_file xmail_sw_$update_file_info xmail_sw_$update_position xmail_sw_$update_usage xmail_window_manager_$set_menu_window_size xmail_window_manager_$set_sw_size THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. xmail_err_$insuff_room_for_window xmail_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 000044 42 000055 46 000057 47 000071 48 000104 49 000117 50 000132 52 000137 54 000140 55 000167 56 000172 57 000174 58 000230 59 000233 61 000253 63 000254 114 000307 67 000310 79 000311 80 000313 81 000331 83 000334 86 000344 87 000354 89 000357 90 000364 92 000376 95 000406 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved