COMPILATION LISTING OF SEGMENT xmail_Review_Mlist_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 09/02/88 0750.6 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 xmail_Review_Mlist_: proc (); 12 13 /* Author unknown 14* 15* 83-07-27 DJ Schimke: Changed the mailing list suffix to "mls" to conform 16* with the mail_system_ standard. Note that xmail_dir_manager_$open will 17* add names with ".mls" suffix to any mailing lists with the ".mlist" suffix. 18* This is part of the conversion to the new mail_system_ interfaces using 19* version 2 mailboxes. 20* 21* 83-10-04 DJ Schimke: Changed OPT (4): of PERFORM_OPTION to call 22* xmail_get_str_$yes_no rather than xmail_get_str_. Also added cleanup 23* handler and cleaned up other problems uncovered by audit. 24* 25* 83-11-01 DJ Schimke: Changed the calling sequence of xmail_select_file_. 26* 27* 84-07-03 DJ Schimke: Modified to use a three-column menu format changing 28* the calls to xmail_create_emnu_ to include a N_COLUMNS parameter. 29**/ 30 31 /* Automatic */ 32 33 dcl prompt_string char (80) var; 34 dcl default_list char (24) var; 35 dcl choice fixed bin; 36 dcl code fixed bin (35); 37 dcl dir char (168); 38 dcl list_display char (38) varying; 39 dcl file char (32) var; 40 dcl new_dir char (168); 41 dcl new_file char (32) var; 42 dcl redisplay_menu bit (1) aligned; 43 dcl unused_bit bit (1) aligned; 44 dcl unused_bit2 bit (1) aligned; 45 46 /* Entries */ 47 48 dcl get_system_free_area_ entry () returns (ptr); 49 dcl hcs_$star_ entry (char (*), char (*), fixed bin (2), ptr, fixed bin, ptr, ptr, fixed bin (35)); 50 dcl ioa_$rsnnl entry () options (variable); 51 dcl ioa_ entry () options (variable); 52 dcl ioa_$nnl entry () options (variable); 53 dcl window_$bell entry (ptr, fixed bin (35)); 54 dcl window_$clear_window entry (ptr, fixed bin (35)); 55 dcl xmail_create_menu_ entry (char (*), (*) char (*) var, fixed bin, ptr, fixed bin (35)); 56 dcl xmail_delete_mlist_ entry (char (*), char (*)); 57 dcl xmail_display_help_ entry (char (*), char (*), fixed bin (35)); 58 dcl xmail_display_mlist_ entry (char (*), char (*)); 59 dcl xmail_dprint_mlist_ entry (char (*), char (*)); 60 dcl xmail_error_$no_code entry () options (variable); 61 dcl xmail_get_choice_ entry (ptr, char (*), char (*), char (*), char (*), bit (1) aligned, char (*), fixed bin, fixed bin (35)); 62 dcl xmail_select_file_$caller_msg entry (char (*), char (*), char (*), bit (1) aligned, bit (1) aligned, 63 char (168), char (32) var, char (*), bit (1) aligned, bit (1) aligned, fixed bin (35)); 64 dcl xmail_create_mlist_ entry (char (*), fixed bin (35)); 65 dcl xmail_update_mlist_ entry (char (*), char (*)); 66 67 /* Internal Static */ 68 69 dcl menup ptr init (null) int static; 70 71 /* Constants */ 72 73 dcl ALLOW_NEW bit (1) aligned init ("1"b) static options (constant); 74 dcl ALLOW_OLD bit (1) aligned init ("1"b) static options (constant); 75 dcl DONT_ALLOW_NEW bit (1) aligned init ("0"b) static options (constant); 76 dcl DONT_ALLOW_OLD bit (1) aligned init ("0"b) static options (constant); 77 dcl MLIST_SUFFIX char (3) init ("mls") int static options (constant); 78 dcl NAME char (19) init ("xmail_Review_Mlist_") int static options (constant); 79 dcl N_COLUMNS fixed bin static options (constant) init (3); 80 81 dcl OPTION_NAMES static options (constant) init ( 82 "Create", 83 "Display", 84 "Update", 85 "Discard", 86 "Rename", 87 "Print") dim (6) char (15) varying; 88 89 /* External Static */ 90 91 dcl (xmail_err_$help_requested, 92 xmail_err_$exit_now, 93 error_table_$nomatch) fixed bin (35) ext static; 94 95 dcl iox_$user_output ptr ext; 96 dcl msg_to_user static options (constant) init 97 ("You have no mailing lists.") char (26); 98 99 100 dcl (cleanup, program_interrupt, quit, xmail_redisplay_menu) condition; 101 102 dcl (null, rtrim, sum, translate) builtin; 103 104 star_names_ptr = null (); 105 star_entry_ptr = null (); 106 on condition (cleanup) call CLEAN_UP; 107 108 on condition (xmail_redisplay_menu) begin; 109 if menup ^= null 110 then call menu_$display (xmail_windows.menu.iocb, menup, (0)); /* ignore errors, can't recover */ 111 end; 112 113 if menup = null then do; 114 call xmail_create_menu_ (" Mailing Lists ", OPTION_NAMES, N_COLUMNS, menup, code); 115 if code ^= 0 then call review_mlists_err (code, "While creating menu."); 116 end; 117 118 default_list = ""; 119 list_display = ""; 120 file = " "; 121 122 on condition (quit) 123 begin; 124 dcl xmail_window_manager_$reconnect entry (); 125 call xmail_window_manager_$reconnect (); 126 go to START; 127 end; 128 129 on condition (program_interrupt) go to START; 130 131 call window_$clear_window (iox_$user_output, (0));/* ignore errors, can't recover */ 132 call ioa_ (" "); 133 134 START: 135 136 call hcs_$star_ ((xmail_data.mail_dir), "**." || MLIST_SUFFIX, 2, get_system_free_area_ (), star_entry_count, star_entry_ptr, star_names_ptr, code); 137 if code ^= 0 & code ^= error_table_$nomatch 138 then call review_mlists_err (code, "While getting mailing list count."); 139 redisplay_menu = "1"b; 140 do while ("1"b); 141 call xmail_get_choice_ (menup, (list_display), "", "", xmail_data.normal_usage, redisplay_menu, "", choice, code); 142 redisplay_menu = "0"b; 143 if code = 0 144 then call PERFORM_OPTION (choice, redisplay_menu); 145 else if code = xmail_err_$help_requested 146 then call EXPLAIN_OPTION (choice); 147 else if code = xmail_err_$exit_now 148 then go to EXIT; 149 else call window_$bell (iox_$user_output, (0)); 150 end; /* do while */ 151 152 EXIT: 153 154 return; 155 156 PERFORM_OPTION: proc (P_opt, P_redisplay); 157 158 dcl P_opt fixed bin; 159 dcl P_redisplay bit (1) aligned; 160 dcl new_mlist_name char (24) varying; 161 dcl new_seg_prefix char (32) varying; 162 dcl seg_dir char (168); 163 164 dcl hcs_$chname_file entry (char (*), char (*), char (*), char (*), 165 fixed bin (35)); 166 dcl xmail_get_str_$yes_no entry (char (*) var, bit (1) aligned); 167 dcl yes_sw bit (1) aligned; 168 169 170 171 call window_$clear_window (iox_$user_output, (0)); 172 go to OPT (P_opt); 173 174 175 OPT (1): /* Create option */ 176 177 new_mlist_name = ""; 178 call xmail_create_mlist_ ((new_mlist_name), code); 179 if code = 0 180 then do; 181 default_list = new_mlist_name; 182 star_entry_count = star_entry_count + 1; 183 end; 184 return; 185 186 OPT (2): /* Display option */ 187 188 if star_entry_count = 0 189 then do; 190 call ioa_ (msg_to_user); 191 return; 192 end; 193 194 call SELECT_NEW_FILE ("displayed", (default_list)); 195 196 call xmail_display_mlist_ (dir, file || "." || MLIST_SUFFIX); 197 return; 198 199 200 201 OPT (3): /* Update option */ 202 203 if star_entry_count = 0 204 then do; 205 call ioa_ (msg_to_user); 206 return; 207 end; 208 209 call SELECT_NEW_FILE ("updated", (default_list)); 210 211 call xmail_update_mlist_ (dir, file || "." || MLIST_SUFFIX); 212 return; 213 214 OPT (4): /* Discard option */ 215 216 if star_entry_count = 0 217 then do; 218 call ioa_ (msg_to_user); 219 return; 220 end; 221 call SELECT_NEW_FILE ("discarded", (default_list)); 222 223 call ioa_$rsnnl ("Do you want to discard mailing list ""^a"" ? ", prompt_string, (0), file, code); 224 call xmail_get_str_$yes_no (prompt_string, yes_sw); 225 if yes_sw then do; 226 call xmail_delete_mlist_ (dir, file || "." || MLIST_SUFFIX); 227 default_list = ""; 228 star_entry_count = star_entry_count - 1; 229 if star_entry_count = 0 then call ioa_ ("You have no mail list."); 230 end; 231 return; 232 233 OPT (5): /* Rename option */ 234 235 if star_entry_count = 0 236 then do; 237 call ioa_ (msg_to_user); 238 return; 239 end; 240 call SELECT_NEW_FILE ("renamed", (default_list)); 241 242 call ioa_$nnl ("Renaming ""^a"": ", file); 243 call xmail_select_file_$caller_msg ("mailing list", MLIST_SUFFIX, "", DONT_ALLOW_OLD, ALLOW_NEW, seg_dir, new_seg_prefix, "New name", unused_bit, unused_bit2, code); 244 if code ^= 0 245 then do; 246 call ioa_ ("Selection of new mailing list name not successful."); 247 return; 248 end; 249 250 call hcs_$chname_file (rtrim (seg_dir), file || "." || MLIST_SUFFIX, 251 file || "." || MLIST_SUFFIX, 252 rtrim (new_seg_prefix) || "." || MLIST_SUFFIX, code); 253 call ioa_ ("Mailing list name changed from ""^a"" to ""^a"".", file, 254 new_seg_prefix); 255 file = new_seg_prefix; 256 default_list = file; 257 return; 258 259 OPT (6): /* Print option */ 260 261 if star_entry_count = 0 262 then do; 263 call ioa_ (msg_to_user); 264 return; 265 end; 266 call SELECT_NEW_FILE ("printed", (default_list)); 267 268 call xmail_dprint_mlist_ (dir, file || "." || MLIST_SUFFIX); 269 return; 270 271 end PERFORM_OPTION; 272 273 274 EXPLAIN_OPTION: proc (opt); 275 276 dcl opt fixed bin; 277 278 call window_$clear_window (iox_$user_output, (0)); 279 call xmail_display_help_ (NAME || ".gi.info", 280 translate (OPTION_NAMES (opt), "_", " "), code); 281 if code ^= 0 then call review_mlists_err (code, "Unable to display help for this option."); 282 283 end EXPLAIN_OPTION; 284 285 review_mlists_err: proc (P_code, P_str); 286 287 dcl P_code fixed bin (35); 288 dcl P_str char (*); 289 290 call xmail_error_$no_code (code, NAME, "l", P_str); 291 go to EXIT; 292 293 end review_mlists_err; 294 295 SELECT_NEW_FILE: proc (P_text, P_default); 296 297 dcl P_text char (*) parameter; 298 dcl P_default char (*) parameter; 299 300 dcl message char (78) varying; 301 302 message = "Enter name of list to be " || P_text || " "; 303 304 call xmail_select_file_$caller_msg ("list", MLIST_SUFFIX, (P_default), ALLOW_OLD, DONT_ALLOW_NEW, new_dir, new_file, (message), unused_bit, unused_bit2, code); 305 if code ^= 0 then return; 306 dir = new_dir; 307 file = new_file; 308 default_list = file; 309 return; 310 311 end SELECT_NEW_FILE; 312 313 CLEAN_UP: proc; 314 if star_names_ptr ^= null () then free star_names;/* order is important */ 315 if star_entry_ptr ^= null () then free star_entries; 316 end CLEAN_UP; 317 318 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 */ 319 320 2 1 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 2 2 2 3 /* This include file contains structures for the hcs_$star_, 2 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 2 5* 2 6* Written 23 October 1978 by Monte Davidoff. 2 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 2 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 2 9**/ 2 10 2 11 /* automatic */ 2 12 2 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 2 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 2 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 2 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 2 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 2 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 2 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 2 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 2 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 2 22 2 23 /* based */ 2 24 2 25 /* hcs_$star_ entry structure */ 2 26 2 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 2 28 2 type fixed binary (2) unsigned unaligned, 2 29 /* storage system type */ 2 30 2 nnames fixed binary (16) unsigned unaligned, 2 31 /* number of names of entry that match star_name */ 2 32 2 nindex fixed binary (18) unsigned unaligned; 2 33 /* index of first name in star_names */ 2 34 2 35 /* hcs_$star_ name structure */ 2 36 2 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 2 38 2 39 /* hcs_$star_list_ branch structure */ 2 40 2 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 42 2 type fixed binary (2) unsigned unaligned, 2 43 /* storage system type */ 2 44 2 nnames fixed binary (16) unsigned unaligned, 2 45 /* number of names of entry that match star_name */ 2 46 2 nindex fixed binary (18) unsigned unaligned, 2 47 /* index of first name in star_list_names */ 2 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 2 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 2 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 2 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 2 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 2 53 2 pad bit (7) unaligned, 2 54 2 records fixed binary (18) unsigned unaligned; 2 55 /* records used by branch */ 2 56 2 57 /* hcs_$star_dir_list_ branch structure */ 2 58 2 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 60 2 type fixed binary (2) unsigned unaligned, 2 61 /* storage system type */ 2 62 2 nnames fixed binary (16) unsigned unaligned, 2 63 /* number of names of entry that match star_name */ 2 64 2 nindex fixed binary (18) unsigned unaligned, 2 65 /* index of first name in star_list_names */ 2 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 2 67 2 pad bit (36) unaligned, 2 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 2 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 2 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 2 71 2 bit_count fixed binary (24) unaligned; 2 72 /* bit count of the branch */ 2 73 2 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 2 75 2 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 2 77 2 type fixed binary (2) unsigned unaligned, 2 78 /* storage system type */ 2 79 2 nnames fixed binary (16) unsigned unaligned, 2 80 /* number of names of entry that match star_name */ 2 81 2 nindex fixed binary (18) unsigned unaligned, 2 82 /* index of first name in star_list_names */ 2 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 2 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 2 85 2 pathname_len fixed binary (18) unsigned unaligned, 2 86 /* length of the pathname of the link */ 2 87 2 pathname_index fixed binary (18) unsigned unaligned; 2 88 /* index of start of pathname in star_list_names */ 2 89 2 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 2 91 2 92 declare star_list_names char (32) based (star_list_names_ptr) 2 93 dimension (star_links (star_branch_count + star_link_count).nindex 2 94 + star_links (star_branch_count + star_link_count).nnames 2 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 2 96 * binary ( 2 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 2 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 2 99 2 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 2 101 2 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 2 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 2 104 2 105 /* internal static */ 2 106 2 107 /* star_select_sw values */ 2 108 2 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 2 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 2 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 2 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 2 113 fixed binary (3) internal static options (constant) initial (5); 2 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 2 115 fixed binary (3) internal static options (constant) initial (7); 2 116 2 117 /* storage system types */ 2 118 2 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 2 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 2 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 2 122 2 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 321 322 3 1 /* Begin include file: xmail_windows.incl.pl1 */ 3 2 /* Created 6/24/81 by Paul Kyzivat */ 3 3 /* Mofified 6/20/84 by DJ Schimke to add the mm_status window */ 3 4 3 5 dcl 1 xmail_windows aligned external static, 3 6 2 initial_position fixed bin, 3 7 2 min_lines_needed fixed bin, 3 8 2 (status, mm_status, menu, bottom) aligned like xmail_window_info_format; 3 9 3 10 dcl 1 xmail_window_info_format aligned based, 3 11 2 iocb ptr, 3 12 2 position aligned like window_position_info; 3 13 4 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 4 2 /* format: style3 */ 4 3 4 4 /* Modified 26 January 1982 by William York to add the set_more_handler 4 5* and reset_more_handler control orders. */ 4 6 /* Modified October 1982 by WMY to add set and get_token_characters, 4 7* set and get_more_prompt. */ 4 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 4 9* structure. */ 4 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 4 11* partial screen width windows. */ 4 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 4 13* This should be removed when window_info.incl.pl1 is created. */ 4 14 /* Modified 29 February 1984 by Barmar to add version 1 4 15* get_editor_key_bindings_info. */ 4 16 /* Modified 1 March 1984 by Barmar to add version 1 4 17* set_editor_key_bindings_info. */ 4 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 4 19* line_editor_key_bindings_info, which includes the name, description, and 4 20* info path */ 4 21 4 22 /* structure for the set_window_info and get_window_info 4 23* control orders. */ 4 24 4 25 dcl 1 window_position_info 4 26 based (window_position_info_ptr), 4 27 2 version fixed bin, 4 28 2 origin, 4 29 3 column fixed bin, 4 30 3 line fixed bin, 4 31 2 extent, 4 32 3 width fixed bin, 4 33 3 height fixed bin; 4 34 4 35 dcl (window_position_info_version, window_position_info_version_1) 4 36 fixed bin internal static init (1) options (constant); 4 37 dcl window_position_info_ptr 4 38 pointer; 4 39 4 40 /* structure for the set_window_status and get_window_status 4 41* control orders */ 4 42 4 43 declare window_status_info_ptr 4 44 pointer; 4 45 declare 1 window_status_info 4 46 aligned based (window_status_info_ptr), 4 47 2 version fixed bin, 4 48 2 status_string bit (36) aligned; /* string (window_status) */ 4 49 /* see window_status.incl.pl1 for the contents of this string */ 4 50 4 51 4 52 declare (window_status_version, window_status_version_1) 4 53 fixed bin internal static init (1) options (constant); 4 54 4 55 /* info structure for the set_more_responses and get_more_responses control 4 56* orders */ 4 57 4 58 4 59 dcl 1 more_responses_info 4 60 aligned based (more_responses_info_ptr), 4 61 2 version fixed bin, 4 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 4 63 2 n_noes fixed bin, 4 64 2 yeses char (32) unaligned, 4 65 2 noes char (32) unaligned; 4 66 4 67 dcl (more_responses_info_version_1, more_responses_version) 4 68 fixed bin internal static init (1) options (constant); 4 69 dcl more_responses_info_ptr 4 70 pointer; 4 71 4 72 /* structure for the set_break_table and get_break_table 4 73* control orders */ 4 74 4 75 declare break_table_ptr pointer; 4 76 declare 1 break_table_info aligned based (break_table_ptr), 4 77 2 version fixed bin, 4 78 2 breaks (0:127) bit (1) unaligned; 4 79 4 80 declare (break_table_info_version, break_table_info_version_1) 4 81 fixed bin init (1) internal static options (constant); 4 82 4 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 4 84 2 version fixed bin, 4 85 2 flags unaligned, 4 86 3 old_handler_valid 4 87 bit(1), 4 88 3 pad bit(35), 4 89 2 more_handler entry (pointer, bit(1) aligned), 4 90 2 old_more_handler entry (pointer, bit(1) aligned); 4 91 4 92 declare more_handler_info_ptr pointer; 4 93 4 94 declare (more_handler_info_version, more_handler_info_version_3) 4 95 fixed bin internal static options (constant) init (3); 4 96 4 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 4 98 2 version char(8), 4 99 2 token_character_count 4 100 fixed bin, 4 101 2 token_characters 4 102 char (128) unaligned; 4 103 4 104 declare token_characters_info_ptr pointer; 4 105 4 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 4 107 4 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 4 109 2 version char(8), 4 110 2 more_prompt char(80); 4 111 4 112 declare more_prompt_info_ptr pointer; 4 113 4 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 4 115 4 116 /* Line editor stuff ... */ 4 117 4 118 dcl line_editor_key_binding_info_ptr 4 119 pointer; 4 120 4 121 dcl line_editor_binding_count 4 122 fixed bin; 4 123 dcl line_editor_longest_sequence 4 124 fixed bin; 4 125 /* For each binding, action defines what to do for that sequence. Constants 4 126* are defined in window_editor_values.incl.pl1. Only if action is set to 4 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 4 128 4 129 dcl 1 line_editor_key_binding_info 4 130 aligned based (line_editor_key_binding_info_ptr), 4 131 2 version char(8), 4 132 2 binding_count fixed bin, 4 133 2 longest_sequence fixed bin, 4 134 2 bindings (line_editor_binding_count refer 4 135 (line_editor_key_binding_info.binding_count)), 4 136 3 sequence char(line_editor_longest_sequence refer 4 137 (line_editor_key_binding_info.longest_sequence)) varying, 4 138 3 action fixed bin, 4 139 3 numarg_action fixed binary, 4 140 3 editor_routine entry (pointer, fixed bin(35)), 4 141 3 name char (64) varying unaligned, 4 142 3 description char (256) varying unaligned, 4 143 3 info_path unaligned, 4 144 4 info_dir char (168), 4 145 4 info_entry char (32); 4 146 4 147 4 148 dcl line_editor_key_binding_info_version_3 4 149 char(8) static options (constant) init ("lekbi003"); 4 150 4 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 4 152 2 version char (8), 4 153 2 flags, 4 154 3 entire_state bit (1) unaligned, 4 155 3 mbz bit (35) unaligned, 4 156 2 key_binding_info_ptr ptr, 4 157 2 entire_state_ptr ptr; 4 158 4 159 dcl get_editor_key_bindings_info_ptr ptr; 4 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 4 161 4 162 dcl 1 set_editor_key_bindings_info aligned 4 163 based (set_editor_key_bindings_info_ptr), 4 164 2 version char (8), 4 165 2 flags, 4 166 3 replace bit (1) unaligned, 4 167 3 update bit (1) unaligned, 4 168 3 mbz bit (34) unaligned, 4 169 2 key_binding_info_ptr ptr; 4 170 4 171 dcl set_editor_key_bindings_info_ptr ptr; 4 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 4 173 4 174 /* This should be moved to window_info.incl.pl1 when that include file is 4 175* created. JR 2/1/84 */ 4 176 4 177 dcl 1 window_edit_line_info 4 178 based (window_edit_line_info_ptr), 4 179 2 version char (8), 4 180 2 line_ptr ptr, 4 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 4 182 4 183 dcl window_edit_line_info_version_1 4 184 char (8) static options (constant) init ("wedl0001"); 4 185 4 186 dcl window_edit_line_info_ptr 4 187 ptr; 4 188 4 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 3 14 3 15 3 16 /* End include file: xmail_windows.incl.pl1 */ 323 324 5 1 /* BEGIN INCLUDE FILE: xmail_data.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(85-12-20,Blair), approve(86-03-06,MCR7358), 5 6* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 7* Modified 03/15/85 by Joanne Backs adding confirm_print flag. 5 8* 2) change(85-12-20,LJAdams), approve(86-03-06,MCR7358), 5 9* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 10* Adding switch to indicate request for menu display came from general help. 5 11* This is so general help menu will be displayed in top screen. 5 12* 3) change(86-01-10,Blair), approve(86-03-06,MCR7358), 5 13* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 14* Add switch to indicate whether or not it is permissible to process mail 5 15* in other users' mailboxes (foreign_mailbox). 5 16* 4) change(86-01-13,Blair), approve(86-03-06,MCR7358), 5 17* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 18* Add bit to indicate whether or not this is a true cleanup condition. 5 19* 5) change(86-02-06,Blair), approve(86-03-06,MCR7358), 5 20* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 21* Rearrange to group all the bit flags together in one word with a pad. 5 22* 6) change(86-03-05,Blair), approve(86-03-05,MCR7358), 5 23* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 5 24* Change value_seg ptr to value_seg_pathname to avoid the situation where 5 25* you keep around a pointer to a structure which no longer exists. 5 26* 7) change(87-01-16,Blair), approve(87-02-05,MCR7618), 5 27* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 5 28* Add a field to indicate whether or not we should process interactive msgs. 5 29* Increment version to 4.1 so default value will get set. 5 30* 8) change(87-02-13,Blair), approve(87-02-13,MCR7618), 5 31* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 5 32* Add a field to indicate whether or not we're processing a reply so that we 5 33* will be able to rebuild the screens properly after a disconnect occurs. 5 34* Error_list #114. 5 35* 9) change(88-07-26,Blair), approve(88-07-26,MCR7959), 5 36* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 5 37* Add a bit to indicate whether or not the error segment had to be created 5 38* in the pdir (because we didn't have sma access to the mlsys_dir). 5 39* END HISTORY COMMENTS */ 5 40 5 41 5 42 /* Written 5/13/81 by Paul H. Kyzivat */ 5 43 /* Modified 12/16/81 by S. Krupp to delete unused parts of structure 5 44* and to add n_fkeys_used */ 5 45 /* Modified 12/14/82 by Dave Schimke to make the xmail version a 10 character 5 46* varying string. */ 5 47 /* Modified 09/12/83 by Dave Schimke adding interactive_msgs flag */ 5 48 /* Modified 09/14/83 by Dave Schimke adding moved_user_io */ 5 49 /* Modified 09/06/84 by Joanne Backs adding lists_as_menus flag */ 5 50 /* Modified 09/21/84 by Joanne Backs adding remove_menus flag */ 5 51 5 52 dcl xmail_data_ptr external static ptr init (null); 5 53 5 54 dcl 1 xmail_data aligned based (xmail_data_ptr), 5 55 2 mail_dir char (168) varying, 5 56 2 first_label label, 5 57 2 quit_label label, 5 58 2 value_seg_pathname char (168) varying, 5 59 2 moved_user_io ptr, 5 60 2 normal_usage char (80) unal, 5 61 2 function_key_info, 5 62 3 function_key_data_ptr ptr, 5 63 3 n_fkeys_used fixed bin, 5 64 2 actee, 5 65 3 person char(32) varying, 5 66 3 project char(32) varying, 5 67 2 flags aligned, 5 68 3 mail_in_incoming bit (1) unal, 5 69 3 lists_as_menus bit (1) unal, /* personalization */ 5 70 3 remove_menus bit (1) unal, /* personalization */ 5 71 3 confirm_print bit (1) unal, /* personalization */ 5 72 3 multics_mode bit (1) unal, /* personalization */ 5 73 3 interactive_msgs bit (1) unal, /* personalization */ 5 74 3 foreign_mailbox bit (1) unal, /* read others' mailboxes */ 5 75 3 general_help bit (1) unal, /* indicated requesting gen help*/ 5 76 3 cleanup_signalled bit (1) unal, /* on when true cleanup condition */ 5 77 3 msgs_as_mail bit (1) unal, /* on for include_msgs */ 5 78 3 reply_request bit (1) unal, /* on if we're doing a reply */ 5 79 3 error_seg_in_pdir bit (1) unal, /* on if the error_seg is in the pdir */ 5 80 3 pad bit (24) unal; 5 81 5 82 5 83 5 84 dcl xmail_version char(10) var static options(constant) init("4.1"); 5 85 5 86 /* END INCLUDE FILE: xmail_data.incl.pl1 */ 325 326 327 328 end xmail_Review_Mlist_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/02/88 0746.6 xmail_Review_Mlist_.pl1 >spec>install>MR12.2-1098>xmail_Review_Mlist_.pl1 319 1 03/27/82 0429.3 menu_dcls.incl.pl1 >ldd>include>menu_dcls.incl.pl1 321 2 06/10/82 1045.5 star_structures.incl.pl1 >ldd>include>star_structures.incl.pl1 323 3 12/02/84 1132.9 xmail_windows.incl.pl1 >ldd>include>xmail_windows.incl.pl1 3-14 4 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 325 5 09/02/88 0743.4 xmail_data.incl.pl1 >spec>install>MR12.2-1098>xmail_data.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. ALLOW_NEW 000110 constant bit(1) initial dcl 73 set ref 243* ALLOW_OLD 000110 constant bit(1) initial dcl 74 set ref 304* DONT_ALLOW_NEW 000120 constant bit(1) initial dcl 75 set ref 304* DONT_ALLOW_OLD 000120 constant bit(1) initial dcl 76 set ref 243* MLIST_SUFFIX 000060 constant char(3) initial packed unaligned dcl 77 set ref 134 196 211 226 243* 250 250 250 268 304* NAME 000053 constant char(19) initial packed unaligned dcl 78 set ref 279 290* N_COLUMNS 000102 constant fixed bin(17,0) initial dcl 79 set ref 114* OPTION_NAMES 000015 constant varying char(15) initial array dcl 81 set ref 114* 279 279 P_code parameter fixed bin(35,0) dcl 287 ref 285 P_default parameter char packed unaligned dcl 298 ref 295 304 P_opt parameter fixed bin(17,0) dcl 158 ref 156 172 P_redisplay parameter bit(1) dcl 159 ref 156 P_str parameter char packed unaligned dcl 288 set ref 285 290* P_text parameter char packed unaligned dcl 297 ref 295 302 choice 000134 automatic fixed bin(17,0) dcl 35 set ref 141* 143* 145* cleanup 000322 stack reference condition dcl 100 ref 106 code 000135 automatic fixed bin(35,0) dcl 36 set ref 114* 115 115* 134* 137 137 137* 141* 143 145 147 178* 179 223* 243* 244 250* 279* 281 281* 290* 304* 305 default_list 000125 automatic varying char(24) dcl 34 set ref 118* 181* 194 209 221 227* 240 256* 266 308* dir 000136 automatic char(168) packed unaligned dcl 37 set ref 196* 211* 226* 268* 306* error_table_$nomatch 000060 external static fixed bin(35,0) dcl 91 ref 137 file 000223 automatic varying char(32) dcl 39 set ref 120* 196 211 223* 226 242* 250 250 253* 255* 256 268 307* 308 get_system_free_area_ 000012 constant entry external dcl 48 ref 134 134 hcs_$chname_file 000074 constant entry external dcl 164 ref 250 hcs_$star_ 000014 constant entry external dcl 49 ref 134 ioa_ 000020 constant entry external dcl 51 ref 132 190 205 218 229 237 246 253 263 ioa_$nnl 000022 constant entry external dcl 52 ref 242 ioa_$rsnnl 000016 constant entry external dcl 50 ref 223 iocb 22 000066 external static pointer level 3 dcl 3-5 set ref 109* iox_$user_output 000062 external static pointer dcl 95 set ref 131* 149* 171* 278* list_display 000210 automatic varying char(38) dcl 38 set ref 119* 141 mail_dir based varying char(168) level 2 dcl 5-54 ref 134 menu 22 000066 external static structure level 2 dcl 3-5 menu_$display 000064 constant entry external dcl 1-20 ref 109 menup 000010 internal static pointer initial dcl 69 set ref 109 109* 113 114* 141* message 000100 automatic varying char(78) dcl 300 set ref 302* 304 msg_to_user 000006 constant char(26) initial packed unaligned dcl 96 set ref 190* 205* 218* 237* 263* new_dir 000234 automatic char(168) packed unaligned dcl 40 set ref 304* 306 new_file 000306 automatic varying char(32) dcl 41 set ref 304* 307 new_mlist_name 000372 automatic varying char(24) dcl 160 set ref 175* 178 181 new_seg_prefix 000401 automatic varying char(32) dcl 161 set ref 243* 250 253* 255 nnames 0(02) based fixed bin(16,0) array level 2 packed packed unsigned unaligned dcl 2-27 ref 314 normal_usage 142 based char(80) level 2 packed packed unaligned dcl 5-54 set ref 141* null builtin function dcl 102 ref 104 105 109 113 314 315 opt parameter fixed bin(17,0) dcl 276 ref 274 279 279 program_interrupt 000330 stack reference condition dcl 100 ref 129 prompt_string 000100 automatic varying char(80) dcl 33 set ref 223* 224* quit 000336 stack reference condition dcl 100 ref 122 redisplay_menu 000317 automatic bit(1) dcl 42 set ref 139* 141* 142* 143* rtrim builtin function dcl 102 ref 250 250 250 seg_dir 000412 automatic char(168) packed unaligned dcl 162 set ref 243* 250 250 star_entries based structure array level 1 dcl 2-27 ref 315 star_entry_count 000352 automatic fixed bin(17,0) dcl 2-14 set ref 134* 182* 182 186 201 214 228* 228 229 233 259 314 315 star_entry_ptr 000354 automatic pointer dcl 2-15 set ref 105* 134* 314 315 315 star_names based char(32) array packed unaligned dcl 2-37 ref 314 star_names_ptr 000356 automatic pointer dcl 2-19 set ref 104* 134* 314 314 sum builtin function dcl 102 ref 314 translate builtin function dcl 102 ref 279 279 unused_bit 000320 automatic bit(1) dcl 43 set ref 243* 304* unused_bit2 000321 automatic bit(1) dcl 44 set ref 243* 304* window_$bell 000024 constant entry external dcl 53 ref 149 window_$clear_window 000026 constant entry external dcl 54 ref 131 171 278 window_position_info based structure level 1 unaligned dcl 4-25 xmail_create_menu_ 000030 constant entry external dcl 55 ref 114 xmail_create_mlist_ 000050 constant entry external dcl 64 ref 178 xmail_data based structure level 1 dcl 5-54 xmail_data_ptr 000070 external static pointer initial dcl 5-52 ref 134 141 xmail_delete_mlist_ 000032 constant entry external dcl 56 ref 226 xmail_display_help_ 000034 constant entry external dcl 57 ref 279 xmail_display_mlist_ 000036 constant entry external dcl 58 ref 196 xmail_dprint_mlist_ 000040 constant entry external dcl 59 ref 268 xmail_err_$exit_now 000056 external static fixed bin(35,0) dcl 91 ref 147 xmail_err_$help_requested 000054 external static fixed bin(35,0) dcl 91 ref 145 xmail_error_$no_code 000042 constant entry external dcl 60 ref 290 xmail_get_choice_ 000044 constant entry external dcl 61 ref 141 xmail_get_str_$yes_no 000076 constant entry external dcl 166 ref 224 xmail_redisplay_menu 000344 stack reference condition dcl 100 ref 108 xmail_select_file_$caller_msg 000046 constant entry external dcl 62 ref 243 304 xmail_update_mlist_ 000052 constant entry external dcl 65 ref 211 xmail_window_info_format based structure level 1 dcl 3-10 xmail_window_manager_$reconnect 000072 constant entry external dcl 124 ref 125 xmail_windows 000066 external static structure level 1 dcl 3-5 yes_sw 000464 automatic bit(1) dcl 167 set ref 224* 225 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 1-100 break_table_info based structure level 1 dcl 4-76 break_table_info_version internal static fixed bin(17,0) initial dcl 4-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 4-80 break_table_ptr automatic pointer dcl 4-75 get_editor_key_bindings_info based structure level 1 dcl 4-151 get_editor_key_bindings_info_ptr automatic pointer dcl 4-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 4-160 line_editor_binding_count automatic fixed bin(17,0) dcl 4-121 line_editor_key_binding_info based structure level 1 dcl 4-129 line_editor_key_binding_info_ptr automatic pointer dcl 4-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 4-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 4-123 menu_$create 000000 constant entry external dcl 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 4-83 more_handler_info_ptr automatic pointer dcl 4-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 4-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 4-94 more_prompt_info based structure level 1 dcl 4-108 more_prompt_info_ptr automatic pointer dcl 4-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 4-114 more_responses_info based structure level 1 dcl 4-59 more_responses_info_ptr automatic pointer dcl 4-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 4-67 more_responses_version internal static fixed bin(17,0) initial dcl 4-67 set_editor_key_bindings_info based structure level 1 dcl 4-162 set_editor_key_bindings_info_ptr automatic pointer dcl 4-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 4-172 star_ALL_ENTRIES internal static fixed bin(2,0) initial dcl 2-111 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 2-114 star_BRANCHES_ONLY internal static fixed bin(2,0) initial dcl 2-110 star_DIRECTORY internal static fixed bin(2,0) initial unsigned dcl 2-121 star_LINK internal static fixed bin(2,0) initial unsigned dcl 2-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 2-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 2-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 2-120 star_branch_count automatic fixed bin(17,0) dcl 2-13 star_dir_list_branch based structure array level 1 dcl 2-59 star_link_count automatic fixed bin(17,0) dcl 2-17 star_link_pathname based char packed unaligned dcl 2-102 star_links based structure array level 1 dcl 2-76 star_linkx automatic fixed bin(17,0) dcl 2-18 star_list_branch based structure array level 1 dcl 2-41 star_list_branch_ptr automatic pointer dcl 2-16 star_list_names based char(32) array packed unaligned dcl 2-92 star_list_names_ptr automatic pointer dcl 2-20 star_select_sw automatic fixed bin(3,0) dcl 2-21 token_characters_info based structure level 1 dcl 4-97 token_characters_info_ptr automatic pointer dcl 4-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 4-106 window_edit_line_info based structure level 1 unaligned dcl 4-177 window_edit_line_info_ptr automatic pointer dcl 4-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 4-183 window_position_info_ptr automatic pointer dcl 4-37 window_position_info_version internal static fixed bin(17,0) initial dcl 4-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 4-35 window_status_info based structure level 1 dcl 4-45 window_status_info_ptr automatic pointer dcl 4-43 window_status_version internal static fixed bin(17,0) initial dcl 4-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 4-52 xmail_version internal static varying char(10) initial dcl 5-84 NAMES DECLARED BY EXPLICIT CONTEXT. CLEAN_UP 002600 constant entry internal dcl 313 ref 106 EXIT 000776 constant label dcl 152 set ref 147 291 EXPLAIN_OPTION 002237 constant entry internal dcl 274 ref 145 OPT 000000 constant label array(6) dcl 175 ref 172 PERFORM_OPTION 000777 constant entry internal dcl 156 ref 143 SELECT_NEW_FILE 002376 constant entry internal dcl 295 ref 194 209 221 240 266 START 000551 constant label dcl 134 ref 126 129 review_mlists_err 002332 constant entry internal dcl 285 ref 115 137 281 xmail_Review_Mlist_ 000316 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3544 3644 3120 3554 Length 4220 3120 100 337 423 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_Review_Mlist_ 596 external procedure is an external procedure. on unit on line 106 70 on unit on unit on line 108 74 on unit on unit on line 122 64 on unit on unit on line 129 64 on unit PERFORM_OPTION internal procedure shares stack frame of external procedure xmail_Review_Mlist_. EXPLAIN_OPTION internal procedure shares stack frame of external procedure xmail_Review_Mlist_. review_mlists_err internal procedure shares stack frame of external procedure xmail_Review_Mlist_. SELECT_NEW_FILE 140 internal procedure is called during a stack extension. CLEAN_UP internal procedure shares stack frame of on unit on line 106. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 menup xmail_Review_Mlist_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME SELECT_NEW_FILE 000100 message SELECT_NEW_FILE xmail_Review_Mlist_ 000100 prompt_string xmail_Review_Mlist_ 000125 default_list xmail_Review_Mlist_ 000134 choice xmail_Review_Mlist_ 000135 code xmail_Review_Mlist_ 000136 dir xmail_Review_Mlist_ 000210 list_display xmail_Review_Mlist_ 000223 file xmail_Review_Mlist_ 000234 new_dir xmail_Review_Mlist_ 000306 new_file xmail_Review_Mlist_ 000317 redisplay_menu xmail_Review_Mlist_ 000320 unused_bit xmail_Review_Mlist_ 000321 unused_bit2 xmail_Review_Mlist_ 000352 star_entry_count xmail_Review_Mlist_ 000354 star_entry_ptr xmail_Review_Mlist_ 000356 star_names_ptr xmail_Review_Mlist_ 000372 new_mlist_name PERFORM_OPTION 000401 new_seg_prefix PERFORM_OPTION 000412 seg_dir PERFORM_OPTION 000464 yes_sw PERFORM_OPTION THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc return_mac tra_ext_1 mpfx2 enable_op shorten_stack ext_entry int_entry int_entry_desc op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_system_free_area_ hcs_$chname_file hcs_$star_ ioa_ ioa_$nnl ioa_$rsnnl menu_$display window_$bell window_$clear_window xmail_create_menu_ xmail_create_mlist_ xmail_delete_mlist_ xmail_display_help_ xmail_display_mlist_ xmail_dprint_mlist_ xmail_error_$no_code xmail_get_choice_ xmail_get_str_$yes_no xmail_select_file_$caller_msg xmail_update_mlist_ xmail_window_manager_$reconnect THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$nomatch 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 11 000315 104 000323 105 000325 106 000326 108 000344 109 000360 111 000400 113 000401 114 000406 115 000444 118 000454 119 000455 120 000456 122 000462 125 000476 126 000502 129 000505 131 000524 132 000536 134 000551 137 000646 139 000662 141 000664 142 000745 143 000747 145 000754 147 000762 149 000764 150 000775 152 000776 156 000777 171 001001 172 001013 175 001016 178 001017 179 001044 181 001047 182 001054 184 001055 186 001056 190 001060 191 001071 194 001072 196 001122 197 001166 201 001170 205 001172 206 001203 209 001204 211 001232 212 001276 214 001300 218 001302 219 001313 221 001314 223 001345 224 001403 225 001420 226 001423 227 001466 228 001470 229 001472 231 001513 233 001514 237 001516 238 001527 240 001530 242 001556 243 001602 244 001666 246 001670 247 001704 250 001705 253 002065 255 002111 256 002116 257 002126 259 002127 263 002131 264 002142 266 002143 268 002171 269 002235 274 002237 278 002241 279 002253 281 002320 283 002331 285 002332 290 002343 291 002374 295 002375 302 002416 304 002452 305 002553 306 002557 307 002562 308 002567 309 002577 313 002600 314 002601 315 002635 316 002644 ----------------------------------------------------------- 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