COMPILATION LISTING OF SEGMENT xmail_Review_Defaults_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1129.45_Tue_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(86-01-07,Blair), approve(86-02-26,MCR7358), 16* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 17* 85-03-12 JG Backs: Split the Personalize Executive Mail menu into one 18* small menu with 3 options. Each of those options will display another 19* menu. The internal procedures for each of the original options plus new 20* options being added were changed to entrypoints to be executed by the new 21* menu modules: xmail_Review_Printing_.pl1, xmail_Review_Outgoing_.pl1, and 22* xmail_Review_Processing_.pl1. 23* 85-03-27 JG Backs: Deleted duplicate code in the different entrypoints 24* by using a call to internal procedure CHECK_VALUE_YN if valid responses 25* to options are yes, no, or ask. Modified CHECK_VALUE_YN to allow case 26* insensitive responses, as well as "ask" and "a" as valid responses if flag 27* is set. Moved ASK, A, SET, and S constants to xmail_responses.incl.pl1. 28* Added input parameters of option names to the entrypoints and additional 29* info names to support the new options. 30* 85-04-17 JG Backs: Replaced all the Message Facility commands 31* (accept_messages, defer_messages, print_messages) with calls to the new 32* xmail_im_mgr_ module which uses the new Message Facility entrypoints for 33* these functions. 34* 2) change(86-01-07,Blair), approve(86-02-26,MCR7358), 35* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 36* 85-04-19 JG Backs: Modified multics_mode entrypoint to get the value of 37* always_escape_yn after the multics mode option is changed, in case the 38* default for function keys has to change because of the new # of function 39* keys needed. Introduced bug when creating entrypoint from procedure. 40* It was getting the multics_mode_yn value instead. 41* 85-04-25 JG Backs: Created new entrypoints related to getting the new 42* values for each of the printing options: get_new_header, get_new_station, 43* get_new_destination, get_new_copies, get_new_margin, get_new_notify. 44* xmail_print_ will call these to obtain new values and not change the 45* values in the value segment permanently. Modified the existing 46* entrypoints for the printing options to also call the new ones to keep 47* the interface consistant for the user. 48* 85-04-26 JG Backs: Modified get_new_notify entrypoint to translate and 49* test the new value instead of the old value. Modified get_new_station 50* to test the new value for a valid request_type, instead of changing the 51* old value. No changes to the old value should occur during get_new.... 52* entrypoints. Bugfixes. 53* 3) change(86-01-07,Blair), approve(86-02-26,MCR7358), 54* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 55* Modified include_original entrypoint to ask if the original should be 56* displayed in the upper window. The new value name is ORIGINAL_UP_WINDOW_YN. 57* 4) change(87-01-16,Blair), approve(87-02-05,MCR7618), 58* audit(87-04-14,RBarstad), install(87-04-26,MR12.1-1025): 59* Make a new entry for including interactive messages in the mailbox. 60* MSGS_AS_MAIL. 61* 5) change(88-06-27,Blair), approve(88-07-27,MCR7959), 62* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 63* Allow full_name to be changed when the xmail_data.value seg is in the 64* pdir. 65* END HISTORY COMMENTS */ 66 67 68 xmail_Review_Defaults_: proc; 69 70 /* BEGIN DESCRIPTION 71* 72*function: This procedure provides the xmail user with a menu for the 73* purpose of inspecting and updating default values which control 74* aspects of the operation of xmail. 75* 76*history: 77* 78* Written 7/16/81 by Paul Kyzivat 79* 80* Modified by R. Ignagni Oct 1981 to add REVIEW_ACKNOWLEDGE 81* 82* Extensively modified by R. Ignagni 3/4/82 83* 84* 83-08-08 DJ Schimke: Changed all references of Person_id.xmail to 85* Person_id.mlsys. These references are in the delegation of authority code 86* which is not used in this version, but may be used in the future. Deleted 87* unreferenced variables and declared addr, before, index, rtrim and verify 88* builtins. 89* 90* 83-09-14 DJ Schimke: Modified to allow "y", "n", and "a" as well as "yes", 91* "no", and "ask" as legal values for the YES/NO/ASK type options. TR12009 92* 93* 83-09-16 DJ Schimke: Modified the printout station code to allow the 94* keyword "default" which returns the printout station to the original 95* site default by deleting the option from the value seg. phx13205 96* 97* 83-10-10 DJ Schimke: replaced the calls to xmail_get_line with calls to 98* xmail_get_str_ which also handles the help function code. 99* 100* 83-11-23 DJ Schimke: Added a new personalization option "Outgoing Savefile" 101* which allows selection of where to file save messages. This also solves the 102* discrepancy between the different actions resulting from setting "Save 103* Outgoing Messages" to "yes" vs never having set "Save Outgoing Messages". 104* The former always saved to "outgoing" while the latter always asked where. 105* 106* 83-12-07 DJ Schimke Modified the code to report an error on a non-zero code 107* from xmail_value_$get since the defaults for "Save-Outgoing-Messages", 108* "Outgoing-Savefile", and "Acknowledge" are now guaranteed to exist by the 109* code in xmail_dir_manager_. Temporarily removed the "Outgoing Savefile" 110* option. It will not be available until the MR11.0 release. 111* 112* 84-02-17 DJ Schimke: Reinstated the new option "Save-Outgoing-Messages" 113* for EXL version 2.1. 114* 115* 84-07-03 DJ Schimke: Modified the call to xmail_create_menu_ to add the 116* N_COLUMNS parameter. 117* 118* 84-09-04 JG Backs: Modified to add 6 new personalization options to the 119* menu and 6 new internal procedures to handle the options. 120* 121* 84-09-19 JG Backs: Added function_key_data and terminal_info include files 122* to define the structures for function keys when changing from escape 123* sequences to function keys. 124* 125* 84-09-24 JG Backs: Added "-brief" control argument to print_messages 126* command so the message "You have no messages" would not print. This is to 127* make xmail compatible with the new message facility for mr11. 128* 129* 84-10-02 JG Backs: Added a test in REVIEW_INTERACTIVE_MSGS proc so that 130* when a user sets the option to no, the call to print messages will not 131* be executed if the user had invoked xmail with the "-nim" argument. 132* 133* 84-11-07 JG Backs: Made the user messages clearer and more consistant 134* when the new personalize options are chosen and lengthened the name of 135* the terminal info structure to this_terminal_info. Also removed duplicate 136* constants, used in determining values from the xmail value segment, by 137* using rtrim on the info constants. Added a trailing underscore to the 138* call and declaration of module xmail_default_fkeys_. Audit change. 139* 140* 141* 142*END DESCRIPTION 143**/ 144 145 /* AUTOMATIC */ 146 147 dcl answer_yn char (3) var; /* value yes, no, or ask */ 148 dcl changed_value bit (1) aligned; 149 dcl choice fixed bin; 150 dcl code fixed bin (35); 151 dcl create bit (1) aligned; 152 dcl dir char (168); 153 dcl display_needed bit (1) aligned; 154 dcl exists bit (1) aligned; 155 dcl generic_type char (32); 156 dcl new_full_name char (32); /* contents of full name */ 157 dcl prefix char (32) var; 158 dcl prompt_string char (200) var; 159 dcl response char (200) varying; 160 dcl response_bin fixed bin; /* binary number of copies or left margin spaces */ 161 dcl save_mailbox char (32) varying; 162 dcl status fixed bin (35); 163 dcl unused_return_length fixed bin; 164 dcl use_default_fkeys bit (1) aligned; /* flag for escape */ 165 dcl user_copies char (2); /* number of copies to print */ 166 dcl user_destination char (24); 167 dcl user_header char (64); 168 dcl user_lmargin char (2); /* number of spaces to indent left margin when printing */ 169 dcl user_notify char (3); /* value yes or no */ 170 dcl user_request_type char (24); 171 dcl value_name char (32) var; /* name in xmail value segment */ 172 dcl valid bit (1) aligned; 173 dcl yes_sw bit (1) aligned; 174 175 dcl 1 this_terminal_info like terminal_info;/* this session */ 176 177 /* CONSTANTS */ 178 179 dcl ACCEPT_NEW bit (1) aligned int static options (constant) init ("1"b); 180 dcl ACCEPT_OLD bit (1) aligned int static options (constant) init ("1"b); 181 dcl COPIES_LIMIT fixed bin int static options (constant) init (30); 182 dcl COPIES_NO_GOOD char (46) int static options (constant) init ("You may only enter a number from 1 through 30."); 183 dcl EIGHT_FKEYS fixed bin int static options (constant) init (8); 184 dcl FULL_MAILFILE_SUFFIX char (7) int static options (constant) init (".sv.mbx"); 185 dcl FULL_NAME char (11) int static options (constant) init ("full_name._"); 186 dcl LOG char (1) int static options (constant) init ("l"); 187 dcl LOWERCASE_YN_ASK char (8) int static options (constant) init ("yesnoask"); 188 dcl MAILFILE_SUFFIX char (6) int static options (constant) init ("sv.mbx"); 189 dcl MARGIN_LIMIT fixed bin int static options (constant) init (20); 190 dcl MARGIN_NO_GOOD char (46) int static options (constant) init ("You may only enter a number from 0 through 20."); 191 dcl NAME init ("xmail_Review_Defaults_") char (22) int static options (constant); 192 dcl N_COLUMNS fixed bin int static options (constant) init (2); 193 dcl NUMERICS char (10) int static options (constant) init ("0123456789"); 194 dcl ( 195 /*** names of infos ***/ 196 /* PRINTING_QUESTION init ("printing_question"), not used, retained for documentation 197* OUTGOING_QUESTION init ("outgoing_question"), not used, retained for documentation 198* PROCESSING_QUESTION init ("processing_question"), not used, retained for documentation */ 199 HEADER_QUESTION init ("heading_question"), 200 DESTINATION_QUESTION init ("destination_question"), 201 STATION_QUESTION init ("station_question"), 202 LONG_DESTINATION init ("destination_too_long"), 203 LONG_HEADER init ("heading_too_long"), 204 LONG_NAME init ("full_name_too_long"), 205 RQT_TOO_LONG init ("station_name_too_long"), 206 RQT_UNKNOWN init ("unknown_station"), 207 RQT_NOT_PRINT init ("wrong_type_station"), 208 ACKNOWLEDGE_YN init ("acknowledge_yn"), 209 ALWAYS_ESCAPE_YN init ("always_escape_keys_yn"), 210 CONFIRM_PRINT_YN init ("confirm_print_yn"), 211 COPIES_QUESTION init ("copies_question"), 212 FULL_NAME_QUESTION init ("full_name_question"), 213 INTERACTIVE_MSGS_YN init ("interactive_msgs_yn"), 214 LISTS_AS_MENUS_YN init ("lists_as_menus_yn"), 215 LEFT_MARGIN_QUESTION init ("left_margin_question"), 216 MULTICS_MODE_YN init ("multics_mode_yn"), 217 NOTIFY_YN init ("notify_yn"), 218 REMOVE_MENUS_YN init ("remove_menus_yn"), 219 SAVE_MESSAGE_YN init ("save_message_yn"), 220 FILE_ORIGINAL_YN init ("file_original_yn"), 221 INCLUDE_ORIGINAL_YN init ("include_original_yn"), 222 ORIGINAL_UP_WINDOW_YN init ("original_up_window_yn"), 223 SAVE_MAILBOX_HELP init ("save_mailfile"), 224 MSGS_AS_MAIL_YN init ("msgs_as_mail_yn") 225 ) char (32) int static options (constant); 226 dcl OPTION_NAMES int static options (constant) init ( 227 "Printing Options", 228 "Outgoing Message Options", 229 "Processing Options" 230 ) dim (3) char (28) var; 231 dcl PERMANENT bit (36) aligned int static options (constant) init ("01"b); 232 dcl PERPROCESS bit (36) aligned int static options (constant) init ("10"b); 233 dcl SEVEN_FKEYS fixed bin int static options (constant) init (7); 234 dcl TITLE init ("Personalize Executive Mail") char (26) 235 int static options (constant); 236 dcl UPPERCASE_YN_ASK char (8) int static options (constant) init ("YESNOASK"); 237 238 /* EXTERNAL STATIC */ 239 240 dcl iox_$user_io ptr ext static; 241 dcl iox_$user_output ptr ext static; 242 dcl xmail_err_$help_requested ext static fixed bin (35); 243 dcl xmail_err_$exit_now ext static fixed bin (35); 244 dcl error_table_$oldnamerr fixed bin (35) ext static; 245 dcl error_table_$no_w_permission fixed bin(35) ext static; 246 dcl error_table_$bad_conversion fixed bin (35) ext static; 247 248 /* INTERNAL STATIC */ 249 250 dcl menu int static ptr init (null); 251 252 /* ENTRIES */ 253 254 dcl ioa_ entry options (variable); 255 dcl ioa_$rsnnl entry options (variable); 256 dcl iod_info_$generic_type entry (char (*), char (32), fixed bin (35)); 257 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 258 dcl mlsys_utils_$create_savebox entry (char (*), char (*), fixed bin (35)); 259 dcl ttt_info_$function_key_data entry (char (*), ptr, ptr, fixed bin (35)); 260 dcl value_$get entry () options (variable); 261 dcl value_$set entry () options (variable); 262 dcl xmail_create_menu_ entry (char (*), (*) char (*) var, fixed bin, ptr, fixed bin (35)); 263 dcl xmail_default_fkeys_ entry () returns (ptr); 264 dcl xmail_display_help_ entry (char (*), char (*), fixed bin (35)); 265 dcl xmail_error_$code_first entry () options (variable); 266 dcl xmail_error_$no_code entry () options (variable); 267 dcl xmail_get_choice_ entry (ptr, char (*), char (*), char (*), char (*), bit (1) aligned, char (*), fixed bin, fixed bin (35)); 268 dcl xmail_get_str_ entry (char (*) var, (*) char (*) var, char (*), char (*), char (*) var); 269 dcl xmail_get_str_$yes_no entry (char (*) var, bit (1) aligned); 270 dcl xmail_im_mgr_$defer_messages entry (); 271 dcl xmail_im_mgr_$print_messages entry (); 272 dcl xmail_im_mgr_$restore_original entry (); 273 dcl xmail_print_$get_heading entry (char (*), fixed bin (35)); 274 dcl xmail_print_$set_heading entry (char (*), fixed bin (35)); 275 dcl xmail_print_$get_destination entry (char (*), fixed bin (35)); 276 dcl xmail_print_$set_destination entry (char (*), fixed bin (35)); 277 dcl xmail_print_$get_request_type entry (char (*), fixed bin (35)); 278 dcl xmail_print_$set_request_type entry (char (*), fixed bin (35)); 279 dcl xmail_print_$get_copies entry (char (*), fixed bin (35)); 280 dcl xmail_print_$set_copies entry (char (*), fixed bin (35)); 281 dcl xmail_print_$get_left_margin entry (char (*), fixed bin (35)); 282 dcl xmail_print_$set_left_margin entry (char (*), fixed bin (35)); 283 dcl xmail_print_$get_notify entry (char (*), fixed bin (35)); 284 dcl xmail_print_$set_notify entry (char (*), fixed bin (35)); 285 dcl xmail_Review_Defaults_$get_new_copies entry (char (*), char (*) var, fixed bin); 286 dcl xmail_Review_Defaults_$get_new_destination entry (char (*), char (*) var); 287 dcl xmail_Review_Defaults_$get_new_header entry (char (*), char (*) var); 288 dcl xmail_Review_Defaults_$get_new_margin entry (char (*), char (*) var, fixed bin); 289 dcl xmail_Review_Defaults_$get_new_notify entry (char (*), char (*), char (*) var); 290 dcl xmail_Review_Defaults_$get_new_station entry (char (*), char (*) var); 291 dcl xmail_Review_Printing_ entry (); 292 dcl xmail_Review_Processing_ entry (); 293 dcl xmail_Review_Outgoing_ entry (); 294 dcl xmail_select_file_ entry (char (*), char (*), char (*), bit (1) aligned, bit (1) aligned, char (168), 295 char (32) var, bit (1) aligned, bit (1) aligned, fixed bin (35)); 296 dcl xmail_value_$delete entry (char (*), fixed bin (35)); 297 dcl xmail_value_$get entry (char (*), char (*) var, fixed bin (35)); 298 dcl xmail_value_$set entry (char (*), char (*) var, char (*) var, fixed bin (35)); 299 dcl xmail_window_manager_$reconnect entry options (variable); 300 301 /* CONDITIONS */ 302 303 dcl (conversion, program_interrupt, quit, size, xmail_redisplay_menu) condition; 304 305 /* BUILTINS */ 306 307 dcl (addr, convert, length, null, rtrim, translate, verify) builtin; 308 309 /* INCLUDE FILES */ 310 1 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 1 2* declarations for the menu_ subroutines MTB 493 1 3* James R. Davis 26 Jan 81 to 20 Februrary 81 1 4**/ 1 5 1 6 /* format: off */ 1 7 1 8 dcl menu_$create entry ( 1 9 (*) char (*) varying, /* input: choices */ 1 10 (*) char (*) varying, /* input: headers */ 1 11 (*) char (*) varying, /* input: trailers */ 1 12 pointer, /* input: to format info */ 1 13 (*) char (1) unal, /* input: keys to use */ 1 14 pointer, /* input: to area */ 1 15 pointer, /* input: to needs str. */ 1 16 pointer, /* to menu: output */ 1 17 fixed bin (35) /* code */ 1 18 ); 1 19 1 20 dcl menu_$display entry ( 1 21 pointer, /* window */ 1 22 pointer, /* menu */ 1 23 fixed bin (35) /* code */ 1 24 ); 1 25 1 26 dcl menu_$get_choice entry ( 1 27 pointer, /* window */ 1 28 pointer, /* menu */ 1 29 pointer, /* to function key info */ 1 30 bit (1) aligned, /* function key hi: output */ 1 31 fixed bin, /* output: selection number */ 1 32 fixed bin (35) /* output: code */ 1 33 ); 1 34 1 35 dcl menu_$describe entry ( 1 36 pointer, /* menu */ 1 37 pointer, /* needs */ 1 38 fixed bin (35) /* code */ 1 39 ); 1 40 1 41 dcl menu_$destroy entry ( 1 42 pointer, /* menu */ 1 43 fixed bin (35) /* code */ 1 44 ); 1 45 1 46 dcl menu_$store entry ( 1 47 character (*), 1 48 character (*), 1 49 character (*), 1 50 bit (1) aligned, 1 51 pointer, 1 52 fixed bin (35)); 1 53 1 54 dcl menu_$retrieve entry ( 1 55 character (*), 1 56 character (*), 1 57 character (*), 1 58 pointer, 1 59 pointer, 1 60 fixed bin (35)); 1 61 dcl menu_$delete entry ( 1 62 character (*), 1 63 character (*), 1 64 character (*), 1 65 fixed binary (35)); 1 66 1 67 dcl menu_$list entry ( 1 68 character (*), 1 69 character (*), 1 70 character (*), 1 71 pointer, 1 72 fixed bin, 1 73 pointer, 1 74 fixed bin (35)); 1 75 1 76 dcl 1 menu_format aligned based (menu_format_ptr), 1 77 2 version fixed bin, 1 78 2 constraints, 1 79 3 max_width fixed bin, 1 80 3 max_height fixed bin, 1 81 2 n_columns fixed bin, 1 82 2 flags, 1 83 3 center_headers bit (1) unal, 1 84 3 center_trailers bit (1) unal, 1 85 3 pad bit (34) unal, 1 86 2 pad_char char (1); 1 87 1 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 1 89 2 version fixed bin, 1 90 2 lines_needed fixed bin, 1 91 2 width_needed fixed bin, 1 92 2 n_options fixed bin; 1 93 1 94 dcl menu_format_ptr pointer; 1 95 dcl menu_requirements_ptr pointer; 1 96 1 97 dcl (menu_format_version_1, menu_requirements_version_1) 1 98 fixed bin internal static init (1) options (constant); 1 99 1 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 1 101 options (constant) init 1 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 1 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 1 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 1 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 1 106 1 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 311 312 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 */ 313 314 3 1 /* BEGIN INCLUDE FILE xmail_help_infos.incl.pl1 */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(85-03-06,Backs), approve(86-03-06,MCR7358), 3 5* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 6* Modified to add date info. 3 7* END HISTORY COMMENTS */ 3 8 3 9 /* Created 06/18/81 by Suzanne Krupp */ 3 10 3 11 /* Help files and info entry points. */ 3 12 3 13 dcl (PROMPT_REPLIES_HELP char(28) init("xmail_prompt_replies.gi.info"), 3 14 GENERAL_HELP_HELP char(26) init("xmail_general_help.gi.info"), 3 15 GETTING_STARTED_HELP char(29) init("xmail_getting_started.gi.info"), 3 16 INITIAL_HELP char(26) init("xmail_initial_help.gi.info"), 3 17 MULTICS_MODE_HELP char(27) init("xmail_multics_mode_.gi.info"), 3 18 REVIEW_DEFAULTS_HELP char(29) init("xmail_Review_Defaults.gi.info")) 3 19 int static options(constant); 3 20 3 21 dcl (CREATE_MFILE_INFO char(19) init("creating_mail_files"), /* Prompt Infos */ 3 22 DEL_MSG_SELECT_INFO char(23) init("which_discarded_message"), 3 23 SEARCH_STR_INFO char(14) init("search_string"), 3 24 MSG_SELECT_INFO char(14) init("which_message"), 3 25 USE_SPEC_SET_INFO char(12) init("use_spec_set"), 3 26 GETTING_HELP_INFO char(12) init("getting_help"), 3 27 DATE_INFO char(14) init("date_selection"), 3 28 MORE_HELP_INFO char(9) init("more_help")) 3 29 int static options(constant); 3 30 3 31 /* END INCLUDE FILE ... xmail_help_infos.incl.pl1 */ 315 316 4 1 /* BEGIN INCLUDE FILE xmail_responses.incl.pl1 */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-02-07,Blair), approve(86-03-06,MCR7358), 4 5* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 4 6* 85-03-05 JG Backs: Modified to add a response of date. 4 7* 85-03-11 JG Backs: Modified to add short forms of keywords (a,l,p,f). 4 8* 85-03-14 JG Backs: Modified to add ASK, SET, and S. 4 9* 2) change(86-02-07,Blair), approve(86-03-06,MCR7358), 4 10* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 4 11* Modify to add SEEN and UNSEEN. 4 12* END HISTORY COMMENTS */ 4 13 4 14 /* Created 06/17/81 by Suzanne Krupp */ 4 15 4 16 dcl (QUESTION char(1) init("?"), 4 17 LIST char(2) init("??"), 4 18 A char(1) init("a"), 4 19 ALL char(3) init("all"), 4 20 ASK char(3) init("ask"), 4 21 DATE char(4) init("date"), 4 22 F char(1) init("f"), 4 23 FIRST char(5) init("first"), 4 24 L char(1) init("l"), 4 25 LAST char(4) init("last"), 4 26 N char (1) init ("n"), 4 27 NO char(2) init("no"), 4 28 NEXT char(4) init("next"), 4 29 NEW char(3) init("new"), 4 30 P char(1) init("p"), 4 31 PREV char(4) init("prev"), 4 32 S char(1) init("s"), 4 33 SEEN char (4) init("seen"), 4 34 SET char(3) init("set"), 4 35 SEARCH char(6) init("search"), 4 36 UNSEEN char (6) init("unseen"), 4 37 Y char (1) init ("y"), 4 38 YES char(3) init("yes")) 4 39 int static options(constant); 4 40 4 41 /* END INCLUDE FILE ... xmail_responses.incl.pl1 */ 317 318 5 1 /* Begin include file: xmail_windows.incl.pl1 */ 5 2 /* Created 6/24/81 by Paul Kyzivat */ 5 3 /* Mofified 6/20/84 by DJ Schimke to add the mm_status window */ 5 4 5 5 dcl 1 xmail_windows aligned external static, 5 6 2 initial_position fixed bin, 5 7 2 min_lines_needed fixed bin, 5 8 2 (status, mm_status, menu, bottom) aligned like xmail_window_info_format; 5 9 5 10 dcl 1 xmail_window_info_format aligned based, 5 11 2 iocb ptr, 5 12 2 position aligned like window_position_info; 5 13 6 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 6 2 /* format: style3 */ 6 3 6 4 /* Modified 26 January 1982 by William York to add the set_more_handler 6 5* and reset_more_handler control orders. */ 6 6 /* Modified October 1982 by WMY to add set and get_token_characters, 6 7* set and get_more_prompt. */ 6 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 6 9* structure. */ 6 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 6 11* partial screen width windows. */ 6 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 6 13* This should be removed when window_info.incl.pl1 is created. */ 6 14 /* Modified 29 February 1984 by Barmar to add version 1 6 15* get_editor_key_bindings_info. */ 6 16 /* Modified 1 March 1984 by Barmar to add version 1 6 17* set_editor_key_bindings_info. */ 6 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 6 19* line_editor_key_bindings_info, which includes the name, description, and 6 20* info path */ 6 21 6 22 /* structure for the set_window_info and get_window_info 6 23* control orders. */ 6 24 6 25 dcl 1 window_position_info 6 26 based (window_position_info_ptr), 6 27 2 version fixed bin, 6 28 2 origin, 6 29 3 column fixed bin, 6 30 3 line fixed bin, 6 31 2 extent, 6 32 3 width fixed bin, 6 33 3 height fixed bin; 6 34 6 35 dcl (window_position_info_version, window_position_info_version_1) 6 36 fixed bin internal static init (1) options (constant); 6 37 dcl window_position_info_ptr 6 38 pointer; 6 39 6 40 /* structure for the set_window_status and get_window_status 6 41* control orders */ 6 42 6 43 declare window_status_info_ptr 6 44 pointer; 6 45 declare 1 window_status_info 6 46 aligned based (window_status_info_ptr), 6 47 2 version fixed bin, 6 48 2 status_string bit (36) aligned; /* string (window_status) */ 6 49 /* see window_status.incl.pl1 for the contents of this string */ 6 50 6 51 6 52 declare (window_status_version, window_status_version_1) 6 53 fixed bin internal static init (1) options (constant); 6 54 6 55 /* info structure for the set_more_responses and get_more_responses control 6 56* orders */ 6 57 6 58 6 59 dcl 1 more_responses_info 6 60 aligned based (more_responses_info_ptr), 6 61 2 version fixed bin, 6 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 6 63 2 n_noes fixed bin, 6 64 2 yeses char (32) unaligned, 6 65 2 noes char (32) unaligned; 6 66 6 67 dcl (more_responses_info_version_1, more_responses_version) 6 68 fixed bin internal static init (1) options (constant); 6 69 dcl more_responses_info_ptr 6 70 pointer; 6 71 6 72 /* structure for the set_break_table and get_break_table 6 73* control orders */ 6 74 6 75 declare break_table_ptr pointer; 6 76 declare 1 break_table_info aligned based (break_table_ptr), 6 77 2 version fixed bin, 6 78 2 breaks (0:127) bit (1) unaligned; 6 79 6 80 declare (break_table_info_version, break_table_info_version_1) 6 81 fixed bin init (1) internal static options (constant); 6 82 6 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 6 84 2 version fixed bin, 6 85 2 flags unaligned, 6 86 3 old_handler_valid 6 87 bit(1), 6 88 3 pad bit(35), 6 89 2 more_handler entry (pointer, bit(1) aligned), 6 90 2 old_more_handler entry (pointer, bit(1) aligned); 6 91 6 92 declare more_handler_info_ptr pointer; 6 93 6 94 declare (more_handler_info_version, more_handler_info_version_3) 6 95 fixed bin internal static options (constant) init (3); 6 96 6 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 6 98 2 version char(8), 6 99 2 token_character_count 6 100 fixed bin, 6 101 2 token_characters 6 102 char (128) unaligned; 6 103 6 104 declare token_characters_info_ptr pointer; 6 105 6 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 6 107 6 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 6 109 2 version char(8), 6 110 2 more_prompt char(80); 6 111 6 112 declare more_prompt_info_ptr pointer; 6 113 6 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 6 115 6 116 /* Line editor stuff ... */ 6 117 6 118 dcl line_editor_key_binding_info_ptr 6 119 pointer; 6 120 6 121 dcl line_editor_binding_count 6 122 fixed bin; 6 123 dcl line_editor_longest_sequence 6 124 fixed bin; 6 125 /* For each binding, action defines what to do for that sequence. Constants 6 126* are defined in window_editor_values.incl.pl1. Only if action is set to 6 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 6 128 6 129 dcl 1 line_editor_key_binding_info 6 130 aligned based (line_editor_key_binding_info_ptr), 6 131 2 version char(8), 6 132 2 binding_count fixed bin, 6 133 2 longest_sequence fixed bin, 6 134 2 bindings (line_editor_binding_count refer 6 135 (line_editor_key_binding_info.binding_count)), 6 136 3 sequence char(line_editor_longest_sequence refer 6 137 (line_editor_key_binding_info.longest_sequence)) varying, 6 138 3 action fixed bin, 6 139 3 numarg_action fixed binary, 6 140 3 editor_routine entry (pointer, fixed bin(35)), 6 141 3 name char (64) varying unaligned, 6 142 3 description char (256) varying unaligned, 6 143 3 info_path unaligned, 6 144 4 info_dir char (168), 6 145 4 info_entry char (32); 6 146 6 147 6 148 dcl line_editor_key_binding_info_version_3 6 149 char(8) static options (constant) init ("lekbi003"); 6 150 6 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 6 152 2 version char (8), 6 153 2 flags, 6 154 3 entire_state bit (1) unaligned, 6 155 3 mbz bit (35) unaligned, 6 156 2 key_binding_info_ptr ptr, 6 157 2 entire_state_ptr ptr; 6 158 6 159 dcl get_editor_key_bindings_info_ptr ptr; 6 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 6 161 6 162 dcl 1 set_editor_key_bindings_info aligned 6 163 based (set_editor_key_bindings_info_ptr), 6 164 2 version char (8), 6 165 2 flags, 6 166 3 replace bit (1) unaligned, 6 167 3 update bit (1) unaligned, 6 168 3 mbz bit (34) unaligned, 6 169 2 key_binding_info_ptr ptr; 6 170 6 171 dcl set_editor_key_bindings_info_ptr ptr; 6 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 6 173 6 174 /* This should be moved to window_info.incl.pl1 when that include file is 6 175* created. JR 2/1/84 */ 6 176 6 177 dcl 1 window_edit_line_info 6 178 based (window_edit_line_info_ptr), 6 179 2 version char (8), 6 180 2 line_ptr ptr, 6 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 6 182 6 183 dcl window_edit_line_info_version_1 6 184 char (8) static options (constant) init ("wedl0001"); 6 185 6 186 dcl window_edit_line_info_ptr 6 187 ptr; 6 188 6 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 5 14 5 15 5 16 /* End include file: xmail_windows.incl.pl1 */ 319 320 7 1 /* begin include fine window_dcls.incl.pl1 BIM June 1981 */ 7 2 /* Modified 9 October 1983 by Jon A. Rochlis to add window_$edit_line. */ 7 3 7 4 /* format: style3 */ 7 5 7 6 declare window_$bell entry (pointer, fixed binary (35)); 7 7 declare window_$clear_region 7 8 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary, fixed binary (35)); 7 9 declare window_$clear_to_end_of_line 7 10 entry (pointer, fixed binary (35)); 7 11 declare window_$clear_to_end_of_window 7 12 entry (pointer, fixed binary (35)); 7 13 declare window_$clear_window 7 14 entry (pointer, fixed binary (35)); 7 15 declare window_$delete_chars 7 16 entry (pointer, fixed binary, fixed binary (35)); 7 17 declare window_$get_cursor_position 7 18 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 7 19 7 20 /* Call window_$get_echoed_chars (iocb_ptr, n_to_read, read_buffer, n_read, read_break, code); */ 7 21 7 22 declare window_$get_echoed_chars 7 23 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 7 24 fixed binary (35)); 7 25 declare window_$get_unechoed_chars 7 26 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 7 27 fixed binary (35)); 7 28 declare window_$insert_text entry (pointer, character (*), fixed binary (35)); 7 29 declare window_$overwrite_text 7 30 entry (pointer, character (*), fixed binary (35)); 7 31 declare window_$position_cursor 7 32 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 7 33 7 34 /* Call window_$position_cursor_rel (iocb_ptr, delta_line, delta_column, code); */ 7 35 7 36 declare window_$position_cursor_rel 7 37 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 7 38 7 39 /* Call window_$scroll_region (iocb_ptr, first_line_of_region, n_lines_of_region, distance_to_scroll_region_negative_is_up, 7 40* code); */ 7 41 7 42 declare window_$scroll_region 7 43 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary (35)); 7 44 declare window_$sync entry (pointer, fixed binary (35)); 7 45 7 46 /* Call window_$write_raw_text (iocb_ptr, text_string, code); */ 7 47 7 48 declare window_$write_raw_text 7 49 entry (pointer, character (*), fixed binary (35)); 7 50 7 51 /* Call window_$write_sync_read (iocb_ptr, prompt_string, n_to_read, read_buffer, n_read, break_char, code); */ 7 52 7 53 declare window_$write_sync_read 7 54 entry (pointer, character (*), fixed bin (21), character (*), fixed binary (21), 7 55 character (1) var, fixed binary (35)); 7 56 7 57 /* Call window_$change_line (iocb_ptr, new_line, code); */ 7 58 7 59 declare window_$change_line entry (pointer, fixed binary, fixed binary (35)); 7 60 7 61 /* Call window_$change_column (iocb_ptr, new_column, code); */ 7 62 7 63 declare window_$change_column 7 64 entry (pointer, fixed binary, fixed binary (35)); 7 65 7 66 /* Call window_$get_one_unechoed (iocb_ptr, char_or_len_0, block_flag, code); */ 7 67 declare ( 7 68 window_$get_one_unechoed, 7 69 window_$get_one_unechoed_char 7 70 ) entry (pointer, character (1) var, bit (1) aligned, fixed binary (35)); 7 71 7 72 declare window_$create entry (pointer, pointer, pointer, fixed binary (35)); 7 73 7 74 declare window_$destroy entry (pointer, fixed binary (35)); 7 75 7 76 declare window_$edit_line entry (pointer, pointer, pointer, fixed bin(21), fixed bin(21), fixed bin(35)); 7 77 7 78 /* call window_$edit_line (iocb_ptr, window_edit_line_info_ptr, buffer_ptr, 7 79* buffer_len, n_returned, code); */ 7 80 7 81 7 82 /* end include file window_dcls.incl.pl1 */ 321 322 8 1 /* BEGIN INCLUDE FILE ... function_key_data.incl.pl1 8 2* 8 3* This include file defines the structure used for ttt_info_$function_key_data 8 4* MCR 4671 James R. Davis Sept 80 8 5**/ 8 6 8 7 dcl 1 function_key_data aligned based (function_key_data_ptr), 8 8 2 version fixed bin, 8 9 2 highest fixed bin, /* highest fkey */ 8 10 2 sequence, /* string of all seqs. */ 8 11 3 seq_ptr pointer, 8 12 3 seq_len fixed bin (21), 8 13 2 cursor_motion_keys, 8 14 3 home (0:3) like key_info, 8 15 3 left (0:3) like key_info, 8 16 3 up (0:3) like key_info, 8 17 3 right (0:3) like key_info, 8 18 3 down (0:3) like key_info, 8 19 2 function_keys (0:function_key_data_highest refer 8 20 (function_key_data.highest), 0:3) like key_info; 8 21 8 22 dcl (KEY_PLAIN init (0), 8 23 KEY_SHIFT init (1), 8 24 KEY_CTRL init (2), 8 25 KEY_CTRL_AND_SHIFT init (3) 8 26 ) fixed bin internal static options (constant); 8 27 8 28 dcl 1 key_info unaligned based (key_info_ptr), 8 29 2 sequence_index fixed bin (12) unsigned unaligned, 8 30 2 sequence_length fixed bin (6) unsigned unaligned; /* 0 -> not exist */ 8 31 8 32 dcl function_key_seqs char (function_key_data.sequence.seq_len) 8 33 based (function_key_data.sequence.seq_ptr); 8 34 dcl function_key_data_ptr ptr; 8 35 dcl function_key_data_highest fixed bin; 8 36 dcl function_key_data_version_1 8 37 fixed bin internal static options (constant) init (1); 8 38 dcl key_info_ptr ptr; 8 39 8 40 8 41 /* END INCLUDE FILE ... function_key_data.incl.pl1 */ 323 324 9 1 /* BEGIN INCLUDE FiLE ... terminal_info.incl.pl1 */ 9 2 9 3 /* Created 5/25/77 by J. Stern */ 9 4 9 5 9 6 dcl 1 terminal_info aligned based (terminal_info_ptr), /* info structure for terminal_info order */ 9 7 2 version fixed bin, /* version number of this sturcture */ 9 8 2 id char (4) unaligned, /* terminal id from answerback */ 9 9 2 term_type char (32) unaligned, /* terminal type name */ 9 10 2 line_type fixed bin, /* line type number */ 9 11 2 baud_rate fixed bin, 9 12 2 reserved (4) fixed bin; /* reserved for future use */ 9 13 9 14 9 15 dcl terminal_info_ptr ptr; 9 16 dcl terminal_info_version fixed bin int static options (constant) init (1); /* current version */ 9 17 9 18 9 19 /* END INCLUDE FILE ... terminal_info.incl.pl1 */ 325 326 327 /* BEGIN */ 328 on condition (xmail_redisplay_menu) begin; 329 if menu ^= null 330 then call menu_$display (xmail_windows.menu.iocb, menu, (0)); 331 end; 332 333 if menu = null then do; 334 call xmail_create_menu_ (TITLE, OPTION_NAMES, N_COLUMNS, menu, code); 335 if code ^= 0 then call xmail_error_$no_code (status, NAME, "q", 336 "A programming error has been detected which prevents " || 337 "the use of the ^a menu.", TITLE); 338 339 end; 340 341 on condition (program_interrupt) go to START; 342 on condition (quit) begin; 343 call xmail_window_manager_$reconnect (); 344 go to START; 345 end; 346 347 call window_$clear_window (iox_$user_output, (0)); 348 call ioa_ (" "); 349 350 START: display_needed = "1"b; 351 do while ("1"b); 352 call xmail_get_choice_ (menu, "", "", "", xmail_data.normal_usage, 353 display_needed, "", choice, code); 354 display_needed = "0"b; 355 if code = 0 then call PERFORM_OPTION (choice, display_needed); 356 else if code = xmail_err_$help_requested then call EXPLAIN_OPTION (choice); 357 else if code = xmail_err_$exit_now then go to EXIT; 358 else call window_$bell (iox_$user_output, (0)); 359 end; 360 EXIT: return; 361 362 /* INTERNAL PROCEDURES */ 363 364 PERFORM_OPTION: proc (opt, redisplay); 365 366 /* PARAMETERS */ 367 368 dcl redisplay bit (1) aligned parameter; 369 dcl opt fixed bin parameter; 370 371 /* BEGIN PERFORM_OPTION */ 372 373 call window_$clear_window (iox_$user_output, (0)); 374 go to OPT (opt); 375 376 OPT (1): redisplay = "1"b; 377 call xmail_Review_Printing_; 378 go to OPT_EXIT; 379 380 OPT (2): redisplay = "1"b; 381 call xmail_Review_Outgoing_; 382 go to OPT_EXIT; 383 384 OPT (3): redisplay = "1"b; 385 call xmail_Review_Processing_; 386 go to OPT_EXIT; 387 388 OPT_EXIT: return; 389 end PERFORM_OPTION; 390 391 EXPLAIN_OPTION: proc (opt); 392 393 dcl opt fixed bin parameter; 394 395 call window_$clear_window (iox_$user_output, (0)); 396 call xmail_display_help_ (REVIEW_DEFAULTS_HELP, 397 translate (OPTION_NAMES (opt), "_", " "), 398 (0)); 399 400 end EXPLAIN_OPTION; 401 402 CHECK_VALUE_YN: proc (cvy_value_name, cvy_option_name, cvy_help_name, cvy_ask_sw); 403 404 /* Function: This procedure gets the value assigned to cvy_value_name, allows 405* the user to change it, and then sets the new value. Yes, no and 406* RETURN are the valid responses. If cvy_ask_sw is set, ask is also 407* a valid response. Values are from xmail_data.value segment. 408**/ 409 410 /* PARAMETERS */ 411 412 dcl cvy_value_name char (*); /* input */ 413 dcl cvy_option_name char (*); /* input */ 414 dcl cvy_help_name char (*); /* input */ 415 dcl cvy_ask_sw bit (1); /* input */ 416 417 /* BEGIN CHECK_VALUE_YN */ 418 419 changed_value = "0"b; 420 421 call xmail_value_$get (cvy_value_name, answer_yn, status); 422 if status ^= 0 423 then do; 424 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", cvy_option_name); 425 go to CHECK_VALUE_YN_EXIT; 426 end; 427 428 call ioa_ ("^a is currently set to: ^a", cvy_option_name, answer_yn); 429 call ioa_ ("You may now reset option " || 430 "or just press the RETURN key^/" || 431 " to leave it unchanged."); 432 valid = "0"b; 433 do while (^valid); 434 call ioa_$rsnnl (cvy_option_name || " ^[(enter ""yes"", ""no"", or ""ask"")^;(enter ""yes"" or ""no"")^]: ", prompt_string, unused_return_length, cvy_ask_sw); 435 436 call xmail_get_str_ (prompt_string, "", REVIEW_DEFAULTS_HELP, cvy_help_name, response); 437 438 /* Allowable responses are case insensitive yes, y, no, n, ??, ?, and RETURN, 439* plus a and ask if ask switch is set. */ 440 441 response = translate (response, LOWERCASE_YN_ASK, UPPERCASE_YN_ASK); 442 if response = Y then response = YES; 443 if response = N then response = NO; 444 if response = A then response = ASK; 445 if length (response) = 0 then valid = "1"b; 446 else if response = YES | response = NO 447 then valid = "1"b; 448 else if cvy_ask_sw & response = ASK /* allow ask */ 449 then valid = "1"b; 450 else if response = LIST 451 then call ioa_ ("^a is currently set to: ^a", cvy_option_name, answer_yn); 452 else do; 453 valid = "0"b; 454 if cvy_ask_sw 455 then call ioa_ ("You may only enter ""yes"", ""no"", or ""ask"", followed by a RETURN.^/ Enter ? if you need help."); 456 else call ioa_ ("You may only enter ""yes"" or ""no"", followed by a RETURN.^/ Enter ? if you need help."); 457 end; 458 end; /* end of do */ 459 460 if length (response) = 0 | response = answer_yn 461 then call ioa_ ("^a remains unchanged.", cvy_option_name); 462 else do; 463 call xmail_value_$set (cvy_value_name, (response), answer_yn, status); 464 if status = 0 465 then changed_value = "1"b; 466 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", cvy_option_name); 467 end; 468 469 CHECK_VALUE_YN_EXIT: 470 return; 471 472 end CHECK_VALUE_YN; 473 474 CHANGE_TO_DEFAULT_KEYS: proc (); 475 476 /* Function: Change from using function keys to using escape sequences. Free 477* the previous allocation pointer and call xmail_default_fkeys_ 478* module to allocate new structure. */ 479 480 /* BEGIN */ 481 482 free xmail_data.function_key_data_ptr -> function_key_data; 483 484 xmail_data.function_key_data_ptr = xmail_default_fkeys_ (); 485 xmail_data.normal_usage = "(For help, press ESC, then ""?"")"; 486 487 end CHANGE_TO_DEFAULT_KEYS; 488 489 TEST_AND_CHANGE_FUNCTION_KEYS: proc (); 490 491 /* Function: Check terminal data to make sure it can support the number of 492* function keys for this invocation of xmail. Free the previous 493* allocation pointer and use function_key_data structure if 494* possible. */ 495 496 /* BEGIN */ 497 498 use_default_fkeys = "0"b; 499 500 /* Get terminal data (function keys etc.). */ 501 502 this_terminal_info.version = terminal_info_version; 503 call iox_$control (iox_$user_io, "terminal_info", addr (this_terminal_info), code); 504 if code ^= 0 505 then call xmail_error_$no_code (code, NAME, "q", "Cannot get terminal info to change function keys"); 506 507 call ttt_info_$function_key_data (this_terminal_info.term_type, null, function_key_data_ptr, code); 508 if code ^= 0 509 then use_default_fkeys = "1"b; 510 else if function_key_data.highest < xmail_data.n_fkeys_used 511 then use_default_fkeys = "1"b; 512 513 if use_default_fkeys 514 then do; 515 free function_key_data_ptr -> function_key_data; 516 call CHANGE_TO_DEFAULT_KEYS; 517 call ioa_ ("WARNING: The terminal you are using does not support enough function keys."); 518 call ioa_ (" Escape sequences will be used during this session."); 519 end; 520 else do; 521 free xmail_data.function_key_data_ptr -> function_key_data; 522 xmail_data.function_key_data_ptr = function_key_data_ptr; 523 xmail_data.normal_usage = "(For help, press F1)"; 524 end; 525 526 527 end TEST_AND_CHANGE_FUNCTION_KEYS; 528 529 CONVERT: proc (c_value_char, c_value_bin, c_status); 530 531 /* 532* Converts a character value to a binary value so it can be tested 533* against limits. Used for copies and left margin. 534**/ 535 536 /* PARAMETERS */ 537 538 dcl c_value_char char (*) varying; /* input */ 539 dcl c_value_bin fixed bin; /* output binary */ 540 dcl c_status fixed bin (35); /* output */ 541 542 /* BEGIN */ 543 544 c_status = 0; 545 546 on conversion, size 547 c_status = error_table_$bad_conversion; 548 549 c_value_bin = convert (c_value_bin, c_value_char); 550 551 revert conversion, size; 552 return; 553 554 end CONVERT; 555 556 minus_suffix: proc (name, suffix) returns (char (*) var); 557 558 /* PARAMETERS */ 559 560 dcl name char (*); 561 dcl suffix char (*); 562 563 /* AUTOMATIC */ 564 565 dcl reverse_name char (length (name)) var; 566 dcl reverse_suffix char (length (suffix)) var; 567 568 /* BUILTINS */ 569 570 dcl (after, index, length, reverse, rtrim) builtin; 571 572 /* BEGIN minus_suffix */ 573 574 reverse_name = reverse (rtrim (name)); 575 reverse_suffix = reverse (rtrim (suffix)); 576 577 if index (reverse_name, reverse_suffix || ".") ^= 1 578 then return (name); 579 else return (reverse (after (reverse_name, reverse_suffix || "."))); 580 581 end minus_suffix; 582 583 /* ENTRYPOINTS */ 584 585 /* 586* The following are the entrypoints called to change the printing options 587* in the personalization menu. 588**/ 589 590 header: entry (h_option_name); 591 592 /* PARAMETERS */ 593 594 dcl h_option_name char (*); /* input option name */ 595 596 /* BEGIN */ 597 598 user_header = ""; 599 600 call xmail_print_$get_heading (user_header, status); 601 if status ^= 0 602 then do; 603 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", h_option_name); 604 go to header_exit; 605 end; 606 607 call xmail_Review_Defaults_$get_new_header (user_header, response); 608 609 if length (response) = 0 | response = user_header 610 then call ioa_ ("^a remains unchanged.", h_option_name); 611 else do; 612 user_header = response; 613 call xmail_print_$set_heading (user_header, status); 614 if status = 0 615 then call ioa_ ("The heading has been changed to: ^a", user_header); 616 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", h_option_name); 617 end; 618 619 header_exit: return; 620 621 get_new_header: entry (gnh_old_header, gnh_new_header); 622 623 /* 624* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 625* to allow the user to enter a new value. 626**/ 627 628 /* PARAMETERS */ 629 630 dcl gnh_old_header char (*); /* input */ 631 dcl gnh_new_header char (*) var;/* output */ 632 633 /* BEGIN */ 634 635 gnh_new_header = ""; 636 637 call ioa_ ("^[No heading has been defined to label hardcopy printouts.^;The heading used to label hardcopy printouts is: ^a", gnh_old_header = "", gnh_old_header); 638 639 call ioa_ ("You may now enter a new heading, " || 640 "or just press the RETURN key^/" || 641 " to leave it unchanged."); 642 valid = "0"b; 643 do while (^valid); 644 call xmail_get_str_ ("New header: ", "", REVIEW_DEFAULTS_HELP, HEADER_QUESTION, gnh_new_header); 645 if gnh_new_header = LIST 646 then call ioa_ ("^[There is no defined heading.^;The defined heading is: ^a^]", gnh_old_header = "", gnh_old_header); 647 else if length (gnh_new_header) > length (gnh_old_header) 648 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, LONG_HEADER, (0)); 649 else valid = "1"b; 650 end; 651 652 return; 653 654 655 destination: entry (d_option_name); 656 657 /* PARAMETERS */ 658 659 dcl d_option_name char (*); /* input option name */ 660 661 /* BEGIN */ 662 663 user_destination = ""; 664 665 call xmail_print_$get_destination (user_destination, status); 666 if status ^= 0 667 then do; 668 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", d_option_name); 669 go to destination_exit; 670 end; 671 672 call xmail_Review_Defaults_$get_new_destination (user_destination, response); 673 674 if length (response) = 0 | response = user_destination 675 then call ioa_ ("^a remains unchanged.", d_option_name); 676 else do; 677 user_destination = response; 678 call xmail_print_$set_destination (user_destination, status); 679 if status = 0 680 then call ioa_ ("The destination has been changed to: ^a", user_destination); 681 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", d_option_name); 682 end; 683 684 destination_exit: return; 685 686 get_new_destination: entry (gnd_old_destination, gnd_new_destination); 687 688 /* 689* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 690* to allow the user to enter a new value. 691**/ 692 693 /* PARAMETERS */ 694 695 dcl gnd_old_destination char (*); /* input */ 696 dcl gnd_new_destination char (*) var; /* output */ 697 698 /* BEGIN */ 699 700 gnd_new_destination = ""; 701 702 call ioa_ ("^[No destination has been defined to label hardcopy printouts.^;The destination used to label hardcopy printouts is: ^a.^]", gnd_old_destination = "", gnd_old_destination); 703 704 call ioa_ ("You may now enter a new destination, " || 705 "or just press the RETURN key^/" || 706 " to leave it unchanged."); 707 valid = "0"b; 708 do while (^valid); 709 call xmail_get_str_ ("New destination: ", "", REVIEW_DEFAULTS_HELP, DESTINATION_QUESTION, gnd_new_destination); 710 if gnd_new_destination = LIST 711 then call ioa_ ("^[There is no defined destination.^;The defined destination is: ^a.^]", gnd_old_destination = "", gnd_old_destination); 712 713 else if length (gnd_new_destination) > length (gnd_old_destination) 714 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, LONG_DESTINATION, (0)); 715 else valid = "1"b; 716 end; 717 718 return; 719 720 station: entry (s_option_name); 721 722 /* PARAMETERS */ 723 724 dcl s_option_name char (*); /* input option name */ 725 726 /* BEGIN */ 727 728 user_request_type = ""; 729 730 call xmail_print_$get_request_type (user_request_type, status); 731 if status ^= 0 732 then do; 733 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", s_option_name); 734 go to station_exit; 735 end; 736 737 call xmail_Review_Defaults_$get_new_station (user_request_type, response); 738 739 if length (response) = 0 | response = user_request_type 740 then call ioa_ ("^a remains unchanged.", s_option_name); 741 else do; 742 if response ^= "default" 743 then do; 744 user_request_type = response; 745 call xmail_print_$set_request_type (user_request_type, status); 746 end; 747 else do; 748 user_request_type = "system default"; 749 call xmail_value_$delete ("dprint_request_type", status); 750 if status = error_table_$oldnamerr then status = 0; 751 end; 752 753 if status = 0 754 then call ioa_ ("The station has been changed to: ^a", user_request_type); 755 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", s_option_name); 756 end; 757 758 station_exit: return; 759 760 get_new_station: entry (gns_old_request_type, gns_new_request_type); 761 762 /* 763* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 764* to allow the user to enter a new value. 765**/ 766 767 /* PARAMETERS */ 768 769 dcl gns_old_request_type char (*); /* input */ 770 dcl gns_new_request_type char (*) var;/* output */ 771 772 /* BEGIN */ 773 774 gns_new_request_type = ""; 775 776 call ioa_ ("^[Your output is printed at the system default output station^;The station used for your printouts is: ^a^]", gns_old_request_type = "", gns_old_request_type); 777 778 call ioa_ ("You may now enter a new station, " || 779 "or just press the RETURN key^/" || 780 " to leave it unchanged."); 781 valid = "0"b; 782 do while (^valid); 783 call xmail_get_str_ ("New printout station: ", "", REVIEW_DEFAULTS_HELP, STATION_QUESTION, gns_new_request_type); 784 if length (gns_new_request_type) = 0 then valid = "1"b; 785 else if gns_new_request_type = LIST 786 then call ioa_ ("^[There is no defined station.^;The defined station is: ^a^]", gns_old_request_type = "", gns_old_request_type); 787 else if gns_new_request_type = "default" 788 then valid = "1"b; 789 else do; 790 if length (gns_new_request_type) > length (gns_old_request_type) 791 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, RQT_TOO_LONG, (0)); 792 else do; 793 call iod_info_$generic_type ((gns_new_request_type), generic_type, status); 794 if status ^= 0 795 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, RQT_UNKNOWN, (0)); 796 else if generic_type ^= "printer" 797 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, RQT_NOT_PRINT, (0)); 798 else valid = "1"b; 799 end; 800 end; 801 end; 802 803 return; 804 805 notify: entry (n_option_name); 806 807 /* PARAMETERS */ 808 809 dcl n_option_name char (*); /* input option name */ 810 811 /* BEGIN notify */ 812 813 user_notify = ""; 814 815 call xmail_print_$get_notify (user_notify, status); 816 if status ^= 0 817 then do; 818 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", n_option_name); 819 go to notify_exit; 820 end; 821 822 call xmail_Review_Defaults_$get_new_notify (n_option_name, user_notify, response); 823 824 if length (response) = 0 | response = user_notify 825 then call ioa_ ("^a remains unchanged.", n_option_name); 826 else do; 827 user_notify = response; 828 call xmail_print_$set_notify (user_notify, status); 829 if status = 0 830 then call ioa_ ("You will ^[be^;not be^] notified by message when printing is done.", response = YES); 831 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", n_option_name); 832 end; 833 834 notify_exit: return; 835 836 get_new_notify: entry (gnn_option_name, gnn_old_notify, gnn_new_notify); 837 838 /* 839* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 840* to allow the user to enter a new value. 841**/ 842 843 /* PARAMETERS */ 844 845 dcl gnn_option_name char (*); /* input */ 846 dcl gnn_old_notify char (*); /* input */ 847 dcl gnn_new_notify char (*) var;/* output */ 848 849 /* BEGIN */ 850 851 gnn_new_notify = ""; 852 853 call ioa_ ("^a is currently set to: ^a", gnn_option_name, gnn_old_notify); 854 855 call ioa_ ("You may now reset option, " || 856 "or just press the RETURN key^/" || 857 " to leave it unchanged."); 858 859 valid = "0"b; 860 do while (^valid); 861 call xmail_get_str_ ("Do you want to be notified after printing? (enter ""yes"" or ""no""): ", "", REVIEW_DEFAULTS_HELP, NOTIFY_YN, gnn_new_notify); 862 863 /* Allowable responses are case insensitive yes, y, no, n, ??, ?, RETURN. */ 864 865 gnn_new_notify = translate (gnn_new_notify, LOWERCASE_YN_ASK, UPPERCASE_YN_ASK); 866 if gnn_new_notify = Y then gnn_new_notify = YES; 867 if gnn_new_notify = N then gnn_new_notify = NO; 868 if length (gnn_new_notify) = 0 then valid = "1"b; 869 else if gnn_new_notify = YES | gnn_new_notify = NO 870 then valid = "1"b; 871 872 else if gnn_new_notify = LIST 873 then call ioa_ ("^a is currently set to: ^a", gnn_option_name, gnn_old_notify); 874 else call ioa_ ("You may only enter ""yes"" or ""no"", followed by a RETURN.^/ Enter ? if you need help."); 875 end; 876 877 return; 878 879 copies: entry (c_option_name); 880 881 /* PARAMETERS */ 882 883 dcl c_option_name char (*); /* input option name */ 884 885 /* BEGIN */ 886 887 user_copies = ""; 888 889 call xmail_print_$get_copies (user_copies, status); 890 if status ^= 0 891 then do; 892 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", c_option_name); 893 go to copies_exit; 894 end; 895 896 call xmail_Review_Defaults_$get_new_copies (user_copies, response, response_bin); 897 898 if length (response) = 0 | response = user_copies 899 then call ioa_ ("^a remains unchanged.", c_option_name); 900 else do; 901 user_copies = response; 902 call xmail_print_$set_copies (user_copies, status); 903 if status = 0 904 then call ioa_ ("The number of copies has been changed to: ^a", user_copies); 905 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", c_option_name); 906 end; 907 908 copies_exit: return; 909 910 get_new_copies: entry (gnc_old_copies, gnc_new_copies, gnc_new_copies_bin); 911 912 /* 913* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 914* to allow the user to enter a new value. 915**/ 916 917 /* PARAMETERS */ 918 919 dcl gnc_old_copies char (*); /* input */ 920 dcl gnc_new_copies char (*) var;/* output */ 921 dcl gnc_new_copies_bin fixed bin; /* output binary*/ 922 923 /* BEGIN */ 924 925 gnc_new_copies = ""; 926 gnc_new_copies_bin = 0; 927 928 call ioa_ ("The number of copies requested is: ^a", gnc_old_copies); 929 930 call ioa_ ("You may now reset the number of copies, " || 931 "or just press the RETURN key^/" || 932 " to leave it unchanged."); 933 934 valid = "0"b; 935 do while (^valid); 936 call xmail_get_str_ ("Number of copies (1 - 30): ", "", REVIEW_DEFAULTS_HELP, COPIES_QUESTION, gnc_new_copies); 937 if length (gnc_new_copies) = 0 938 then valid = "1"b; 939 else if gnc_new_copies = LIST 940 then call ioa_ ("The number of copies requested is: ^a", gnc_old_copies); 941 else if verify (gnc_new_copies, NUMERICS) ^= 0 942 then call ioa_ (COPIES_NO_GOOD); 943 944 else do; /* convert to binary and check against limit */ 945 call CONVERT (gnc_new_copies, gnc_new_copies_bin, status); 946 if status = 0 947 then if gnc_new_copies_bin < 1 | gnc_new_copies_bin > COPIES_LIMIT 948 then call ioa_ (COPIES_NO_GOOD); 949 else valid = "1"b; /* valid number */ 950 else call ioa_ (COPIES_NO_GOOD); 951 end; 952 end; 953 954 return; 955 956 left_margin: entry (lm_option_name); 957 958 /* PARAMETERS */ 959 960 dcl lm_option_name char (*); /* input option name */ 961 962 /* BEGIN */ 963 964 user_lmargin = ""; 965 966 call xmail_print_$get_left_margin (user_lmargin, status); 967 if status ^= 0 968 then do; 969 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", lm_option_name); 970 go to left_margin_exit; 971 end; 972 973 call xmail_Review_Defaults_$get_new_margin (user_lmargin, response, response_bin); 974 975 if length (response) = 0 | response = user_lmargin 976 then call ioa_ ("^a remains unchanged.", lm_option_name); 977 else do; 978 user_lmargin = response; 979 call xmail_print_$set_left_margin (user_lmargin, status); 980 if status = 0 981 then call ioa_ ("The left margin has been changed to: ^a spaces", user_lmargin); 982 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", lm_option_name); 983 end; 984 985 left_margin_exit: return; 986 987 get_new_margin: entry (gnm_old_lmargin, gnm_new_lmargin, gnm_new_lmargin_bin); 988 989 /* 990* This entrypoint is called by both xmail_print_ and xmail_Review_Defaults_ 991* to allow the user to enter a new value. 992**/ 993 994 /* PARAMETERS */ 995 996 dcl gnm_old_lmargin char (*); /* input */ 997 dcl gnm_new_lmargin char (*) var;/* output */ 998 dcl gnm_new_lmargin_bin fixed bin; /* output binary*/ 999 1000 /* BEGIN */ 1001 1002 gnm_new_lmargin = ""; 1003 gnm_new_lmargin_bin = 0; 1004 1005 call ioa_ ("The left margin is: ^a spaces.", gnm_old_lmargin); 1006 1007 call ioa_ ("You may now reset the left margin, " || 1008 "or just press the RETURN key^/" || 1009 " to leave it unchanged."); 1010 valid = "0"b; 1011 do while (^valid); 1012 call xmail_get_str_ ("Left margin (0 - 20): ", "", REVIEW_DEFAULTS_HELP, LEFT_MARGIN_QUESTION, gnm_new_lmargin); 1013 if length (gnm_new_lmargin) = 0 1014 then valid = "1"b; 1015 else if gnm_new_lmargin = LIST 1016 then call ioa_ ("The left margin is: ^a spaces.", gnm_old_lmargin); 1017 else if verify (gnm_new_lmargin, NUMERICS) ^= 0 1018 then call ioa_ (MARGIN_NO_GOOD); 1019 1020 else do; /* convert to binary and check against limit */ 1021 call CONVERT (gnm_new_lmargin, gnm_new_lmargin_bin, status); 1022 if status = 0 1023 then if gnm_new_lmargin_bin > MARGIN_LIMIT 1024 then call ioa_ (MARGIN_NO_GOOD); 1025 else valid = "1"b; 1026 else call ioa_ (MARGIN_NO_GOOD); 1027 end; 1028 end; 1029 1030 return; 1031 1032 confirm_print: entry (cp_option_name); 1033 1034 /* PARAMETERS */ 1035 1036 dcl cp_option_name char (*); /* input option name */ 1037 1038 /* BEGIN confirm_print */ 1039 1040 value_name = rtrim (CONFIRM_PRINT_YN); /* use info constant */ 1041 1042 call CHECK_VALUE_YN ((value_name), cp_option_name, CONFIRM_PRINT_YN, "0"b); 1043 if changed_value 1044 then do; 1045 if response = YES 1046 then xmail_data.confirm_print = "1"b; 1047 else xmail_data.confirm_print = "0"b; 1048 1049 call ioa_ ("The print options will ^[be displayed before printing to allow for changes.^;not be displayed.^]", response = YES); 1050 end; 1051 1052 return; 1053 1054 1055 /* 1056* The following are the entrypoints called to change the Outgoing Message 1057* options in the personalization menu. 1058**/ 1059 1060 acknowledge: entry (a_option_name); 1061 1062 /* PARAMETERS */ 1063 1064 dcl a_option_name char (*); /* input option name */ 1065 1066 /* BEGIN */ 1067 1068 value_name = rtrim (ACKNOWLEDGE_YN); /* use info constant */ 1069 1070 call CHECK_VALUE_YN ((value_name), a_option_name, ACKNOWLEDGE_YN, "1"b); 1071 if changed_value 1072 then call ioa_ ("^[All messages will now^;^[Messages will not^;You will always be asked if you want to^]^] request an acknowledgment.", response = YES, response = NO); 1073 1074 return; 1075 1076 1077 save_messages: entry (smg_option_name); 1078 1079 /* PARAMETERS */ 1080 1081 dcl smg_option_name char (*); /* input option name */ 1082 1083 /* BEGIN */ 1084 1085 value_name = rtrim (SAVE_MESSAGE_YN); /* use info constant */ 1086 1087 call CHECK_VALUE_YN ((value_name), smg_option_name, SAVE_MESSAGE_YN, "1"b); 1088 if changed_value 1089 then call ioa_ ("^[All outgoing messages will be saved.^;^[Outgoing messages will not be saved.^;You will always be asked if you want to save outgoing messages.^]^]", response = YES, response = NO); 1090 1091 return; 1092 1093 msgs_as_mail: entry (mam_option_name); 1094 1095 /* PARAMETERS */ 1096 1097 dcl mam_option_name char (*); /* input option name */ 1098 1099 /* BEGIN */ 1100 1101 value_name = rtrim (MSGS_AS_MAIL_YN); /* use info constant */ 1102 1103 call CHECK_VALUE_YN ((value_name), mam_option_name, MSGS_AS_MAIL_YN, "1"b); 1104 if changed_value 1105 then call ioa_ ("^[Interactive messages will be treated as mail.^;^[Interactive messages will not be treated as mail.^;You will always be asked if you want to treat interactive messages as mail.^]^]", response = YES, response = NO); 1106 1107 return; 1108 1109 save_mailbox: entry (smb_option_name); 1110 1111 /* PARAMETERS */ 1112 1113 dcl smb_option_name char (*); /* input option name */ 1114 1115 /* BEGIN */ 1116 1117 value_name = rtrim (SAVE_MAILBOX_HELP); /* use info constant */ 1118 1119 call xmail_value_$get ((value_name), save_mailbox, status); 1120 if status ^= 0 1121 then do; 1122 call xmail_error_$no_code (status, NAME, "l", "An error has occurred that prevents access to ^a.", smb_option_name); 1123 go to savebox_exit; 1124 end; 1125 1126 save_mailbox = minus_suffix ((save_mailbox), (MAILFILE_SUFFIX)); 1127 call ioa_ ("Outgoing savefile currently set to: ^a", save_mailbox); 1128 call ioa_ ("^/Type ""set"" to change the outgoing savefile," || 1129 "^/""ask"" to be asked for the savefile name each time" || 1130 "^/ a message is saved," || 1131 "^/or just press the RETURN key to leave it unchanged.^/"); 1132 1133 valid = "0"b; 1134 call ioa_$rsnnl ("How do you want to specify the outgoing savefile?: ", 1135 prompt_string, unused_return_length); 1136 do while (^valid); 1137 call xmail_get_str_ (prompt_string, "", REVIEW_DEFAULTS_HELP, SAVE_MAILBOX_HELP, response); 1138 1139 /* Translate to make response case insensitive */ 1140 1141 response = translate (response, LOWERCASE_YN_ASK, UPPERCASE_YN_ASK); 1142 if response = A then response = ASK; 1143 if response = S then response = SET; 1144 if length (response) = 0 | response = SET | response = ASK 1145 then valid = "1"b; 1146 else if response = LIST 1147 then call ioa_ ("Outgoing savefile currently set to: ^a", save_mailbox); 1148 else call ioa_ ("You may only enter ""set"" or ""ask"", followed by a RETURN. ^/ Enter ? if you need help."); 1149 end; /* end of do */ 1150 1151 if length (response) = 0 1152 then call ioa_ ("^a remains unchanged.", smb_option_name); 1153 else if response = ASK then do; 1154 call xmail_value_$set ((value_name), (response), save_mailbox, status); 1155 if status = 0 1156 then call ioa_ ("^[You will always be asked for the name of the savefile when^;The ""^a"" savefile will be used for^] saving messages.", response = ASK, save_mailbox); 1157 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", smb_option_name); 1158 end; 1159 else if response = SET then do; 1160 call xmail_select_file_ ("mail file", MAILFILE_SUFFIX, "outgoing", ACCEPT_OLD, ACCEPT_NEW, dir, prefix, create, exists, status); 1161 if status ^= 0 then go to savebox_exit; /* Diagnostic msg already issued by xmail_select_file_. */ 1162 1163 yes_sw = "0"b; 1164 if ^create & ^exists then do; 1165 call ioa_$rsnnl ("The specified mail file ""^a"" does not exist.^/ Do you wish to create it? ", prompt_string, unused_return_length, prefix); 1166 call xmail_get_str_$yes_no (prompt_string, yes_sw); 1167 end; 1168 1169 if create | yes_sw then do; 1170 call mlsys_utils_$create_savebox (dir, (prefix), code); 1171 if code ^= 0 1172 then call xmail_error_$code_first (status, NAME, LOG, "An error has occurred which prevents changing ^a.", smb_option_name); 1173 else call ioa_ ("The mail file ""^a"" has been created.", prefix); 1174 end; 1175 1176 if exists | create | yes_sw then do; 1177 call xmail_value_$set ((value_name), prefix || FULL_MAILFILE_SUFFIX, save_mailbox, status); 1178 if status = 0 1179 then call ioa_ ("Option has been changed to ^[ask for the name of the file before^;use the ""^a"" savefile for^] saving messages.", response = ASK, prefix); 1180 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", smb_option_name); 1181 end; 1182 else call ioa_ ("^a remains unchanged.", smb_option_name); 1183 end; 1184 1185 savebox_exit: return; 1186 1187 full_name: entry (fn_option_name); 1188 1189 /* PARAMETERS */ 1190 1191 dcl fn_option_name char (*); /* input option name */ 1192 dcl get_pdir_ entry() returns(char(168)); 1193 1194 1195 /* BEGIN */ 1196 1197 new_full_name = ""; 1198 1199 if xmail_data.value_seg_pathname = get_pdir_() then 1200 call value_$get (null (), PERPROCESS, FULL_NAME, new_full_name, status); 1201 else 1202 call value_$get (null (), PERMANENT, FULL_NAME, new_full_name, status); 1203 if status ^= 0 1204 then if status = error_table_$oldnamerr 1205 then call ioa_ ("Your full name is not currently defined."); 1206 else do; 1207 call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents access to ^a.", fn_option_name); 1208 go to full_name_exit; 1209 end; 1210 1211 else call ioa_ ("The full name which appears in the From field of outgoing mail is:" || 1212 "^/ ^a", new_full_name); 1213 1214 call ioa_ ("You may now enter your full name, " || 1215 "or just press the RETURN key^/" || 1216 " to leave it unchanged."); 1217 1218 valid = "0"b; 1219 do while (^valid); 1220 call xmail_get_str_ ("Enter your full name (32 character limit): ", "", REVIEW_DEFAULTS_HELP, FULL_NAME_QUESTION, response); 1221 1222 if response = LIST 1223 then call ioa_ ("^[Your full name is not currently defined.^;Your full name currently is: ^a^]", new_full_name = "", new_full_name); 1224 else if length (response) > length (new_full_name) 1225 then call xmail_display_help_ (REVIEW_DEFAULTS_HELP, LONG_NAME, (0)); 1226 else valid = "1"b; 1227 end; /* end of do */ 1228 1229 if length (response) = 0 | response = new_full_name 1230 then call ioa_ ("^a remains unchanged.", fn_option_name); 1231 else do; 1232 call value_$set (null (), PERMANENT, FULL_NAME, (response), new_full_name, status); 1233 if status = 0 1234 then do; 1235 call ioa_ ("Full Name has been changed to: ^a", response); 1236 call ioa_ ("This change takes effect the next time you login to the system."); 1237 end; 1238 else if status = error_table_$no_w_permission then do; 1239 call value_$set (null (), PERPROCESS, FULL_NAME, (response), new_full_name, status); 1240 if status = 0 1241 then do; 1242 call ioa_ ("Full Name has been changed to: ^a", response); 1243 call ioa_ ("This change is in effect during this process."); 1244 end; 1245 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", fn_option_name); 1246 end; 1247 else call xmail_error_$no_code (status, NAME, "l", "An error has occurred which prevents changing ^a.", fn_option_name); 1248 end; 1249 1250 full_name_exit: return; 1251 1252 include_original: entry (io_option_name); 1253 1254 /* PARAMETERS */ 1255 1256 dcl io_option_name char (*); /* input option name */ 1257 dcl new_option_name char (32) var; 1258 1259 1260 /* BEGIN include_original */ 1261 1262 value_name = rtrim (INCLUDE_ORIGINAL_YN); /* use info constant */ 1263 1264 call CHECK_VALUE_YN ((value_name), io_option_name, INCLUDE_ORIGINAL_YN, "1"b); 1265 if changed_value 1266 then call ioa_ ("^[Original messages will be included in all^;^[Original messages will not be included in^;You will always be asked if you want to include originals in^]^] replies.", response = YES, response = NO); 1267 1268 value_name = rtrim (ORIGINAL_UP_WINDOW_YN); 1269 1270 call ioa_(" "); 1271 new_option_name = "Display Original in Upper Window"; 1272 call CHECK_VALUE_YN ((value_name),(new_option_name),ORIGINAL_UP_WINDOW_YN, "0"b); 1273 if changed_value 1274 then call ioa_("^[The original will be displayed in^;The original will not be displayed in^] the upper window.",response = YES); 1275 1276 return; 1277 1278 file_original: entry (fo_option_name); 1279 1280 /* PARAMETERS */ 1281 1282 dcl fo_option_name char (*); /* input option name */ 1283 1284 /* BEGIN file_original */ 1285 1286 value_name = rtrim (FILE_ORIGINAL_YN); /* use info constant */ 1287 1288 call CHECK_VALUE_YN ((value_name), io_option_name, FILE_ORIGINAL_YN, "1"b); 1289 if changed_value 1290 then call ioa_ ("^[Originals will always be filed before replies.^;^[Originals will not be filed.^;You will always be asked if you want to file originals before replies.^]^]", response = YES, response = NO); 1291 1292 return; 1293 1294 /* 1295* The following are the entrypoints called to change the Processing options 1296* in the personalization menu. 1297**/ 1298 1299 interactive_msgs: entry (im_option_name); 1300 1301 /* PARAMETERS */ 1302 1303 dcl im_option_name char (*); /* input option name */ 1304 1305 /* BEGIN interactive_msgs */ 1306 1307 value_name = rtrim (INTERACTIVE_MSGS_YN); /* use info constant */ 1308 1309 call CHECK_VALUE_YN ((value_name), im_option_name, INTERACTIVE_MSGS_YN, "0"b); 1310 if changed_value 1311 then do; 1312 call ioa_ ("Interactive messages will ^[be^;not be^] processed.", response = YES); 1313 if response = YES 1314 then do; 1315 xmail_data.interactive_msgs = "1"b; 1316 call xmail_im_mgr_$defer_messages; 1317 end; 1318 else if xmail_data.interactive_msgs = "1"b 1319 /* changing from yes to no */ 1320 then do; 1321 xmail_data.interactive_msgs = "0"b; 1322 call xmail_im_mgr_$print_messages; 1323 call xmail_im_mgr_$restore_original; 1324 end; 1325 end; 1326 1327 return; 1328 1329 lists_as_menus: entry (lam_option_name); 1330 1331 /* PARAMETERS */ 1332 1333 dcl lam_option_name char (*); /* input option name */ 1334 1335 /* BEGIN lists_as_menus */ 1336 1337 value_name = rtrim (LISTS_AS_MENUS_YN); /* use info constant */ 1338 1339 call CHECK_VALUE_YN ((value_name), lam_option_name, LISTS_AS_MENUS_YN, "0"b); 1340 if changed_value 1341 then do; 1342 if response = YES 1343 then xmail_data.lists_as_menus = "1"b; 1344 else xmail_data.lists_as_menus = "0"b; 1345 call ioa_ ("Lists will ^[be^;not be^] displayed as menus.", response = YES); 1346 end; 1347 1348 return; 1349 1350 remove_menu: entry (rm_option_name); 1351 1352 /* PARAMETERS */ 1353 1354 dcl rm_option_name char (*); /* input option name */ 1355 1356 /* BEGIN remove_menu */ 1357 1358 value_name = rtrim (REMOVE_MENUS_YN); /* use info constant */ 1359 1360 call CHECK_VALUE_YN ((value_name), rm_option_name, REMOVE_MENUS_YN, "0"b); 1361 if changed_value 1362 then do; 1363 if response = YES 1364 then xmail_data.remove_menus = "1"b; 1365 else xmail_data.remove_menus = "0"b; 1366 1367 call ioa_ ("During editing, the top menu will ^[be^;not be^] removed.", response = YES); 1368 end; 1369 1370 return; 1371 1372 escape_keys: entry (ek_option_name); 1373 1374 /* PARAMETERS */ 1375 1376 dcl ek_option_name char (*); /* input option name */ 1377 1378 /* BEGIN escape_keys */ 1379 1380 value_name = rtrim (ALWAYS_ESCAPE_YN); /* use info constant */ 1381 1382 call CHECK_VALUE_YN ((value_name), ek_option_name, ALWAYS_ESCAPE_YN, "0"b); 1383 if changed_value 1384 then do; 1385 call ioa_ ("^[Escape sequences will always be used in place of function keys.^;Function keys will be used when available.^]", response = YES); 1386 if response = YES 1387 then call CHANGE_TO_DEFAULT_KEYS; 1388 else call TEST_AND_CHANGE_FUNCTION_KEYS; 1389 end; 1390 1391 return; 1392 1393 multics_mode: entry (mm_option_name); 1394 1395 /* PARAMETERS */ 1396 1397 dcl mm_option_name char (*); /* input option name */ 1398 1399 /* BEGIN multics_mode */ 1400 1401 value_name = rtrim (MULTICS_MODE_YN); /* use info constant */ 1402 1403 call CHECK_VALUE_YN ((value_name), mm_option_name, MULTICS_MODE_YN, "0"b); 1404 if changed_value 1405 then do; 1406 if response = YES 1407 then do; 1408 xmail_data.n_fkeys_used = EIGHT_FKEYS; 1409 xmail_data.multics_mode = "1"b; 1410 call ioa_ ("Multics commands will be allowed."); 1411 end; 1412 else do; 1413 xmail_data.n_fkeys_used = SEVEN_FKEYS; 1414 xmail_data.multics_mode = "0"b; 1415 call ioa_ ("Multics commands will not be allowed."); 1416 end; 1417 call xmail_value_$get (rtrim (ALWAYS_ESCAPE_YN), answer_yn, status); 1418 if status = 0 & answer_yn = NO 1419 then call TEST_AND_CHANGE_FUNCTION_KEYS; 1420 end; 1421 1422 return; 1423 1424 end xmail_Review_Defaults_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1129.4 xmail_Review_Defaults_.pl1 >udd>sm>ds>w>ml>xmail_Review_Defaults_.pl1 311 1 03/27/82 0529.3 menu_dcls.incl.pl1 >ldd>incl>menu_dcls.incl.pl1 313 2 09/08/88 2110.9 xmail_data.incl.pl1 >ldd>incl>xmail_data.incl.pl1 315 3 05/28/86 1217.7 xmail_help_infos.incl.pl1 >ldd>incl>xmail_help_infos.incl.pl1 317 4 05/28/86 1217.7 xmail_responses.incl.pl1 >ldd>incl>xmail_responses.incl.pl1 319 5 12/02/84 1232.9 xmail_windows.incl.pl1 >ldd>incl>xmail_windows.incl.pl1 5-14 6 09/12/84 1016.7 window_control_info.incl.pl1 >ldd>incl>window_control_info.incl.pl1 321 7 09/12/84 1016.7 window_dcls.incl.pl1 >ldd>incl>window_dcls.incl.pl1 323 8 02/23/81 2246.3 function_key_data.incl.pl1 >ldd>incl>function_key_data.incl.pl1 325 9 06/29/77 1724.0 terminal_info.incl.pl1 >ldd>incl>terminal_info.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. A 017364 constant char(1) initial packed unaligned dcl 4-16 ref 444 1142 ACCEPT_NEW 000576 constant bit(1) initial dcl 179 set ref 1160* ACCEPT_OLD 000576 constant bit(1) initial dcl 180 set ref 1160* ACKNOWLEDGE_YN 000260 constant char(32) initial packed unaligned dcl 194 set ref 1068 1070* ALWAYS_ESCAPE_YN 000250 constant char(32) initial packed unaligned dcl 194 set ref 1380 1382* 1417 1417 ASK 000005 constant char(3) initial packed unaligned dcl 4-16 ref 444 448 1142 1144 1153 1155 1178 CONFIRM_PRINT_YN 000240 constant char(32) initial packed unaligned dcl 194 set ref 1040 1042* COPIES_LIMIT constant fixed bin(17,0) initial dcl 181 ref 946 COPIES_NO_GOOD 000440 constant char(46) initial packed unaligned dcl 182 set ref 941* 946* 950* COPIES_QUESTION 000230 constant char(32) initial packed unaligned dcl 194 set ref 936* DESTINATION_QUESTION 000360 constant char(32) initial packed unaligned dcl 194 set ref 709* EIGHT_FKEYS constant fixed bin(17,0) initial dcl 183 ref 1408 FILE_ORIGINAL_YN 000120 constant char(32) initial packed unaligned dcl 194 set ref 1286 1288* FULL_MAILFILE_SUFFIX 000436 constant char(7) initial packed unaligned dcl 184 ref 1177 FULL_NAME 000432 constant char(11) initial packed unaligned dcl 185 set ref 1199* 1201* 1232* 1239* FULL_NAME_QUESTION 000220 constant char(32) initial packed unaligned dcl 194 set ref 1220* HEADER_QUESTION 000370 constant char(32) initial packed unaligned dcl 194 set ref 644* INCLUDE_ORIGINAL_YN 000110 constant char(32) initial packed unaligned dcl 194 set ref 1262 1264* INTERACTIVE_MSGS_YN 000210 constant char(32) initial packed unaligned dcl 194 set ref 1307 1309* LEFT_MARGIN_QUESTION 000170 constant char(32) initial packed unaligned dcl 194 set ref 1012* LIST 017365 constant char(2) initial packed unaligned dcl 4-16 ref 450 645 710 785 872 939 1015 1146 1222 LISTS_AS_MENUS_YN 000200 constant char(32) initial packed unaligned dcl 194 set ref 1337 1339* LOG 000571 constant char(1) initial packed unaligned dcl 186 set ref 1171* LONG_DESTINATION 000340 constant char(32) initial packed unaligned dcl 194 set ref 713* LONG_HEADER 000330 constant char(32) initial packed unaligned dcl 194 set ref 647* LONG_NAME 000320 constant char(32) initial packed unaligned dcl 194 set ref 1224* LOWERCASE_YN_ASK 000430 constant char(8) initial packed unaligned dcl 187 ref 441 865 1141 MAILFILE_SUFFIX 000426 constant char(6) initial packed unaligned dcl 188 set ref 1126 1160* MARGIN_LIMIT constant fixed bin(17,0) initial dcl 189 ref 1022 MARGIN_NO_GOOD 000411 constant char(46) initial packed unaligned dcl 190 set ref 1017* 1022* 1026* MSGS_AS_MAIL_YN 000060 constant char(32) initial packed unaligned dcl 194 set ref 1101 1103* MULTICS_MODE_YN 000160 constant char(32) initial packed unaligned dcl 194 set ref 1401 1403* N 017363 constant char(1) initial packed unaligned dcl 4-16 ref 443 867 NAME 000403 constant char(22) initial packed unaligned dcl 191 set ref 335* 424* 466* 504* 603* 616* 668* 681* 733* 755* 818* 831* 892* 905* 969* 982* 1122* 1157* 1171* 1180* 1207* 1245* 1247* NO 017362 constant char(2) initial packed unaligned dcl 4-16 ref 443 446 867 869 1071 1088 1104 1265 1289 1418 NOTIFY_YN 000150 constant char(32) initial packed unaligned dcl 194 set ref 861* NUMERICS 000400 constant char(10) initial packed unaligned dcl 193 ref 941 1017 N_COLUMNS 000607 constant fixed bin(17,0) initial dcl 192 set ref 334* OPTION_NAMES 000030 constant varying char(28) initial array dcl 226 set ref 334* 396 396 ORIGINAL_UP_WINDOW_YN 000100 constant char(32) initial packed unaligned dcl 194 set ref 1268 1272* PERMANENT 000027 constant bit(36) initial dcl 231 set ref 1201* 1232* PERPROCESS 000576 constant bit(36) initial dcl 232 set ref 1199* 1239* REMOVE_MENUS_YN 000140 constant char(32) initial packed unaligned dcl 194 set ref 1358 1360* REVIEW_DEFAULTS_HELP 000006 constant char(29) initial packed unaligned dcl 3-13 set ref 396* 436* 644* 647* 709* 713* 783* 790* 794* 796* 861* 936* 1012* 1137* 1220* 1224* RQT_NOT_PRINT 000270 constant char(32) initial packed unaligned dcl 194 set ref 796* RQT_TOO_LONG 000310 constant char(32) initial packed unaligned dcl 194 set ref 790* RQT_UNKNOWN 000300 constant char(32) initial packed unaligned dcl 194 set ref 794* S 017361 constant char(1) initial packed unaligned dcl 4-16 ref 1143 SAVE_MAILBOX_HELP 000070 constant char(32) initial packed unaligned dcl 194 set ref 1117 1137* SAVE_MESSAGE_YN 000130 constant char(32) initial packed unaligned dcl 194 set ref 1085 1087* SET 000004 constant char(3) initial packed unaligned dcl 4-16 ref 1143 1144 1159 SEVEN_FKEYS constant fixed bin(17,0) initial dcl 233 ref 1413 STATION_QUESTION 000350 constant char(32) initial packed unaligned dcl 194 set ref 783* TITLE 000020 constant char(26) initial packed unaligned dcl 234 set ref 334* 335* UPPERCASE_YN_ASK 000016 constant char(8) initial packed unaligned dcl 236 ref 441 865 1141 Y 017360 constant char(1) initial packed unaligned dcl 4-16 ref 442 866 YES 000003 constant char(3) initial packed unaligned dcl 4-16 ref 442 446 829 866 869 1045 1049 1071 1088 1104 1265 1273 1289 1312 1313 1342 1345 1363 1367 1385 1386 1406 a_option_name parameter char packed unaligned dcl 1064 set ref 1060 1070* addr builtin function dcl 307 ref 503 503 after builtin function dcl 570 ref 579 answer_yn 000100 automatic varying char(3) dcl 147 set ref 421* 428* 450* 460 463* 1417* 1418 c_option_name parameter char packed unaligned dcl 883 set ref 879 892* 898* 905* c_status parameter fixed bin(35,0) dcl 540 set ref 529 544* 546* c_value_bin parameter fixed bin(17,0) dcl 539 set ref 529 549* 549 c_value_char parameter varying char dcl 538 ref 529 549 changed_value 000102 automatic bit(1) dcl 148 set ref 419* 464* 1043 1071 1088 1104 1265 1273 1289 1310 1340 1361 1383 1404 choice 000103 automatic fixed bin(17,0) dcl 149 set ref 352* 355* 356* code 000104 automatic fixed bin(35,0) dcl 150 set ref 334* 335 352* 355 356 357 503* 504 504* 507* 508 1170* 1171 confirm_print 213(03) based bit(1) level 3 packed packed unaligned dcl 2-54 set ref 1045* 1047* conversion 000000 stack reference condition dcl 303 ref 546 551 convert builtin function dcl 307 ref 549 cp_option_name parameter char packed unaligned dcl 1036 set ref 1032 1042* create 000105 automatic bit(1) dcl 151 set ref 1160* 1164 1169 1176 cvy_ask_sw parameter bit(1) packed unaligned dcl 415 set ref 402 434* 448 454 cvy_help_name parameter char packed unaligned dcl 414 set ref 402 436* cvy_option_name parameter char packed unaligned dcl 413 set ref 402 424* 428* 434 450* 460* 466* cvy_value_name parameter char packed unaligned dcl 412 set ref 402 421* 463* d_option_name parameter char packed unaligned dcl 659 set ref 655 668* 674* 681* dir 000106 automatic char(168) packed unaligned dcl 152 set ref 1160* 1170* display_needed 000160 automatic bit(1) dcl 153 set ref 350* 352* 354* 355* ek_option_name parameter char packed unaligned dcl 1376 set ref 1372 1382* error_table_$bad_conversion 000026 external static fixed bin(35,0) dcl 246 ref 546 error_table_$no_w_permission 000024 external static fixed bin(35,0) dcl 245 ref 1238 error_table_$oldnamerr 000022 external static fixed bin(35,0) dcl 244 ref 750 1203 exists 000161 automatic bit(1) dcl 154 set ref 1160* 1164 1176 flags 213 based structure level 2 dcl 2-54 fn_option_name parameter char packed unaligned dcl 1191 set ref 1187 1207* 1229* 1245* 1247* fo_option_name parameter char packed unaligned dcl 1282 ref 1278 function_key_data based structure level 1 dcl 8-7 ref 482 515 521 function_key_data_ptr 000512 automatic pointer dcl 8-34 in procedure "xmail_Review_Defaults_" set ref 507* 510 515 522 function_key_data_ptr 166 based pointer level 3 in structure "xmail_data" dcl 2-54 in procedure "xmail_Review_Defaults_" set ref 482 484* 521 522* function_key_info 166 based structure level 2 dcl 2-54 generic_type 000162 automatic char(32) packed unaligned dcl 155 set ref 793* 796 get_pdir_ 000174 constant entry external dcl 1192 ref 1199 gnc_new_copies parameter varying char dcl 920 set ref 910 925* 936* 937 939 941 945* gnc_new_copies_bin parameter fixed bin(17,0) dcl 921 set ref 910 926* 945* 946 946 gnc_old_copies parameter char packed unaligned dcl 919 set ref 910 928* 939* gnd_new_destination parameter varying char dcl 696 set ref 686 700* 709* 710 713 gnd_old_destination parameter char packed unaligned dcl 695 set ref 686 702 702* 710 710* 713 gnh_new_header parameter varying char dcl 631 set ref 621 635* 644* 645 647 gnh_old_header parameter char packed unaligned dcl 630 set ref 621 637 637* 645 645* 647 gnm_new_lmargin parameter varying char dcl 997 set ref 987 1002* 1012* 1013 1015 1017 1021* gnm_new_lmargin_bin parameter fixed bin(17,0) dcl 998 set ref 987 1003* 1021* 1022 gnm_old_lmargin parameter char packed unaligned dcl 996 set ref 987 1005* 1015* gnn_new_notify parameter varying char dcl 847 set ref 836 851* 861* 865* 865 866 866* 867 867* 868 869 869 872 gnn_old_notify parameter char packed unaligned dcl 846 set ref 836 853* 872* gnn_option_name parameter char packed unaligned dcl 845 set ref 836 853* 872* gns_new_request_type parameter varying char dcl 770 set ref 760 774* 783* 784 785 787 790 793 gns_old_request_type parameter char packed unaligned dcl 769 set ref 760 776 776* 785 785* 790 h_option_name parameter char packed unaligned dcl 594 set ref 590 603* 609* 616* highest 1 based fixed bin(17,0) level 2 dcl 8-7 ref 482 510 515 521 im_option_name parameter char packed unaligned dcl 1303 set ref 1299 1309* index builtin function dcl 570 ref 577 interactive_msgs 213(05) based bit(1) level 3 packed packed unaligned dcl 2-54 set ref 1315* 1318 1321* io_option_name parameter char packed unaligned dcl 1256 set ref 1252 1264* 1288* ioa_ 000030 constant entry external dcl 254 ref 348 428 429 450 454 456 460 517 518 609 614 637 639 645 674 679 702 704 710 739 753 776 778 785 824 829 853 855 872 874 898 903 928 930 939 941 946 950 975 980 1005 1007 1015 1017 1022 1026 1049 1071 1088 1104 1127 1128 1146 1148 1151 1155 1173 1178 1182 1203 1211 1214 1222 1229 1235 1236 1242 1243 1265 1270 1273 1289 1312 1345 1367 1385 1410 1415 ioa_$rsnnl 000032 constant entry external dcl 255 ref 434 1134 1165 iocb 22 000166 external static pointer level 3 dcl 5-5 set ref 329* iod_info_$generic_type 000034 constant entry external dcl 256 ref 793 iox_$control 000036 constant entry external dcl 257 ref 503 iox_$user_io 000012 external static pointer dcl 240 set ref 503* iox_$user_output 000014 external static pointer dcl 241 set ref 347* 358* 373* 395* key_info based structure level 1 packed packed unaligned dcl 8-28 lam_option_name parameter char packed unaligned dcl 1333 set ref 1329 1339* length builtin function dcl 307 in procedure "xmail_Review_Defaults_" ref 445 460 609 647 647 674 713 713 739 784 790 790 824 868 898 937 975 1013 1144 1151 1224 1224 1229 length builtin function dcl 570 in procedure "minus_suffix" ref 565 566 lists_as_menus 213(01) based bit(1) level 3 packed packed unaligned dcl 2-54 set ref 1342* 1344* lm_option_name parameter char packed unaligned dcl 960 set ref 956 969* 975* 982* mam_option_name parameter char packed unaligned dcl 1097 set ref 1093 1103* menu 000010 internal static pointer initial dcl 250 in procedure "xmail_Review_Defaults_" set ref 329 329* 333 334* 352* menu 22 000166 external static structure level 2 in structure "xmail_windows" dcl 5-5 in procedure "xmail_Review_Defaults_" menu_$display 000162 constant entry external dcl 1-20 ref 329 mlsys_utils_$create_savebox 000040 constant entry external dcl 258 ref 1170 mm_option_name parameter char packed unaligned dcl 1397 set ref 1393 1403* multics_mode 213(04) based bit(1) level 3 packed packed unaligned dcl 2-54 set ref 1409* 1414* n_fkeys_used 170 based fixed bin(17,0) level 3 dcl 2-54 set ref 510 1408* 1413* n_option_name parameter char packed unaligned dcl 809 set ref 805 818* 822* 824* 831* name parameter char packed unaligned dcl 560 ref 556 565 574 577 new_full_name 000172 automatic char(32) packed unaligned dcl 156 set ref 1197* 1199* 1201* 1211* 1222 1222* 1224 1229 1232* 1239* new_option_name 000514 automatic varying char(32) dcl 1257 set ref 1271* 1272 normal_usage 142 based char(80) level 2 packed packed unaligned dcl 2-54 set ref 352* 485* 523* null builtin function dcl 307 ref 329 333 507 507 1199 1199 1201 1201 1232 1232 1239 1239 opt parameter fixed bin(17,0) dcl 393 in procedure "EXPLAIN_OPTION" ref 391 396 396 opt parameter fixed bin(17,0) dcl 369 in procedure "PERFORM_OPTION" ref 364 374 prefix 000202 automatic varying char(32) dcl 157 set ref 1160* 1165* 1170 1173* 1177 1178* program_interrupt 000470 stack reference condition dcl 303 ref 341 prompt_string 000213 automatic varying char(200) dcl 158 set ref 434* 436* 1134* 1137* 1165* 1166* quit 000476 stack reference condition dcl 303 ref 342 redisplay parameter bit(1) dcl 368 set ref 364 376* 380* 384* remove_menus 213(02) based bit(1) level 3 packed packed unaligned dcl 2-54 set ref 1363* 1365* response 000276 automatic varying char(200) dcl 159 set ref 436* 441* 441 442 442* 443 443* 444 444* 445 446 446 448 450 460 460 463 607* 609 609 612 672* 674 674 677 737* 739 739 742 744 822* 824 824 827 829 896* 898 898 901 973* 975 975 978 1045 1049 1071 1071 1088 1088 1104 1104 1137* 1141* 1141 1142 1142* 1143 1143* 1144 1144 1144 1146 1151 1153 1154 1155 1159 1178 1220* 1222 1224 1229 1229 1232 1235* 1239 1242* 1265 1265 1273 1289 1289 1312 1313 1342 1345 1363 1367 1385 1386 1406 response_bin 000361 automatic fixed bin(17,0) dcl 160 set ref 896* 973* reverse builtin function dcl 570 ref 574 575 579 reverse_name 000100 automatic varying char dcl 565 set ref 574* 577 579 reverse_suffix 000100 automatic varying char dcl 566 set ref 575* 577 579 rm_option_name parameter char packed unaligned dcl 1354 set ref 1350 1360* rtrim builtin function dcl 307 in procedure "xmail_Review_Defaults_" ref 1040 1068 1085 1101 1117 1262 1268 1286 1307 1337 1358 1380 1401 1417 1417 rtrim builtin function dcl 570 in procedure "minus_suffix" ref 574 575 s_option_name parameter char packed unaligned dcl 724 set ref 720 733* 739* 755* save_mailbox 000362 automatic varying char(32) dcl 161 set ref 1119* 1126* 1126 1127* 1146* 1154* 1155* 1177* size 000000 stack reference condition dcl 303 ref 546 551 smb_option_name parameter char packed unaligned dcl 1113 set ref 1109 1122* 1151* 1157* 1171* 1180* 1182* smg_option_name parameter char packed unaligned dcl 1081 set ref 1077 1087* status 000373 automatic fixed bin(35,0) dcl 162 set ref 335* 421* 422 424* 463* 464 466* 600* 601 603* 613* 614 616* 665* 666 668* 678* 679 681* 730* 731 733* 745* 749* 750 750* 753 755* 793* 794 815* 816 818* 828* 829 831* 889* 890 892* 902* 903 905* 945* 946 966* 967 969* 979* 980 982* 1021* 1022 1119* 1120 1122* 1154* 1155 1157* 1160* 1161 1171* 1177* 1178 1180* 1199* 1201* 1203 1203 1207* 1232* 1233 1238 1239* 1240 1245* 1247* 1417* 1418 suffix parameter char packed unaligned dcl 561 ref 556 566 575 term_type 2 000450 automatic char(32) level 2 packed packed unaligned dcl 175 set ref 507* terminal_info based structure level 1 dcl 9-6 terminal_info_version constant fixed bin(17,0) initial dcl 9-16 ref 502 this_terminal_info 000450 automatic structure level 1 unaligned dcl 175 set ref 503 503 translate builtin function dcl 307 ref 396 396 441 865 1141 ttt_info_$function_key_data 000042 constant entry external dcl 259 ref 507 unused_return_length 000374 automatic fixed bin(17,0) dcl 163 set ref 434* 1134* 1165* use_default_fkeys 000375 automatic bit(1) dcl 164 set ref 498* 508* 510* 513 user_copies 000376 automatic char(2) packed unaligned dcl 165 set ref 887* 889* 896* 898 901* 902* 903* user_destination 000377 automatic char(24) packed unaligned dcl 166 set ref 663* 665* 672* 674 677* 678* 679* user_header 000405 automatic char(64) packed unaligned dcl 167 set ref 598* 600* 607* 609 612* 613* 614* user_lmargin 000425 automatic char(2) packed unaligned dcl 168 set ref 964* 966* 973* 975 978* 979* 980* user_notify 000426 automatic char(3) packed unaligned dcl 169 set ref 813* 815* 822* 824 827* 828* user_request_type 000427 automatic char(24) packed unaligned dcl 170 set ref 728* 730* 737* 739 744* 745* 748* 753* valid 000446 automatic bit(1) dcl 172 set ref 432* 433 445* 446* 448* 453* 642* 643 649* 707* 708 715* 781* 782 784* 787* 798* 859* 860 868* 869* 934* 935 937* 949* 1010* 1011 1013* 1025* 1133* 1136 1144* 1218* 1219 1226* value_$get 000044 constant entry external dcl 260 ref 1199 1201 value_$set 000046 constant entry external dcl 261 ref 1232 1239 value_name 000435 automatic varying char(32) dcl 171 set ref 1040* 1042 1068* 1070 1085* 1087 1101* 1103 1117* 1119 1154 1177 1262* 1264 1268* 1272 1286* 1288 1307* 1309 1337* 1339 1358* 1360 1380* 1382 1401* 1403 value_seg_pathname 64 based varying char(168) level 2 dcl 2-54 ref 1199 verify builtin function dcl 307 ref 941 1017 version 000450 automatic fixed bin(17,0) level 2 dcl 175 set ref 502* window_$bell 000170 constant entry external dcl 7-6 ref 358 window_$clear_window 000172 constant entry external dcl 7-13 ref 347 373 395 window_position_info based structure level 1 unaligned dcl 6-25 xmail_Review_Defaults_$get_new_copies 000126 constant entry external dcl 285 ref 896 xmail_Review_Defaults_$get_new_destination 000130 constant entry external dcl 286 ref 672 xmail_Review_Defaults_$get_new_header 000132 constant entry external dcl 287 ref 607 xmail_Review_Defaults_$get_new_margin 000134 constant entry external dcl 288 ref 973 xmail_Review_Defaults_$get_new_notify 000136 constant entry external dcl 289 ref 822 xmail_Review_Defaults_$get_new_station 000140 constant entry external dcl 290 ref 737 xmail_Review_Outgoing_ 000146 constant entry external dcl 293 ref 381 xmail_Review_Printing_ 000142 constant entry external dcl 291 ref 377 xmail_Review_Processing_ 000144 constant entry external dcl 292 ref 385 xmail_create_menu_ 000050 constant entry external dcl 262 ref 334 xmail_data based structure level 1 dcl 2-54 xmail_data_ptr 000164 external static pointer initial dcl 2-52 ref 352 482 484 485 510 521 522 523 1045 1047 1199 1315 1318 1321 1342 1344 1363 1365 1408 1409 1413 1414 xmail_default_fkeys_ 000052 constant entry external dcl 263 ref 484 xmail_display_help_ 000054 constant entry external dcl 264 ref 396 647 713 790 794 796 1224 xmail_err_$exit_now 000020 external static fixed bin(35,0) dcl 243 ref 357 xmail_err_$help_requested 000016 external static fixed bin(35,0) dcl 242 ref 356 xmail_error_$code_first 000056 constant entry external dcl 265 ref 1171 xmail_error_$no_code 000060 constant entry external dcl 266 ref 335 424 466 504 603 616 668 681 733 755 818 831 892 905 969 982 1122 1157 1180 1207 1245 1247 xmail_get_choice_ 000062 constant entry external dcl 267 ref 352 xmail_get_str_ 000064 constant entry external dcl 268 ref 436 644 709 783 861 936 1012 1137 1220 xmail_get_str_$yes_no 000066 constant entry external dcl 269 ref 1166 xmail_im_mgr_$defer_messages 000070 constant entry external dcl 270 ref 1316 xmail_im_mgr_$print_messages 000072 constant entry external dcl 271 ref 1322 xmail_im_mgr_$restore_original 000074 constant entry external dcl 272 ref 1323 xmail_print_$get_copies 000112 constant entry external dcl 279 ref 889 xmail_print_$get_destination 000102 constant entry external dcl 275 ref 665 xmail_print_$get_heading 000076 constant entry external dcl 273 ref 600 xmail_print_$get_left_margin 000116 constant entry external dcl 281 ref 966 xmail_print_$get_notify 000122 constant entry external dcl 283 ref 815 xmail_print_$get_request_type 000106 constant entry external dcl 277 ref 730 xmail_print_$set_copies 000114 constant entry external dcl 280 ref 902 xmail_print_$set_destination 000104 constant entry external dcl 276 ref 678 xmail_print_$set_heading 000100 constant entry external dcl 274 ref 613 xmail_print_$set_left_margin 000120 constant entry external dcl 282 ref 979 xmail_print_$set_notify 000124 constant entry external dcl 284 ref 828 xmail_print_$set_request_type 000110 constant entry external dcl 278 ref 745 xmail_redisplay_menu 000504 stack reference condition dcl 303 ref 328 xmail_select_file_ 000150 constant entry external dcl 294 ref 1160 xmail_value_$delete 000152 constant entry external dcl 296 ref 749 xmail_value_$get 000154 constant entry external dcl 297 ref 421 1119 1417 xmail_value_$set 000156 constant entry external dcl 298 ref 463 1154 1177 xmail_window_info_format based structure level 1 dcl 5-10 xmail_window_manager_$reconnect 000160 constant entry external dcl 299 ref 343 xmail_windows 000166 external static structure level 1 dcl 5-5 yes_sw 000447 automatic bit(1) dcl 173 set ref 1163* 1166* 1169 1176 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALL internal static char(3) initial packed unaligned dcl 4-16 CREATE_MFILE_INFO internal static char(19) initial packed unaligned dcl 3-21 DATE internal static char(4) initial packed unaligned dcl 4-16 DATE_INFO internal static char(14) initial packed unaligned dcl 3-21 DEL_MSG_SELECT_INFO internal static char(23) initial packed unaligned dcl 3-21 F internal static char(1) initial packed unaligned dcl 4-16 FIRST internal static char(5) initial packed unaligned dcl 4-16 GENERAL_HELP_HELP internal static char(26) initial packed unaligned dcl 3-13 GETTING_HELP_INFO internal static char(12) initial packed unaligned dcl 3-21 GETTING_STARTED_HELP internal static char(29) initial packed unaligned dcl 3-13 INITIAL_HELP internal static char(26) initial packed unaligned dcl 3-13 KEY_CTRL internal static fixed bin(17,0) initial dcl 8-22 KEY_CTRL_AND_SHIFT internal static fixed bin(17,0) initial dcl 8-22 KEY_PLAIN internal static fixed bin(17,0) initial dcl 8-22 KEY_SHIFT internal static fixed bin(17,0) initial dcl 8-22 L internal static char(1) initial packed unaligned dcl 4-16 LAST internal static char(4) initial packed unaligned dcl 4-16 MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 1-100 MORE_HELP_INFO internal static char(9) initial packed unaligned dcl 3-21 MSG_SELECT_INFO internal static char(14) initial packed unaligned dcl 3-21 MULTICS_MODE_HELP internal static char(27) initial packed unaligned dcl 3-13 NEW internal static char(3) initial packed unaligned dcl 4-16 NEXT internal static char(4) initial packed unaligned dcl 4-16 P internal static char(1) initial packed unaligned dcl 4-16 PREV internal static char(4) initial packed unaligned dcl 4-16 PROMPT_REPLIES_HELP internal static char(28) initial packed unaligned dcl 3-13 QUESTION internal static char(1) initial packed unaligned dcl 4-16 SEARCH internal static char(6) initial packed unaligned dcl 4-16 SEARCH_STR_INFO internal static char(14) initial packed unaligned dcl 3-21 SEEN internal static char(4) initial packed unaligned dcl 4-16 UNSEEN internal static char(6) initial packed unaligned dcl 4-16 USE_SPEC_SET_INFO internal static char(12) initial packed unaligned dcl 3-21 break_table_info based structure level 1 dcl 6-76 break_table_info_version internal static fixed bin(17,0) initial dcl 6-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 6-80 break_table_ptr automatic pointer dcl 6-75 function_key_data_highest automatic fixed bin(17,0) dcl 8-35 function_key_data_version_1 internal static fixed bin(17,0) initial dcl 8-36 function_key_seqs based char packed unaligned dcl 8-32 get_editor_key_bindings_info based structure level 1 dcl 6-151 get_editor_key_bindings_info_ptr automatic pointer dcl 6-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 6-160 key_info_ptr automatic pointer dcl 8-38 line_editor_binding_count automatic fixed bin(17,0) dcl 6-121 line_editor_key_binding_info based structure level 1 dcl 6-129 line_editor_key_binding_info_ptr automatic pointer dcl 6-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 6-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 6-123 menu_$create 000000 constant entry external dcl 1-8 menu_$delete 000000 constant entry external dcl 1-61 menu_$describe 000000 constant entry external dcl 1-35 menu_$destroy 000000 constant entry external dcl 1-41 menu_$get_choice 000000 constant entry external dcl 1-26 menu_$list 000000 constant entry external dcl 1-67 menu_$retrieve 000000 constant entry external dcl 1-54 menu_$store 000000 constant entry external dcl 1-46 menu_format based structure level 1 dcl 1-76 menu_format_ptr automatic pointer dcl 1-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 1-97 menu_requirements based structure level 1 dcl 1-88 menu_requirements_ptr automatic pointer dcl 1-95 menu_requirements_version_1 internal static fixed bin(17,0) initial dcl 1-97 more_handler_info based structure level 1 dcl 6-83 more_handler_info_ptr automatic pointer dcl 6-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 6-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 6-94 more_prompt_info based structure level 1 dcl 6-108 more_prompt_info_ptr automatic pointer dcl 6-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 6-114 more_responses_info based structure level 1 dcl 6-59 more_responses_info_ptr automatic pointer dcl 6-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 6-67 more_responses_version internal static fixed bin(17,0) initial dcl 6-67 set_editor_key_bindings_info based structure level 1 dcl 6-162 set_editor_key_bindings_info_ptr automatic pointer dcl 6-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 6-172 terminal_info_ptr automatic pointer dcl 9-15 token_characters_info based structure level 1 dcl 6-97 token_characters_info_ptr automatic pointer dcl 6-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 6-106 window_$change_column 000000 constant entry external dcl 7-63 window_$change_line 000000 constant entry external dcl 7-59 window_$clear_region 000000 constant entry external dcl 7-7 window_$clear_to_end_of_line 000000 constant entry external dcl 7-9 window_$clear_to_end_of_window 000000 constant entry external dcl 7-11 window_$create 000000 constant entry external dcl 7-72 window_$delete_chars 000000 constant entry external dcl 7-15 window_$destroy 000000 constant entry external dcl 7-74 window_$edit_line 000000 constant entry external dcl 7-76 window_$get_cursor_position 000000 constant entry external dcl 7-17 window_$get_echoed_chars 000000 constant entry external dcl 7-22 window_$get_one_unechoed 000000 constant entry external dcl 7-67 window_$get_one_unechoed_char 000000 constant entry external dcl 7-67 window_$get_unechoed_chars 000000 constant entry external dcl 7-25 window_$insert_text 000000 constant entry external dcl 7-28 window_$overwrite_text 000000 constant entry external dcl 7-29 window_$position_cursor 000000 constant entry external dcl 7-31 window_$position_cursor_rel 000000 constant entry external dcl 7-36 window_$scroll_region 000000 constant entry external dcl 7-42 window_$sync 000000 constant entry external dcl 7-44 window_$write_raw_text 000000 constant entry external dcl 7-48 window_$write_sync_read 000000 constant entry external dcl 7-53 window_edit_line_info based structure level 1 unaligned dcl 6-177 window_edit_line_info_ptr automatic pointer dcl 6-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 6-183 window_position_info_ptr automatic pointer dcl 6-37 window_position_info_version internal static fixed bin(17,0) initial dcl 6-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 6-35 window_status_info based structure level 1 dcl 6-45 window_status_info_ptr automatic pointer dcl 6-43 window_status_version internal static fixed bin(17,0) initial dcl 6-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 6-52 xmail_version internal static varying char(10) initial dcl 2-84 NAMES DECLARED BY EXPLICIT CONTEXT. CHANGE_TO_DEFAULT_KEYS 015747 constant entry internal dcl 474 ref 516 1386 CHECK_VALUE_YN 015106 constant entry internal dcl 402 ref 1042 1070 1087 1103 1264 1272 1288 1309 1339 1360 1382 1403 CHECK_VALUE_YN_EXIT 015746 constant label dcl 469 ref 425 CONVERT 016231 constant entry internal dcl 529 ref 945 1021 EXIT 003550 constant label dcl 360 ref 357 EXPLAIN_OPTION 015027 constant entry internal dcl 391 ref 356 OPT 000000 constant label array(3) dcl 376 ref 374 OPT_EXIT 015026 constant label dcl 388 ref 378 382 386 PERFORM_OPTION 014757 constant entry internal dcl 364 ref 355 START 003446 constant label dcl 350 ref 341 344 TEST_AND_CHANGE_FUNCTION_KEYS 016002 constant entry internal dcl 489 ref 1388 1418 acknowledge 010251 constant entry external dcl 1060 confirm_print 010103 constant entry external dcl 1032 copies 006537 constant entry external dcl 879 copies_exit 007013 constant label dcl 908 ref 893 destination 004301 constant entry external dcl 655 destination_exit 004552 constant label dcl 684 set ref 669 escape_keys 014375 constant entry external dcl 1372 file_original 013530 constant entry external dcl 1278 full_name 012252 constant entry external dcl 1187 full_name_exit 013226 constant label dcl 1250 ref 1208 get_new_copies 007020 constant entry external dcl 910 get_new_destination 004555 constant entry external dcl 686 get_new_header 004032 constant entry external dcl 621 get_new_margin 007602 constant entry external dcl 987 get_new_notify 006221 constant entry external dcl 836 get_new_station 005337 constant entry external dcl 760 header 003554 constant entry external dcl 590 header_exit 004025 constant label dcl 619 ref 604 include_original 013231 constant entry external dcl 1252 interactive_msgs 013670 constant entry external dcl 1299 left_margin 007323 constant entry external dcl 956 left_margin_exit 007577 constant label dcl 985 ref 970 lists_as_menus 014061 constant entry external dcl 1329 minus_suffix 016311 constant entry internal dcl 556 ref 1126 msgs_as_mail 010551 constant entry external dcl 1093 multics_mode 014534 constant entry external dcl 1393 notify 005730 constant entry external dcl 805 notify_exit 006214 constant label dcl 834 ref 819 remove_menu 014227 constant entry external dcl 1350 save_mailbox 010711 constant entry external dcl 1109 save_messages 010411 constant entry external dcl 1077 savebox_exit 012247 constant label dcl 1185 ref 1123 1161 station 005025 constant entry external dcl 720 station_exit 005334 constant label dcl 758 ref 734 xmail_Review_Defaults_ 003220 constant entry external dcl 68 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 20572 20770 17367 20602 Length 21650 17367 176 643 1202 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_Review_Defaults_ 607 external procedure is an external procedure. on unit on line 328 74 on unit on unit on line 341 64 on unit on unit on line 342 64 on unit PERFORM_OPTION internal procedure shares stack frame of external procedure xmail_Review_Defaults_. EXPLAIN_OPTION internal procedure shares stack frame of external procedure xmail_Review_Defaults_. CHECK_VALUE_YN 131 internal procedure is called during a stack extension. CHANGE_TO_DEFAULT_KEYS internal procedure shares stack frame of external procedure xmail_Review_Defaults_. TEST_AND_CHANGE_FUNCTION_KEYS internal procedure shares stack frame of external procedure xmail_Review_Defaults_. CONVERT 236 internal procedure enables or reverts conditions. on unit on line 546 64 on unit minus_suffix 81 internal procedure uses auto adjustable storage, uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 menu xmail_Review_Defaults_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME minus_suffix 000100 reverse_suffix minus_suffix 000100 reverse_name minus_suffix xmail_Review_Defaults_ 000100 answer_yn xmail_Review_Defaults_ 000102 changed_value xmail_Review_Defaults_ 000103 choice xmail_Review_Defaults_ 000104 code xmail_Review_Defaults_ 000105 create xmail_Review_Defaults_ 000106 dir xmail_Review_Defaults_ 000160 display_needed xmail_Review_Defaults_ 000161 exists xmail_Review_Defaults_ 000162 generic_type xmail_Review_Defaults_ 000172 new_full_name xmail_Review_Defaults_ 000202 prefix xmail_Review_Defaults_ 000213 prompt_string xmail_Review_Defaults_ 000276 response xmail_Review_Defaults_ 000361 response_bin xmail_Review_Defaults_ 000362 save_mailbox xmail_Review_Defaults_ 000373 status xmail_Review_Defaults_ 000374 unused_return_length xmail_Review_Defaults_ 000375 use_default_fkeys xmail_Review_Defaults_ 000376 user_copies xmail_Review_Defaults_ 000377 user_destination xmail_Review_Defaults_ 000405 user_header xmail_Review_Defaults_ 000425 user_lmargin xmail_Review_Defaults_ 000426 user_notify xmail_Review_Defaults_ 000427 user_request_type xmail_Review_Defaults_ 000435 value_name xmail_Review_Defaults_ 000446 valid xmail_Review_Defaults_ 000447 yes_sw xmail_Review_Defaults_ 000450 this_terminal_info xmail_Review_Defaults_ 000512 function_key_data_ptr xmail_Review_Defaults_ 000514 new_option_name xmail_Review_Defaults_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp realloc_char_temp call_ext_out_desc call_ext_out call_int_this_desc return_mac tra_ext_1 alloc_auto_adj enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc reverse_cs set_chars_eis index_chars_eis return_chars_eis any_to_any_truncate_op_freen_ index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_pdir_ ioa_ ioa_$rsnnl iod_info_$generic_type iox_$control menu_$display mlsys_utils_$create_savebox ttt_info_$function_key_data value_$get value_$set window_$bell window_$clear_window xmail_Review_Defaults_$get_new_copies xmail_Review_Defaults_$get_new_destination xmail_Review_Defaults_$get_new_header xmail_Review_Defaults_$get_new_margin xmail_Review_Defaults_$get_new_notify xmail_Review_Defaults_$get_new_station xmail_Review_Outgoing_ xmail_Review_Printing_ xmail_Review_Processing_ xmail_create_menu_ xmail_default_fkeys_ xmail_display_help_ xmail_error_$code_first xmail_error_$no_code xmail_get_choice_ xmail_get_str_ xmail_get_str_$yes_no xmail_im_mgr_$defer_messages xmail_im_mgr_$print_messages xmail_im_mgr_$restore_original xmail_print_$get_copies xmail_print_$get_destination xmail_print_$get_heading xmail_print_$get_left_margin xmail_print_$get_notify xmail_print_$get_request_type xmail_print_$set_copies xmail_print_$set_destination xmail_print_$set_heading xmail_print_$set_left_margin xmail_print_$set_notify xmail_print_$set_request_type xmail_select_file_ xmail_value_$delete xmail_value_$get xmail_value_$set xmail_window_manager_$reconnect THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_conversion error_table_$no_w_permission error_table_$oldnamerr iox_$user_io iox_$user_output xmail_data_ptr xmail_err_$exit_now xmail_err_$help_requested xmail_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 68 003217 328 003225 329 003241 331 003261 333 003262 334 003267 335 003317 341 003357 342 003376 343 003412 344 003416 347 003421 348 003433 350 003446 352 003450 354 003520 355 003521 356 003526 357 003534 358 003536 359 003547 360 003550 590 003551 598 003567 600 003572 601 003607 603 003611 604 003651 607 003652 609 003667 612 003721 613 003725 614 003742 616 003765 619 004025 621 004026 635 004052 637 004055 639 004111 642 004125 643 004126 644 004130 645 004201 647 004245 649 004273 650 004275 652 004276 655 004277 663 004314 665 004317 666 004334 668 004336 669 004376 672 004377 674 004414 677 004446 678 004452 679 004467 681 004512 684 004552 686 004553 700 004575 702 004600 704 004634 707 004650 708 004651 709 004654 710 004725 713 004771 715 005017 716 005021 718 005022 720 005023 728 005040 730 005043 731 005060 733 005062 734 005122 737 005123 739 005140 742 005172 744 005177 745 005203 746 005220 748 005221 749 005224 750 005244 753 005251 755 005274 758 005334 760 005335 774 005357 776 005362 778 005416 781 005432 782 005433 783 005436 784 005507 785 005516 787 005560 790 005570 793 005615 794 005645 796 005673 798 005722 801 005724 803 005725 805 005726 813 005743 815 005745 816 005762 818 005764 819 006024 822 006025 824 006050 827 006102 828 006106 829 006123 831 006154 834 006214 836 006215 851 006246 853 006251 855 006276 859 006312 860 006313 861 006316 865 006367 866 006407 867 006425 868 006442 869 006447 872 006464 874 006517 875 006533 877 006534 879 006535 887 006552 889 006554 890 006571 892 006573 893 006633 896 006634 898 006655 901 006707 902 006713 903 006730 905 006753 908 007013 910 007014 925 007040 926 007043 928 007044 930 007065 934 007101 935 007102 936 007104 937 007155 939 007164 941 007213 945 007240 946 007261 949 007303 950 007306 952 007317 954 007320 956 007321 964 007336 966 007340 967 007355 969 007357 970 007417 973 007420 975 007441 978 007473 979 007477 980 007514 982 007537 985 007577 987 007600 1002 007622 1003 007625 1005 007626 1007 007647 1010 007663 1011 007664 1012 007666 1013 007737 1015 007746 1017 007775 1021 010022 1022 010043 1025 010063 1026 010066 1028 010077 1030 010100 1032 010101 1040 010116 1042 010136 1043 010176 1045 010201 1047 010214 1049 010221 1052 010246 1060 010247 1068 010264 1070 010304 1071 010344 1074 010406 1077 010407 1085 010424 1087 010444 1088 010504 1091 010546 1093 010547 1101 010564 1103 010604 1104 010644 1107 010706 1109 010707 1117 010724 1119 010744 1120 010775 1122 011000 1123 011040 1126 011041 1127 011105 1128 011126 1133 011142 1134 011143 1136 011167 1137 011172 1141 011233 1142 011251 1143 011263 1144 011274 1146 011313 1148 011341 1149 011355 1151 011356 1153 011403 1154 011410 1155 011455 1157 011513 1158 011553 1159 011554 1160 011561 1161 011641 1163 011643 1164 011644 1165 011652 1166 011702 1169 011717 1170 011725 1171 011756 1173 012020 1176 012040 1177 012051 1178 012126 1180 012164 1181 012224 1182 012225 1185 012247 1187 012250 1197 012265 1199 012270 1201 012342 1203 012374 1207 012415 1208 012454 1209 012455 1211 012456 1214 012476 1218 012512 1219 012513 1220 012516 1222 012565 1224 012624 1226 012652 1227 012654 1229 012655 1232 012707 1233 012755 1235 012760 1236 013000 1237 013014 1238 013015 1239 013020 1240 013066 1242 013071 1243 013111 1244 013125 1245 013126 1246 013166 1247 013167 1250 013226 1252 013227 1262 013244 1264 013264 1265 013324 1268 013366 1270 013406 1271 013421 1272 013426 1273 013474 1276 013525 1278 013526 1286 013543 1288 013563 1289 013623 1292 013665 1299 013666 1307 013703 1309 013723 1310 013763 1312 013766 1313 014014 1315 014021 1316 014026 1317 014032 1318 014033 1321 014043 1322 014045 1323 014051 1327 014056 1329 014057 1337 014074 1339 014114 1340 014154 1342 014157 1344 014172 1345 014177 1348 014224 1350 014225 1358 014242 1360 014262 1361 014322 1363 014325 1365 014340 1367 014345 1370 014372 1372 014373 1380 014410 1382 014430 1383 014470 1385 014473 1386 014521 1388 014530 1391 014531 1393 014532 1401 014547 1403 014567 1404 014627 1406 014632 1408 014637 1409 014644 1410 014646 1411 014661 1413 014662 1414 014667 1415 014671 1417 014704 1418 014745 1422 014756 364 014757 373 014761 374 014773 376 014776 377 015000 378 015005 380 015006 381 015010 382 015015 384 015016 385 015020 386 015025 388 015026 391 015027 395 015031 396 015043 400 015103 402 015105 419 015133 421 015135 422 015156 424 015161 425 015221 428 015222 429 015250 432 015264 433 015266 434 015271 436 015335 441 015402 442 015421 443 015433 444 015444 445 015455 446 015462 448 015477 450 015516 453 015551 454 015552 456 015571 458 015605 460 015606 463 015641 464 015677 466 015706 469 015746 474 015747 482 015750 484 015762 485 015773 487 016001 489 016002 498 016003 502 016004 503 016006 504 016040 507 016074 508 016122 510 016127 513 016140 515 016142 516 016151 517 016152 518 016166 519 016202 521 016203 522 016215 523 016222 527 016227 529 016230 544 016244 546 016246 549 016274 551 016305 552 016307 556 016310 565 016331 566 016344 574 016357 575 016410 577 016441 579 016500 ----------------------------------------------------------- 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