COMPILATION LISTING OF SEGMENT xmail_create_menu_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1130.37_Tue_mdt 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 /* 12* xmail_create_menu_ 13* 14* This procedure creates the "static" menus displayed in the menu 15* window. It takes care of the details of header and trailer 16* construction and the info structures needed by the menu_$create_menu 17* procedure, both simplifying the interface for the callers and 18* enforcing some consistency among menus. 19**/ 20 21 /* 22* 81-06-29 Paul Kyzivat: Original coding. 23* 24* 81-07-31 Paul Kyzivat: Modified to drop _menu suffix from menu_ calls 25* 26* 84-07-03 Dave Schimke: Modified to add column_count parameter so xmail can 27* use some menus with 3 columns as well as the 2 column format. 28*/* 29* 30*/* format: style1 */ 31 xmail_create_menu_: proc (title, choices, column_count, menu, code); 32 33 /* Parameter */ 34 35 dcl title char (*), 36 choices (*) char (*) varying, 37 menu ptr, 38 column_count fixed bin, 39 code fixed bin (35); 40 41 /* Automatic */ 42 43 dcl header (1) char (length (title) + 2) varying, 44 trailer (1) char (1) varying; 45 46 dcl 1 actual_menu_requirements aligned like menu_requirements, 47 1 actual_menu_format aligned like menu_format; 48 49 /* Builtin */ 50 51 dcl (addr, length, ltrim, rtrim) builtin; 52 53 /* Constant */ 54 55 dcl OPTION_CODES (35) char (1) unal static options (constant) init 56 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 57 "a", "b", "c", "d", "e", "f", "g", "h", "i", 58 "j", "k", "l", "m", "n", "o", "p", "q", "r", 59 "s", "t", "u", "v", "w", "x", "y", "z"); 60 61 dcl PAD_CHAR init ("-") char (1) static options (constant); 62 63 /* Entry */ 64 65 dcl get_system_free_area_ entry () returns (ptr); 66 67 68 header (1) = " "; 69 header (1) = header (1) || rtrim (ltrim (title)); 70 header (1) = header (1) || " "; 71 72 trailer (1) = PAD_CHAR; 73 74 actual_menu_format.version = menu_format_version_1; 75 actual_menu_format.max_width = xmail_windows.menu.width; 76 actual_menu_format.max_height = xmail_windows.menu.height 77 + xmail_windows.bottom.height - 2; 78 actual_menu_format.n_columns = column_count; 79 actual_menu_format.center_headers = "1"b; 80 actual_menu_format.center_trailers = "1"b; 81 actual_menu_format.pad = "0"b; 82 actual_menu_format.pad_char = PAD_CHAR; 83 84 actual_menu_requirements.version = menu_requirements_version_1; 85 86 call menu_$create ( 87 choices, 88 header, 89 trailer, 90 addr (actual_menu_format), 91 OPTION_CODES, 92 get_system_free_area_ (), 93 addr (actual_menu_requirements), 94 menu, 95 code); 96 return; 97 1 1 /* Begin include file: xmail_windows.incl.pl1 */ 1 2 /* Created 6/24/81 by Paul Kyzivat */ 1 3 /* Mofified 6/20/84 by DJ Schimke to add the mm_status window */ 1 4 1 5 dcl 1 xmail_windows aligned external static, 1 6 2 initial_position fixed bin, 1 7 2 min_lines_needed fixed bin, 1 8 2 (status, mm_status, menu, bottom) aligned like xmail_window_info_format; 1 9 1 10 dcl 1 xmail_window_info_format aligned based, 1 11 2 iocb ptr, 1 12 2 position aligned like window_position_info; 1 13 2 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 2 2 /* format: style3 */ 2 3 2 4 /* Modified 26 January 1982 by William York to add the set_more_handler 2 5* and reset_more_handler control orders. */ 2 6 /* Modified October 1982 by WMY to add set and get_token_characters, 2 7* set and get_more_prompt. */ 2 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 2 9* structure. */ 2 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 2 11* partial screen width windows. */ 2 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 2 13* This should be removed when window_info.incl.pl1 is created. */ 2 14 /* Modified 29 February 1984 by Barmar to add version 1 2 15* get_editor_key_bindings_info. */ 2 16 /* Modified 1 March 1984 by Barmar to add version 1 2 17* set_editor_key_bindings_info. */ 2 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 2 19* line_editor_key_bindings_info, which includes the name, description, and 2 20* info path */ 2 21 2 22 /* structure for the set_window_info and get_window_info 2 23* control orders. */ 2 24 2 25 dcl 1 window_position_info 2 26 based (window_position_info_ptr), 2 27 2 version fixed bin, 2 28 2 origin, 2 29 3 column fixed bin, 2 30 3 line fixed bin, 2 31 2 extent, 2 32 3 width fixed bin, 2 33 3 height fixed bin; 2 34 2 35 dcl (window_position_info_version, window_position_info_version_1) 2 36 fixed bin internal static init (1) options (constant); 2 37 dcl window_position_info_ptr 2 38 pointer; 2 39 2 40 /* structure for the set_window_status and get_window_status 2 41* control orders */ 2 42 2 43 declare window_status_info_ptr 2 44 pointer; 2 45 declare 1 window_status_info 2 46 aligned based (window_status_info_ptr), 2 47 2 version fixed bin, 2 48 2 status_string bit (36) aligned; /* string (window_status) */ 2 49 /* see window_status.incl.pl1 for the contents of this string */ 2 50 2 51 2 52 declare (window_status_version, window_status_version_1) 2 53 fixed bin internal static init (1) options (constant); 2 54 2 55 /* info structure for the set_more_responses and get_more_responses control 2 56* orders */ 2 57 2 58 2 59 dcl 1 more_responses_info 2 60 aligned based (more_responses_info_ptr), 2 61 2 version fixed bin, 2 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 2 63 2 n_noes fixed bin, 2 64 2 yeses char (32) unaligned, 2 65 2 noes char (32) unaligned; 2 66 2 67 dcl (more_responses_info_version_1, more_responses_version) 2 68 fixed bin internal static init (1) options (constant); 2 69 dcl more_responses_info_ptr 2 70 pointer; 2 71 2 72 /* structure for the set_break_table and get_break_table 2 73* control orders */ 2 74 2 75 declare break_table_ptr pointer; 2 76 declare 1 break_table_info aligned based (break_table_ptr), 2 77 2 version fixed bin, 2 78 2 breaks (0:127) bit (1) unaligned; 2 79 2 80 declare (break_table_info_version, break_table_info_version_1) 2 81 fixed bin init (1) internal static options (constant); 2 82 2 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 2 84 2 version fixed bin, 2 85 2 flags unaligned, 2 86 3 old_handler_valid 2 87 bit(1), 2 88 3 pad bit(35), 2 89 2 more_handler entry (pointer, bit(1) aligned), 2 90 2 old_more_handler entry (pointer, bit(1) aligned); 2 91 2 92 declare more_handler_info_ptr pointer; 2 93 2 94 declare (more_handler_info_version, more_handler_info_version_3) 2 95 fixed bin internal static options (constant) init (3); 2 96 2 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 2 98 2 version char(8), 2 99 2 token_character_count 2 100 fixed bin, 2 101 2 token_characters 2 102 char (128) unaligned; 2 103 2 104 declare token_characters_info_ptr pointer; 2 105 2 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 2 107 2 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 2 109 2 version char(8), 2 110 2 more_prompt char(80); 2 111 2 112 declare more_prompt_info_ptr pointer; 2 113 2 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 2 115 2 116 /* Line editor stuff ... */ 2 117 2 118 dcl line_editor_key_binding_info_ptr 2 119 pointer; 2 120 2 121 dcl line_editor_binding_count 2 122 fixed bin; 2 123 dcl line_editor_longest_sequence 2 124 fixed bin; 2 125 /* For each binding, action defines what to do for that sequence. Constants 2 126* are defined in window_editor_values.incl.pl1. Only if action is set to 2 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 2 128 2 129 dcl 1 line_editor_key_binding_info 2 130 aligned based (line_editor_key_binding_info_ptr), 2 131 2 version char(8), 2 132 2 binding_count fixed bin, 2 133 2 longest_sequence fixed bin, 2 134 2 bindings (line_editor_binding_count refer 2 135 (line_editor_key_binding_info.binding_count)), 2 136 3 sequence char(line_editor_longest_sequence refer 2 137 (line_editor_key_binding_info.longest_sequence)) varying, 2 138 3 action fixed bin, 2 139 3 numarg_action fixed binary, 2 140 3 editor_routine entry (pointer, fixed bin(35)), 2 141 3 name char (64) varying unaligned, 2 142 3 description char (256) varying unaligned, 2 143 3 info_path unaligned, 2 144 4 info_dir char (168), 2 145 4 info_entry char (32); 2 146 2 147 2 148 dcl line_editor_key_binding_info_version_3 2 149 char(8) static options (constant) init ("lekbi003"); 2 150 2 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 2 152 2 version char (8), 2 153 2 flags, 2 154 3 entire_state bit (1) unaligned, 2 155 3 mbz bit (35) unaligned, 2 156 2 key_binding_info_ptr ptr, 2 157 2 entire_state_ptr ptr; 2 158 2 159 dcl get_editor_key_bindings_info_ptr ptr; 2 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 2 161 2 162 dcl 1 set_editor_key_bindings_info aligned 2 163 based (set_editor_key_bindings_info_ptr), 2 164 2 version char (8), 2 165 2 flags, 2 166 3 replace bit (1) unaligned, 2 167 3 update bit (1) unaligned, 2 168 3 mbz bit (34) unaligned, 2 169 2 key_binding_info_ptr ptr; 2 170 2 171 dcl set_editor_key_bindings_info_ptr ptr; 2 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 2 173 2 174 /* This should be moved to window_info.incl.pl1 when that include file is 2 175* created. JR 2/1/84 */ 2 176 2 177 dcl 1 window_edit_line_info 2 178 based (window_edit_line_info_ptr), 2 179 2 version char (8), 2 180 2 line_ptr ptr, 2 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 2 182 2 183 dcl window_edit_line_info_version_1 2 184 char (8) static options (constant) init ("wedl0001"); 2 185 2 186 dcl window_edit_line_info_ptr 2 187 ptr; 2 188 2 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 1 14 1 15 1 16 /* End include file: xmail_windows.incl.pl1 */ 98 99 3 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 3 2* declarations for the menu_ subroutines MTB 493 3 3* James R. Davis 26 Jan 81 to 20 Februrary 81 3 4**/ 3 5 3 6 /* format: off */ 3 7 3 8 dcl menu_$create entry ( 3 9 (*) char (*) varying, /* input: choices */ 3 10 (*) char (*) varying, /* input: headers */ 3 11 (*) char (*) varying, /* input: trailers */ 3 12 pointer, /* input: to format info */ 3 13 (*) char (1) unal, /* input: keys to use */ 3 14 pointer, /* input: to area */ 3 15 pointer, /* input: to needs str. */ 3 16 pointer, /* to menu: output */ 3 17 fixed bin (35) /* code */ 3 18 ); 3 19 3 20 dcl menu_$display entry ( 3 21 pointer, /* window */ 3 22 pointer, /* menu */ 3 23 fixed bin (35) /* code */ 3 24 ); 3 25 3 26 dcl menu_$get_choice entry ( 3 27 pointer, /* window */ 3 28 pointer, /* menu */ 3 29 pointer, /* to function key info */ 3 30 bit (1) aligned, /* function key hi: output */ 3 31 fixed bin, /* output: selection number */ 3 32 fixed bin (35) /* output: code */ 3 33 ); 3 34 3 35 dcl menu_$describe entry ( 3 36 pointer, /* menu */ 3 37 pointer, /* needs */ 3 38 fixed bin (35) /* code */ 3 39 ); 3 40 3 41 dcl menu_$destroy entry ( 3 42 pointer, /* menu */ 3 43 fixed bin (35) /* code */ 3 44 ); 3 45 3 46 dcl menu_$store entry ( 3 47 character (*), 3 48 character (*), 3 49 character (*), 3 50 bit (1) aligned, 3 51 pointer, 3 52 fixed bin (35)); 3 53 3 54 dcl menu_$retrieve entry ( 3 55 character (*), 3 56 character (*), 3 57 character (*), 3 58 pointer, 3 59 pointer, 3 60 fixed bin (35)); 3 61 dcl menu_$delete entry ( 3 62 character (*), 3 63 character (*), 3 64 character (*), 3 65 fixed binary (35)); 3 66 3 67 dcl menu_$list entry ( 3 68 character (*), 3 69 character (*), 3 70 character (*), 3 71 pointer, 3 72 fixed bin, 3 73 pointer, 3 74 fixed bin (35)); 3 75 3 76 dcl 1 menu_format aligned based (menu_format_ptr), 3 77 2 version fixed bin, 3 78 2 constraints, 3 79 3 max_width fixed bin, 3 80 3 max_height fixed bin, 3 81 2 n_columns fixed bin, 3 82 2 flags, 3 83 3 center_headers bit (1) unal, 3 84 3 center_trailers bit (1) unal, 3 85 3 pad bit (34) unal, 3 86 2 pad_char char (1); 3 87 3 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 3 89 2 version fixed bin, 3 90 2 lines_needed fixed bin, 3 91 2 width_needed fixed bin, 3 92 2 n_options fixed bin; 3 93 3 94 dcl menu_format_ptr pointer; 3 95 dcl menu_requirements_ptr pointer; 3 96 3 97 dcl (menu_format_version_1, menu_requirements_version_1) 3 98 fixed bin internal static init (1) options (constant); 3 99 3 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 3 101 options (constant) init 3 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 3 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 3 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 3 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 3 106 3 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 100 101 102 end xmail_create_menu_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1130.3 xmail_create_menu_.pl1 >udd>sm>ds>w>ml>xmail_create_menu_.pl1 98 1 12/02/84 1232.9 xmail_windows.incl.pl1 >ldd>incl>xmail_windows.incl.pl1 1-14 2 09/12/84 1016.7 window_control_info.incl.pl1 >ldd>incl>window_control_info.incl.pl1 100 3 03/27/82 0529.3 menu_dcls.incl.pl1 >ldd>incl>menu_dcls.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. OPTION_CODES 000000 constant char(1) initial array packed unaligned dcl 55 set ref 86* PAD_CHAR constant char(1) initial packed unaligned dcl 61 ref 72 82 actual_menu_format 000106 automatic structure level 1 dcl 46 set ref 86 86 actual_menu_requirements 000102 automatic structure level 1 dcl 46 set ref 86 86 addr builtin function dcl 51 ref 86 86 86 86 bottom 32 000012 external static structure level 2 dcl 1-5 center_headers 4 000106 automatic bit(1) level 3 packed packed unaligned dcl 46 set ref 79* center_trailers 4(01) 000106 automatic bit(1) level 3 packed packed unaligned dcl 46 set ref 80* choices parameter varying char array dcl 35 set ref 31 86* code parameter fixed bin(35,0) dcl 35 set ref 31 86* column_count parameter fixed bin(17,0) dcl 35 ref 31 78 constraints 1 000106 automatic structure level 2 dcl 46 extent 37 000012 external static structure level 4 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" extent 27 000012 external static structure level 4 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" flags 4 000106 automatic structure level 2 dcl 46 get_system_free_area_ 000010 constant entry external dcl 65 ref 86 86 header 000100 automatic varying char array dcl 43 set ref 68* 69* 69 70* 70 86* height 30 000012 external static fixed bin(17,0) level 5 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" ref 76 height 40 000012 external static fixed bin(17,0) level 5 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" ref 76 length builtin function dcl 51 ref 43 ltrim builtin function dcl 51 ref 69 max_height 2 000106 automatic fixed bin(17,0) level 3 dcl 46 set ref 76* max_width 1 000106 automatic fixed bin(17,0) level 3 dcl 46 set ref 75* menu parameter pointer dcl 35 in procedure "xmail_create_menu_" set ref 31 86* menu 22 000012 external static structure level 2 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" menu_$create 000014 constant entry external dcl 3-8 ref 86 menu_format based structure level 1 dcl 3-76 menu_format_version_1 constant fixed bin(17,0) initial dcl 3-97 ref 74 menu_requirements based structure level 1 dcl 3-88 menu_requirements_version_1 constant fixed bin(17,0) initial dcl 3-97 ref 84 n_columns 3 000106 automatic fixed bin(17,0) level 2 dcl 46 set ref 78* pad 4(02) 000106 automatic bit(34) level 3 packed packed unaligned dcl 46 set ref 81* pad_char 5 000106 automatic char(1) level 2 dcl 46 set ref 82* position 34 000012 external static structure level 3 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" position 24 000012 external static structure level 3 in structure "xmail_windows" dcl 1-5 in procedure "xmail_create_menu_" rtrim builtin function dcl 51 ref 69 title parameter char packed unaligned dcl 35 ref 31 43 69 trailer 000100 automatic varying char(1) array dcl 43 set ref 72* 86* version 000106 automatic fixed bin(17,0) level 2 in structure "actual_menu_format" dcl 46 in procedure "xmail_create_menu_" set ref 74* version 000102 automatic fixed bin(17,0) level 2 in structure "actual_menu_requirements" dcl 46 in procedure "xmail_create_menu_" set ref 84* width 27 000012 external static fixed bin(17,0) level 5 dcl 1-5 ref 75 window_position_info based structure level 1 unaligned dcl 2-25 xmail_window_info_format based structure level 1 dcl 1-10 xmail_windows 000012 external static structure level 1 dcl 1-5 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 3-100 break_table_info based structure level 1 dcl 2-76 break_table_info_version internal static fixed bin(17,0) initial dcl 2-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 2-80 break_table_ptr automatic pointer dcl 2-75 get_editor_key_bindings_info based structure level 1 dcl 2-151 get_editor_key_bindings_info_ptr automatic pointer dcl 2-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 2-160 line_editor_binding_count automatic fixed bin(17,0) dcl 2-121 line_editor_key_binding_info based structure level 1 dcl 2-129 line_editor_key_binding_info_ptr automatic pointer dcl 2-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 2-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 2-123 menu_$delete 000000 constant entry external dcl 3-61 menu_$describe 000000 constant entry external dcl 3-35 menu_$destroy 000000 constant entry external dcl 3-41 menu_$display 000000 constant entry external dcl 3-20 menu_$get_choice 000000 constant entry external dcl 3-26 menu_$list 000000 constant entry external dcl 3-67 menu_$retrieve 000000 constant entry external dcl 3-54 menu_$store 000000 constant entry external dcl 3-46 menu_format_ptr automatic pointer dcl 3-94 menu_requirements_ptr automatic pointer dcl 3-95 more_handler_info based structure level 1 dcl 2-83 more_handler_info_ptr automatic pointer dcl 2-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 2-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 2-94 more_prompt_info based structure level 1 dcl 2-108 more_prompt_info_ptr automatic pointer dcl 2-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 2-114 more_responses_info based structure level 1 dcl 2-59 more_responses_info_ptr automatic pointer dcl 2-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 2-67 more_responses_version internal static fixed bin(17,0) initial dcl 2-67 set_editor_key_bindings_info based structure level 1 dcl 2-162 set_editor_key_bindings_info_ptr automatic pointer dcl 2-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 2-172 token_characters_info based structure level 1 dcl 2-97 token_characters_info_ptr automatic pointer dcl 2-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 2-106 window_edit_line_info based structure level 1 unaligned dcl 2-177 window_edit_line_info_ptr automatic pointer dcl 2-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 2-183 window_position_info_ptr automatic pointer dcl 2-37 window_position_info_version internal static fixed bin(17,0) initial dcl 2-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 2-35 window_status_info based structure level 1 dcl 2-45 window_status_info_ptr automatic pointer dcl 2-43 window_status_version internal static fixed bin(17,0) initial dcl 2-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 2-52 NAME DECLARED BY EXPLICIT CONTEXT. xmail_create_menu_ 000037 constant entry external dcl 31 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 362 400 302 372 Length 616 302 16 201 60 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_create_menu_ 138 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xmail_create_menu_ 000100 trailer xmail_create_menu_ 000100 header xmail_create_menu_ 000102 actual_menu_requirements xmail_create_menu_ 000106 actual_menu_format xmail_create_menu_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac alloc_auto_adj ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_system_free_area_ menu_$create THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. xmail_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 31 000032 43 000057 86 000071 68 000101 69 000111 70 000155 72 000164 74 000170 75 000172 76 000175 78 000201 79 000203 80 000205 81 000207 82 000211 84 000213 86 000215 96 000300 ----------------------------------------------------------- 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