COMPILATION LISTING OF SEGMENT xmail_rebuild_value_seg_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 09/02/88 0753.2 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(86-02-11,Blair), approve(86-02-26,MCR7358), 12* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 13* Written by J. Blair. 14* 2) change(87-04-17,Blair), approve(87-04-22,MCR7683), 15* audit(87-05-15,RBarstad), install(87-05-26,MR12.1-1037): 16* Enable the cp_escape for when we have to query the user for continuing 17* when we rebuild the value_seg. TR 20776. 18* 3) change(88-06-28,Blair), approve(88-07-27,MCR7959), 19* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 20* Add new entry point (copy) for when we have read access to the mlsys value 21* seg, but can't write to it. 22* END HISTORY COMMENTS */ 23 24 25 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 26 /* */ 27 /* This program allows the xmail value segment to be rebuilt when one of the value names */ 28 /* contains invalid data or the segment appears to be damaged in some way. This routine */ 29 /* is called from xmail_value_. */ 30 /* */ 31 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 32 33 34 xmail_rebuild_value_seg_: proc (xrvs_value_ptr, xrvs_code); 35 36 /* BEGIN */ 37 38 39 on cleanup begin; 40 call CLEANUP; 41 end; 42 43 /* Get rid of the bad value segment */ 44 45 xrvs_value_seg_ptr = xrvs_value_ptr; 46 call terminate_file_ (xrvs_value_seg_ptr, bc, TERM_FILE_DELETE, code); 47 if code = 0 & xrvs_value_seg_ptr ^= null then do; 48 user_name = xmail_data.person; 49 call user_info_$homedir (homedir); 50 mlsys_dir_entry = user_name || MLSYS_DIR_SUFFIX; 51 value_dir = rtrim (homedir) || ">" || mlsys_dir_entry; 52 seg_type = 0; /* permanent value seg */ 53 call ioa_ ("^/ The value segment which contains your personalization options"); 54 call ioa_ (" contains invalid data or cannot be accessed for some reason."); 55 call ioa_ (" A new value segment will be built in your mlsys directory."); 56 call ioa_ (" You may reset the personalization options by selecting"); 57 call ioa_ (" ""Personalize Exec Mail"" from the main menu.^/"); 58 end; 59 else do; 60 value_dir = get_pdir_ (); 61 seg_type = 1; /* temporary value seg */ 62 call ioa_ ("^/ The value segment which contains your personalization options"); 63 call ioa_ (" cannot be altered or deleted. A temporary value segment with"); 64 call ioa_ (" default personalization option values has been created for you"); 65 call ioa_ (" in your process_dir. These options may be changed, but the new"); 66 call ioa_ (" values will only have effect for the duration of your process.^/"); 67 end; 68 69 call PRESS_TO_CONTINUE; 70 xrvs_value_seg_ptr = null; 71 call initiate_file_$create (value_dir, (VALUE_SEG_NAME), REW_ACCESS, xrvs_value_seg_ptr, created_sw, bc, code); 72 call MAIN; 73 return; 74 75 copy: entry (P_value_seg_ptr, P_code); 1 1 /* BEGIN INCLUDE FILE: copy_options.incl.pl1 */ 1 2 1 3 /* This structure declares the input structure used by the copy_ subroutine. 1 4* 1 5* NOTE: This include file depends on declarations in the include file 1 6* copy_flags.incl.pl1. 1 7* 1 8* Jay Pattin 6/1/83 */ 1 9 1 10 declare copy_options_ptr ptr; 1 11 1 12 declare 1 copy_options aligned based (copy_options_ptr), 1 13 2 version char (8), /* currently COPY_OPTIONS_VERSION_1 */ 1 14 2 caller_name char (32) unal, /* Used in nd_handler_ call */ 1 15 2 source_dir char (168) unal, 1 16 2 source_name char (32) unal, 1 17 2 target_dir char (168) unal, 1 18 2 target_name char (32) unal, 1 19 2 flags, 1 20 3 no_name_dup bit (1) unaligned, /* ON = don't call nd_handler_ */ 1 21 3 raw bit (1) unaligned, /* ON = don't call object_type_, use hcs_ */ 1 22 3 force bit (1) unaligned, /* ON = delete or force access to target */ 1 23 3 delete bit (1) unaligned, /* ON = delete original after copy (for move) */ 1 24 3 target_err_switch bit (1) unaligned, 1 25 3 mbz bit (31) unaligned, 1 26 2 copy_items like copy_flags; /* see copy_flags.incl.pl1 */ 1 27 1 28 declare COPY_OPTIONS_VERSION_1 char (8) static options (constant) init ("CPOPT001"); 1 29 1 30 /* END INCLUDE FILE: copy_options.incl.pl1 */ 76 2 1 /* BEGIN INCLUDE FILE: copy_flags.incl.pl1 */ 2 2 2 3 /* Flags for attributes that should/may be copied by the copy_ subroutine. This include file is 2 4* required by suffix_info.incl.pl1 and copy_options.incl.pl1 2 5* 2 6* Jay Pattin 6/23/83 */ 2 7 2 8 declare 1 copy_flags aligned based, /* ON means that this attribute may be copied by copy_ */ 2 9 2 names bit (1) unaligned, 2 10 2 acl bit (1) unaligned, 2 11 2 ring_brackets bit (1) unaligned, 2 12 2 max_length bit (1) unaligned, 2 13 2 copy_switch bit (1) unaligned, 2 14 2 safety_switch bit (1) unaligned, 2 15 2 dumper_switches bit (1) unaligned, 2 16 2 entry_bound bit (1) unaligned, /* only for vanilla object segments */ 2 17 2 extend bit (1) unaligned, /* copy_ may append to end of existing object */ 2 18 2 update bit (1) unaligned, /* copy_ may replace contents of existing object */ 2 19 2 mbz bit (26) unaligned; 2 20 2 21 /* END INCLUDE FILE: copy_flags.incl.pl1 */ 77 78 79 dcl P_value_seg_ptr ptr; 80 dcl P_code fixed bin (35) parm; 81 dcl 01 my_copy_options like copy_options; 82 dcl fs_util_$copy entry (ptr, fixed bin(35)); 83 84 value_dir = get_pdir_(); 85 xmail_data.value_seg_pathname = value_dir; 86 call initiate_file_$create (value_dir, (VALUE_SEG_NAME), REW_ACCESS, xrvs_value_seg_ptr, created_sw, bc, code); 87 if code = 0 then 88 if ^created_sw then call MAIN; 89 else do; 90 my_copy_options.version = COPY_OPTIONS_VERSION_1; 91 user_name = xmail_data.person; 92 call user_info_$homedir (homedir); 93 mlsys_dir_entry = user_name || MLSYS_DIR_SUFFIX; 94 value_dir = rtrim (homedir) || ">" || mlsys_dir_entry; 95 my_copy_options.source_dir = value_dir ; 96 my_copy_options.source_name = VALUE_SEG_NAME; 97 my_copy_options.target_dir = get_pdir_(); 98 my_copy_options.target_name = VALUE_SEG_NAME; 99 my_copy_options.no_name_dup = "1"b; 100 my_copy_options.raw = "0"b; 101 my_copy_options.force = "0"b; 102 my_copy_options.delete = "0"b; 103 my_copy_options.flags.mbz = "0"b; 104 my_copy_options.copy_items = "0"b; 105 my_copy_options.copy_items.update = "1"b; 106 call fs_util_$copy (addr(my_copy_options), code); 107 if code = 0 then do; 108 call ioa_ ("^/ The value segment which contains your personalization options"); 109 call ioa_ (" cannot be altered or deleted. A temporary value segment with"); 110 call ioa_ (" copies of your personalization option values has been created for"); 111 call ioa_ (" you in your process_dir. These options may be changed, but the"); 112 call ioa_ (" new values will only have effect for the duration of your process.^/"); 113 call PRESS_TO_CONTINUE; 114 P_value_seg_ptr = xrvs_value_seg_ptr; 115 end; 116 end; 117 P_code = code; 118 return; 119 120 MAIN: proc (); 121 /* Create a new value_segment. Put it in the process_dir if there was some reason 122* you couldn't get rid of the old one, otherwise it goes in the mlsys_dir. */ 123 124 if code = 0 & created_sw 125 then call value_$init_seg (xrvs_value_seg_ptr, seg_type, null, 0, code); 126 if code ^= 0 then goto XMAIL_REBUILD_VALUE_SEG_EXIT; 127 else xmail_data.value_seg_pathname = value_dir; 128 /* Set all the default values in the value segment if we have a new one*/ 129 130 if created_sw then do; 131 132 call SET_DEFAULT (xrvs_value_seg_ptr, VERSION, (xmail_version)); 133 call SET_DEFAULT (xrvs_value_seg_ptr, SAVE_MESSAGE, (YES)); 134 call SET_DEFAULT (xrvs_value_seg_ptr, SAVE_MAILBOX, (ASK)); 135 call SET_DEFAULT (xrvs_value_seg_ptr, "lifetime_first_invocation", (NO)); 136 call SET_DEFAULT (xrvs_value_seg_ptr, ACKNOWLEDGE, (NO)); 137 call SET_DEFAULT (xrvs_value_seg_ptr, LISTS_AS_MENUS, (NO)); 138 call SET_DEFAULT (xrvs_value_seg_ptr, INTERACTIVE_MSGS, (YES)); 139 call SET_DEFAULT (xrvs_value_seg_ptr, ALWAYS_ESCAPE, (NO)); 140 call SET_DEFAULT (xrvs_value_seg_ptr, MULTICS_MODE, (NO)); 141 call SET_DEFAULT (xrvs_value_seg_ptr, REMOVE_MENUS, (NO)); 142 call SET_DEFAULT (xrvs_value_seg_ptr, CONFIRM_PRINT, (YES)); 143 call SET_DEFAULT (xrvs_value_seg_ptr, INCLUDE_ORIGINAL, (NO)); 144 call SET_DEFAULT (xrvs_value_seg_ptr, FILE_ORIGINAL, (NO)); 145 call SET_DEFAULT (xrvs_value_seg_ptr, ORIGINAL_IN_WINDOW, (YES)); 146 end; 147 xrvs_code = 0; 148 return; 149 150 XMAIL_REBUILD_VALUE_SEG_EXIT: 151 call CLEANUP; 152 xrvs_code = 1; 153 return; 154 155 156 SET_DEFAULT: proc (sd_value_seg_ptr, sd_value_name, sd_default); 157 158 /* PARAMETERS */ 159 160 dcl sd_value_name char (*); 161 dcl sd_default char (*); 162 dcl sd_value_seg_ptr ptr; 163 dcl PERMANENT init ("01"b) bit (36) aligned static options (constant); 164 165 /* BEGIN */ 166 167 call value_$set (sd_value_seg_ptr, PERMANENT, sd_value_name, (sd_default), answer_yn, code); 168 if code ^= 0 169 then goto XMAIL_REBUILD_VALUE_SEG_EXIT; 170 171 end SET_DEFAULT; 172 end MAIN; 173 PRESS_TO_CONTINUE: proc; 174 175 dcl prompt char (46) init (" Press to continue") int static options (constant); 176 dcl 1 auto_query_info like query_info; 177 dcl been_thru_this_before bit (1) aligned; 178 dcl line char (80) var; 179 dcl iox_$user_output ptr ext static; 180 dcl command_query_ entry() options(variable); 181 dcl iox_$control entry (ptr, char(*), ptr, fixed bin(35)); 182 dcl ENABLE_ESCAPE bit (2) aligned init ("11"b) int static options (constant); 183 184 auto_query_info.version = query_info_version_6; 185 auto_query_info.switches.yes_or_no_sw = "0"b; 186 auto_query_info.switches.suppress_name_sw = "1"b; 187 auto_query_info.switches.cp_escape_control = ENABLE_ESCAPE; 188 auto_query_info.switches.suppress_spacing = "1"b; 189 auto_query_info.switches.literal_sw = "0"b; 190 auto_query_info.switches.prompt_after_explanation = "0"b; 191 auto_query_info.switches.padding = "0"b; 192 auto_query_info.status_code = 0; 193 auto_query_info.query_code = 0; 194 auto_query_info.question_iocbp = null (); /* default: user_i/o */ 195 auto_query_info.answer_iocbp = null (); /* default: user_input */ 196 auto_query_info.repeat_time = 0; /* don't repeat */ 197 auto_query_info.explanation_ptr = null (); 198 auto_query_info.explanation_len = 0; 199 200 been_thru_this_before = "0"b; 201 do while ("1"b); 202 call iox_$control (iox_$user_output, "reset_more", null, (0)); /* ignore code */ 203 204 call command_query_ (addr (auto_query_info), line, "", "^[^/^]^a^2x", been_thru_this_before, prompt); 205 been_thru_this_before = "1"b; 206 207 if line = "" then goto EXIT_PRESS_TO_CONTINUE; 208 end; 209 210 EXIT_PRESS_TO_CONTINUE: return; 211 end PRESS_TO_CONTINUE; 212 213 CLEANUP: proc (); 214 if xrvs_value_seg_ptr ^= null 215 then do; 216 call terminate_file_ (xrvs_value_seg_ptr, bc, TERM_FILE_DELETE, code); 217 xrvs_value_seg_ptr = null; 218 end; 219 return; 220 end CLEANUP; 221 3 1 /* BEGIN INCLUDE FILE query_info.incl.pl1 TAC June 1, 1973 */ 3 2 /* Renamed to query_info.incl.pl1 and cp_escape_control added, 08/10/78 WOS */ 3 3 /* version number changed to 4, 08/10/78 WOS */ 3 4 /* Version 5 adds explanation_(ptr len) 05/08/81 S. Herbst */ 3 5 /* Version 6 adds literal_sw, prompt_after_explanation switch 12/15/82 S. Herbst */ 3 6 3 7 dcl 1 query_info aligned, /* argument structure for command_query_ call */ 3 8 2 version fixed bin, /* version of this structure - must be set, see below */ 3 9 2 switches aligned, /* various bit switch values */ 3 10 3 yes_or_no_sw bit (1) unaligned init ("0"b), /* not a yes-or-no question, by default */ 3 11 3 suppress_name_sw bit (1) unaligned init ("0"b), /* do not suppress command name */ 3 12 3 cp_escape_control bit (2) unaligned init ("00"b), /* obey static default value */ 3 13 /* "01" -> invalid, "10" -> don't allow, "11" -> allow */ 3 14 3 suppress_spacing bit (1) unaligned init ("0"b), /* whether to print extra spacing */ 3 15 3 literal_sw bit (1) unaligned init ("0"b), /* ON => do not strip leading/trailing white space */ 3 16 3 prompt_after_explanation bit (1) unaligned init ("0"b), /* ON => repeat question after explanation */ 3 17 3 padding bit (29) unaligned init (""b), /* pads it out to t word */ 3 18 2 status_code fixed bin (35) init (0), /* query not prompted by any error, by default */ 3 19 2 query_code fixed bin (35) init (0), /* currently has no meaning */ 3 20 3 21 /* Limit of data defined for version 2 */ 3 22 3 23 2 question_iocbp ptr init (null ()), /* IO switch to write question */ 3 24 2 answer_iocbp ptr init (null ()), /* IO switch to read answer */ 3 25 2 repeat_time fixed bin (71) init (0), /* repeat question every N seconds if no answer */ 3 26 /* minimum of 30 seconds required for repeat */ 3 27 /* otherwise, no repeat will occur */ 3 28 /* Limit of data defined for version 4 */ 3 29 3 30 2 explanation_ptr ptr init (null ()), /* explanation of question to be printed if */ 3 31 2 explanation_len fixed bin (21) init (0); /* user answers "?" (disabled if ptr=null or len=0) */ 3 32 3 33 dcl query_info_version_3 fixed bin int static options (constant) init (3); 3 34 dcl query_info_version_4 fixed bin int static options (constant) init (4); 3 35 dcl query_info_version_5 fixed bin int static options (constant) init (5); 3 36 dcl query_info_version_6 fixed bin int static options (constant) init (6); /* the current version number */ 3 37 3 38 /* END INCLUDE FILE query_info.incl.pl1 */ 222 4 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 4 2 /* format: style2,^inddcls,idind32 */ 4 3 4 4 declare 1 terminate_file_switches based, 4 5 2 truncate bit (1) unaligned, 4 6 2 set_bc bit (1) unaligned, 4 7 2 terminate bit (1) unaligned, 4 8 2 force_write bit (1) unaligned, 4 9 2 delete bit (1) unaligned; 4 10 4 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 4 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 4 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 4 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 4 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 4 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 4 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 4 18 4 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 223 5 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 5 2* 5 3* Values for the "access mode" argument so often used in hardcore 5 4* James R. Davis 26 Jan 81 MCR 4844 5 5* Added constants for SM access 4/28/82 Jay Pattin 5 6* Added text strings 03/19/85 Chris Jones 5 7**/ 5 8 5 9 5 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 5 11 dcl ( 5 12 N_ACCESS init ("000"b), 5 13 R_ACCESS init ("100"b), 5 14 E_ACCESS init ("010"b), 5 15 W_ACCESS init ("001"b), 5 16 RE_ACCESS init ("110"b), 5 17 REW_ACCESS init ("111"b), 5 18 RW_ACCESS init ("101"b), 5 19 S_ACCESS init ("100"b), 5 20 M_ACCESS init ("010"b), 5 21 A_ACCESS init ("001"b), 5 22 SA_ACCESS init ("101"b), 5 23 SM_ACCESS init ("110"b), 5 24 SMA_ACCESS init ("111"b) 5 25 ) bit (3) internal static options (constant); 5 26 5 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 5 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 5 29 5 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 5 31 static options (constant); 5 32 5 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 5 34 static options (constant); 5 35 5 36 dcl ( 5 37 N_ACCESS_BIN init (00000b), 5 38 R_ACCESS_BIN init (01000b), 5 39 E_ACCESS_BIN init (00100b), 5 40 W_ACCESS_BIN init (00010b), 5 41 RW_ACCESS_BIN init (01010b), 5 42 RE_ACCESS_BIN init (01100b), 5 43 REW_ACCESS_BIN init (01110b), 5 44 S_ACCESS_BIN init (01000b), 5 45 M_ACCESS_BIN init (00010b), 5 46 A_ACCESS_BIN init (00001b), 5 47 SA_ACCESS_BIN init (01001b), 5 48 SM_ACCESS_BIN init (01010b), 5 49 SMA_ACCESS_BIN init (01011b) 5 50 ) fixed bin (5) internal static options (constant); 5 51 5 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 224 225 6 1 /* BEGIN INCLUDE FILE: xmail_data.incl.pl1 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(85-12-20,Blair), approve(86-03-06,MCR7358), 6 6* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 7* Modified 03/15/85 by Joanne Backs adding confirm_print flag. 6 8* 2) change(85-12-20,LJAdams), approve(86-03-06,MCR7358), 6 9* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 10* Adding switch to indicate request for menu display came from general help. 6 11* This is so general help menu will be displayed in top screen. 6 12* 3) change(86-01-10,Blair), approve(86-03-06,MCR7358), 6 13* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 14* Add switch to indicate whether or not it is permissible to process mail 6 15* in other users' mailboxes (foreign_mailbox). 6 16* 4) change(86-01-13,Blair), approve(86-03-06,MCR7358), 6 17* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 18* Add bit to indicate whether or not this is a true cleanup condition. 6 19* 5) change(86-02-06,Blair), approve(86-03-06,MCR7358), 6 20* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 21* Rearrange to group all the bit flags together in one word with a pad. 6 22* 6) change(86-03-05,Blair), approve(86-03-05,MCR7358), 6 23* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 6 24* Change value_seg ptr to value_seg_pathname to avoid the situation where 6 25* you keep around a pointer to a structure which no longer exists. 6 26* 7) change(87-01-16,Blair), approve(87-02-05,MCR7618), 6 27* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 6 28* Add a field to indicate whether or not we should process interactive msgs. 6 29* Increment version to 4.1 so default value will get set. 6 30* 8) change(87-02-13,Blair), approve(87-02-13,MCR7618), 6 31* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 6 32* Add a field to indicate whether or not we're processing a reply so that we 6 33* will be able to rebuild the screens properly after a disconnect occurs. 6 34* Error_list #114. 6 35* 9) change(88-07-26,Blair), approve(88-07-26,MCR7959), 6 36* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 6 37* Add a bit to indicate whether or not the error segment had to be created 6 38* in the pdir (because we didn't have sma access to the mlsys_dir). 6 39* END HISTORY COMMENTS */ 6 40 6 41 6 42 /* Written 5/13/81 by Paul H. Kyzivat */ 6 43 /* Modified 12/16/81 by S. Krupp to delete unused parts of structure 6 44* and to add n_fkeys_used */ 6 45 /* Modified 12/14/82 by Dave Schimke to make the xmail version a 10 character 6 46* varying string. */ 6 47 /* Modified 09/12/83 by Dave Schimke adding interactive_msgs flag */ 6 48 /* Modified 09/14/83 by Dave Schimke adding moved_user_io */ 6 49 /* Modified 09/06/84 by Joanne Backs adding lists_as_menus flag */ 6 50 /* Modified 09/21/84 by Joanne Backs adding remove_menus flag */ 6 51 6 52 dcl xmail_data_ptr external static ptr init (null); 6 53 6 54 dcl 1 xmail_data aligned based (xmail_data_ptr), 6 55 2 mail_dir char (168) varying, 6 56 2 first_label label, 6 57 2 quit_label label, 6 58 2 value_seg_pathname char (168) varying, 6 59 2 moved_user_io ptr, 6 60 2 normal_usage char (80) unal, 6 61 2 function_key_info, 6 62 3 function_key_data_ptr ptr, 6 63 3 n_fkeys_used fixed bin, 6 64 2 actee, 6 65 3 person char(32) varying, 6 66 3 project char(32) varying, 6 67 2 flags aligned, 6 68 3 mail_in_incoming bit (1) unal, 6 69 3 lists_as_menus bit (1) unal, /* personalization */ 6 70 3 remove_menus bit (1) unal, /* personalization */ 6 71 3 confirm_print bit (1) unal, /* personalization */ 6 72 3 multics_mode bit (1) unal, /* personalization */ 6 73 3 interactive_msgs bit (1) unal, /* personalization */ 6 74 3 foreign_mailbox bit (1) unal, /* read others' mailboxes */ 6 75 3 general_help bit (1) unal, /* indicated requesting gen help*/ 6 76 3 cleanup_signalled bit (1) unal, /* on when true cleanup condition */ 6 77 3 msgs_as_mail bit (1) unal, /* on for include_msgs */ 6 78 3 reply_request bit (1) unal, /* on if we're doing a reply */ 6 79 3 error_seg_in_pdir bit (1) unal, /* on if the error_seg is in the pdir */ 6 80 3 pad bit (24) unal; 6 81 6 82 6 83 6 84 dcl xmail_version char(10) var static options(constant) init("4.1"); 6 85 6 86 /* END INCLUDE FILE: xmail_data.incl.pl1 */ 226 227 228 /* PARAMETERS */ 229 230 dcl xrvs_value_ptr ptr; 231 dcl xrvs_code fixed bin (35); 232 233 /* AUTOMATIC */ 234 235 dcl answer_yn char (3) var; 236 dcl bc fixed bin (24); 237 dcl code fixed bin (35); 238 dcl created_sw bit (1) aligned; 239 dcl homedir char (168); 240 dcl mlsys_dir_entry char (32); 241 dcl seg_type fixed bin; 242 dcl user_name char (35) var; 243 dcl value_dir char (168); 244 dcl xrvs_value_seg_ptr ptr; 245 246 247 /* ENTRIES */ 248 249 dcl get_pdir_ entry () returns (char (168)); 250 dcl initiate_file_$create entry (char (*), char (*), bit (*), ptr, bit (1) aligned, fixed bin (24), fixed bin (35)); 251 dcl ioa_ entry () options (variable); 252 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 253 dcl user_info_$homedir entry (char (*)); 254 dcl value_$init_seg entry (ptr, fixed bin, ptr, fixed bin (19), fixed bin (35)); 255 dcl value_$set entry() options(variable); 256 257 /* BUILTINS */ 258 259 dcl (addr, null, rtrim) builtin; 260 261 /* CONDITIONS */ 262 263 dcl cleanup condition; 264 265 /* CONSTANTS */ 266 dcl ASK char (3) init ("ask") int static options (constant); 267 dcl MLSYS_DIR_SUFFIX char (6) init (".mlsys") int static options (constant); 268 dcl NO char (2) init ("no") int static options (constant); 269 dcl VALUE_SEG_NAME init ("xmail_data.value") char (32) var int static options (constant); 270 dcl VERSION init ("version") char (7) int static options (constant); 271 dcl YES char (3) init ("yes") int static options (constant); 272 dcl ( 273 /*** names of personalization options ***/ 274 ACKNOWLEDGE char (14) init ("acknowledge_yn"), 275 ALWAYS_ESCAPE char (21) init ("always_escape_keys_yn"), 276 CONFIRM_PRINT char (19) init ("confirm_print_yn"), 277 FILE_ORIGINAL char (16) init ("file_original_yn"), 278 INCLUDE_ORIGINAL char (19) init ("include_original_yn"), 279 ORIGINAL_IN_WINDOW char (21) init ("original_up_window_yn"), 280 INTERACTIVE_MSGS char (19) init ("interactive_msgs_yn"), 281 LISTS_AS_MENUS char (17) init ("lists_as_menus_yn"), 282 MULTICS_MODE char (15) init ("multics_mode_yn"), 283 /* OUTGOING_SV_BOX char (32) init ("outgoing.sv.mbx"), historic entry only */ 284 REMOVE_MENUS char (15) init ("remove_menus_yn"), 285 SAVE_MAILBOX char (15) init ("save_mailfile"), 286 SAVE_MESSAGE char (15) init ("save_message_yn") 287 ) static options (constant); 288 289 end xmail_rebuild_value_seg_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/02/88 0736.1 xmail_rebuild_value_seg_.pl1 >spec>install>MR12.2-1098>xmail_rebuild_value_seg_.pl1 76 1 10/14/83 1606.7 copy_options.incl.pl1 >ldd>include>copy_options.incl.pl1 77 2 10/14/83 1606.7 copy_flags.incl.pl1 >ldd>include>copy_flags.incl.pl1 222 3 03/11/83 1204.3 query_info.incl.pl1 >ldd>include>query_info.incl.pl1 223 4 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.incl.pl1 224 5 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 226 6 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. ACKNOWLEDGE 000101 constant char(14) initial packed unaligned dcl 272 set ref 136* ALWAYS_ESCAPE 000073 constant char(21) initial packed unaligned dcl 272 set ref 139* ASK 000124 constant char(3) initial packed unaligned dcl 266 ref 134 CONFIRM_PRINT 000066 constant char(19) initial packed unaligned dcl 272 set ref 142* COPY_OPTIONS_VERSION_1 000134 constant char(8) initial packed unaligned dcl 1-28 ref 90 ENABLE_ESCAPE constant bit(2) initial dcl 182 ref 187 FILE_ORIGINAL 000062 constant char(16) initial packed unaligned dcl 272 set ref 144* INCLUDE_ORIGINAL 000055 constant char(19) initial packed unaligned dcl 272 set ref 143* INTERACTIVE_MSGS 000042 constant char(19) initial packed unaligned dcl 272 set ref 138* LISTS_AS_MENUS 000035 constant char(17) initial packed unaligned dcl 272 set ref 137* MLSYS_DIR_SUFFIX 000122 constant char(6) initial packed unaligned dcl 267 ref 50 93 MULTICS_MODE 000031 constant char(15) initial packed unaligned dcl 272 set ref 140* NO constant char(2) initial packed unaligned dcl 268 ref 135 136 137 139 140 141 143 144 ORIGINAL_IN_WINDOW 000047 constant char(21) initial packed unaligned dcl 272 set ref 145* PERMANENT 000014 constant bit(36) initial dcl 163 set ref 167* P_code parameter fixed bin(35,0) dcl 80 set ref 75 117* P_value_seg_ptr parameter pointer dcl 79 set ref 75 114* REMOVE_MENUS 000025 constant char(15) initial packed unaligned dcl 272 set ref 141* REW_ACCESS 000131 constant bit(3) initial packed unaligned dcl 5-11 set ref 71* 86* SAVE_MAILBOX 000021 constant char(15) initial packed unaligned dcl 272 set ref 134* SAVE_MESSAGE 000015 constant char(15) initial packed unaligned dcl 272 set ref 133* TERM_FILE_DELETE 000132 constant bit(5) initial packed unaligned dcl 4-17 set ref 46* 216* VALUE_SEG_NAME 000110 constant varying char(32) initial dcl 269 ref 71 86 96 98 VERSION 000106 constant char(7) initial packed unaligned dcl 270 set ref 132* YES 000105 constant char(3) initial packed unaligned dcl 271 ref 133 138 142 145 actee 171 based structure level 2 dcl 6-54 addr builtin function dcl 259 ref 106 106 204 204 answer_iocbp 6 000476 automatic pointer initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 195* answer_iocbp 6 000260 automatic pointer initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* answer_yn 000276 automatic varying char(3) dcl 235 set ref 167* auto_query_info 000476 automatic structure level 1 unaligned dcl 176 set ref 204 204 bc 000300 automatic fixed bin(24,0) dcl 236 set ref 46* 71* 86* 216* been_thru_this_before 000513 automatic bit(1) dcl 177 set ref 200* 204* 205* cleanup 000454 stack reference condition dcl 263 ref 39 code 000301 automatic fixed bin(35,0) dcl 237 set ref 46* 47 71* 86* 87 106* 107 117 124 124* 126 167* 168 216* command_query_ 000034 constant entry external dcl 180 ref 204 copy_flags based structure level 1 dcl 2-8 copy_items 157 000100 automatic structure level 2 packed packed unaligned dcl 81 set ref 104* copy_options based structure level 1 dcl 1-12 cp_escape_control 1(02) 000260 automatic bit(2) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* cp_escape_control 1(02) 000476 automatic bit(2) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 187* created_sw 000302 automatic bit(1) dcl 238 set ref 71* 86* 87 124 130 delete 156(03) 000100 automatic bit(1) level 3 packed packed unaligned dcl 81 set ref 102* explanation_len 14 000260 automatic fixed bin(21,0) initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* explanation_len 14 000476 automatic fixed bin(21,0) initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 198* explanation_ptr 12 000476 automatic pointer initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 197* explanation_ptr 12 000260 automatic pointer initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* flags 156 000100 automatic structure level 2 packed packed unaligned dcl 81 force 156(02) 000100 automatic bit(1) level 3 packed packed unaligned dcl 81 set ref 101* fs_util_$copy 000010 constant entry external dcl 82 ref 106 get_pdir_ 000014 constant entry external dcl 249 ref 60 84 97 homedir 000303 automatic char(168) packed unaligned dcl 239 set ref 49* 51 92* 94 initiate_file_$create 000016 constant entry external dcl 250 ref 71 86 ioa_ 000020 constant entry external dcl 251 ref 53 54 55 56 57 62 63 64 65 66 108 109 110 111 112 iox_$control 000036 constant entry external dcl 181 ref 202 iox_$user_output 000032 external static pointer dcl 179 set ref 202* line 000514 automatic varying char(80) dcl 178 set ref 204* 207 literal_sw 1(05) 000476 automatic bit(1) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 189* literal_sw 1(05) 000260 automatic bit(1) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* mbz 156(05) 000100 automatic bit(31) level 3 packed packed unaligned dcl 81 set ref 103* mlsys_dir_entry 000355 automatic char(32) packed unaligned dcl 240 set ref 50* 51 93* 94 my_copy_options 000100 automatic structure level 1 packed packed unaligned dcl 81 set ref 106 106 no_name_dup 156 000100 automatic bit(1) level 3 packed packed unaligned dcl 81 set ref 99* null builtin function dcl 259 ref 47 70 3-7 3-7 3-7 124 124 176 176 176 194 195 197 202 202 214 217 padding 1(07) 000476 automatic bit(29) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 191* padding 1(07) 000260 automatic bit(29) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* person 171 based varying char(32) level 3 dcl 6-54 ref 48 91 prompt 000000 constant char(46) initial packed unaligned dcl 175 set ref 204* prompt_after_explanation 1(06) 000260 automatic bit(1) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* prompt_after_explanation 1(06) 000476 automatic bit(1) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 190* query_code 3 000476 automatic fixed bin(35,0) initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 193* query_code 3 000260 automatic fixed bin(35,0) initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* query_info 000260 automatic structure level 1 dcl 3-7 query_info_version_6 constant fixed bin(17,0) initial dcl 3-36 ref 184 question_iocbp 4 000476 automatic pointer initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 194* question_iocbp 4 000260 automatic pointer initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* raw 156(01) 000100 automatic bit(1) level 3 packed packed unaligned dcl 81 set ref 100* repeat_time 10 000476 automatic fixed bin(71,0) initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 196* repeat_time 10 000260 automatic fixed bin(71,0) initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* rtrim builtin function dcl 259 ref 51 94 sd_default parameter char packed unaligned dcl 161 ref 156 167 sd_value_name parameter char packed unaligned dcl 160 set ref 156 167* sd_value_seg_ptr parameter pointer dcl 162 set ref 156 167* seg_type 000365 automatic fixed bin(17,0) dcl 241 set ref 52* 61* 124* source_dir 12 000100 automatic char(168) level 2 packed packed unaligned dcl 81 set ref 95* source_name 64 000100 automatic char(32) level 2 packed packed unaligned dcl 81 set ref 96* status_code 2 000260 automatic fixed bin(35,0) initial level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* status_code 2 000476 automatic fixed bin(35,0) initial level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 192* suppress_name_sw 1(01) 000260 automatic bit(1) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* suppress_name_sw 1(01) 000476 automatic bit(1) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 186* suppress_spacing 1(04) 000476 automatic bit(1) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 188* suppress_spacing 1(04) 000260 automatic bit(1) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* switches 1 000476 automatic structure level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" switches 1 000260 automatic structure level 2 in structure "query_info" dcl 3-7 in procedure "xmail_rebuild_value_seg_" target_dir 74 000100 automatic char(168) level 2 packed packed unaligned dcl 81 set ref 97* target_name 146 000100 automatic char(32) level 2 packed packed unaligned dcl 81 set ref 98* terminate_file_ 000022 constant entry external dcl 252 ref 46 216 update 157(09) 000100 automatic bit(1) level 3 packed packed unaligned dcl 81 set ref 105* user_info_$homedir 000024 constant entry external dcl 253 ref 49 92 user_name 000366 automatic varying char(35) dcl 242 set ref 48* 50 91* 93 value_$init_seg 000026 constant entry external dcl 254 ref 124 value_$set 000030 constant entry external dcl 255 ref 167 value_dir 000400 automatic char(168) packed unaligned dcl 243 set ref 51* 60* 71* 84* 85 86* 94* 95 127 value_seg_pathname 64 based varying char(168) level 2 dcl 6-54 set ref 85* 127* version 000476 automatic fixed bin(17,0) level 2 in structure "auto_query_info" dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 184* version 000100 automatic char(8) level 2 in structure "my_copy_options" packed packed unaligned dcl 81 in procedure "xmail_rebuild_value_seg_" set ref 90* xmail_data based structure level 1 dcl 6-54 xmail_data_ptr 000012 external static pointer initial dcl 6-52 ref 48 85 91 127 xmail_version 000125 constant varying char(10) initial dcl 6-84 ref 132 xrvs_code parameter fixed bin(35,0) dcl 231 set ref 34 147* 152* xrvs_value_ptr parameter pointer dcl 230 ref 34 45 xrvs_value_seg_ptr 000452 automatic pointer dcl 244 set ref 45* 46* 47 70* 71* 86* 114 124* 132* 133* 134* 135* 136* 137* 138* 139* 140* 141* 142* 143* 144* 145* 214 216* 217* yes_or_no_sw 1 000260 automatic bit(1) initial level 3 in structure "query_info" packed packed unaligned dcl 3-7 in procedure "xmail_rebuild_value_seg_" set ref 3-7* yes_or_no_sw 1 000476 automatic bit(1) initial level 3 in structure "auto_query_info" packed packed unaligned dcl 176 in procedure "PRESS_TO_CONTINUE" set ref 176* 185* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 5-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 M_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 RW_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 5-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 4-12 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 4-16 TERM_FILE_TERM internal static bit(3) initial packed unaligned dcl 4-14 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 4-11 TERM_FILE_TRUNC_BC internal static bit(2) initial packed unaligned dcl 4-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 4-15 W_ACCESS internal static bit(3) initial packed unaligned dcl 5-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 5-36 copy_options_ptr automatic pointer dcl 1-10 query_info_version_3 internal static fixed bin(17,0) initial dcl 3-33 query_info_version_4 internal static fixed bin(17,0) initial dcl 3-34 query_info_version_5 internal static fixed bin(17,0) initial dcl 3-35 terminate_file_switches based structure level 1 packed packed unaligned dcl 4-4 NAMES DECLARED BY EXPLICIT CONTEXT. CLEANUP 002635 constant entry internal dcl 213 ref 40 150 EXIT_PRESS_TO_CONTINUE 002633 constant label dcl 210 ref 207 MAIN 001660 constant entry internal dcl 120 ref 72 87 PRESS_TO_CONTINUE 002443 constant entry internal dcl 173 ref 69 113 SET_DEFAULT 002346 constant entry internal dcl 156 ref 132 133 134 135 136 137 138 139 140 141 142 143 144 145 XMAIL_REBUILD_VALUE_SEG_EXIT 002335 constant label dcl 150 ref 126 168 copy 001246 constant entry external dcl 75 xmail_rebuild_value_seg_ 000575 constant entry external dcl 34 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3116 3156 2713 3126 Length 3514 2713 40 321 202 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_rebuild_value_seg_ 494 external procedure is an external procedure. on unit on line 39 64 on unit MAIN internal procedure shares stack frame of external procedure xmail_rebuild_value_seg_. SET_DEFAULT 96 internal procedure is called during a stack extension. PRESS_TO_CONTINUE internal procedure shares stack frame of external procedure xmail_rebuild_value_seg_. CLEANUP 82 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xmail_rebuild_value_seg_ 000100 my_copy_options xmail_rebuild_value_seg_ 000260 query_info xmail_rebuild_value_seg_ 000276 answer_yn xmail_rebuild_value_seg_ 000300 bc xmail_rebuild_value_seg_ 000301 code xmail_rebuild_value_seg_ 000302 created_sw xmail_rebuild_value_seg_ 000303 homedir xmail_rebuild_value_seg_ 000355 mlsys_dir_entry xmail_rebuild_value_seg_ 000365 seg_type xmail_rebuild_value_seg_ 000366 user_name xmail_rebuild_value_seg_ 000400 value_dir xmail_rebuild_value_seg_ 000452 xrvs_value_seg_ptr xmail_rebuild_value_seg_ 000476 auto_query_info PRESS_TO_CONTINUE 000513 been_thru_this_before PRESS_TO_CONTINUE 000514 line PRESS_TO_CONTINUE 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 call_int_this call_int_other return_mac tra_ext_1 enable_op shorten_stack ext_entry int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. command_query_ fs_util_$copy get_pdir_ initiate_file_$create ioa_ iox_$control terminate_file_ user_info_$homedir value_$init_seg value_$set THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$user_output xmail_data_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 3 7 000537 34 000571 39 000603 40 000617 41 000624 45 000625 46 000631 47 000656 48 000664 49 000674 50 000704 51 000722 52 000762 53 000764 54 001000 55 001014 56 001030 57 001044 58 001060 60 001061 61 001070 62 001072 63 001106 64 001122 65 001136 66 001152 69 001166 70 001167 71 001171 72 001241 73 001243 75 001244 84 001254 85 001263 86 001273 87 001342 90 001352 91 001354 92 001364 93 001374 94 001412 95 001452 96 001456 97 001462 98 001471 99 001475 100 001477 101 001501 102 001503 103 001505 104 001507 105 001535 106 001537 107 001552 108 001554 109 001570 110 001604 111 001620 112 001634 113 001650 114 001651 117 001654 118 001657 120 001660 124 001661 126 001710 127 001712 130 001722 132 001725 133 001754 134 001777 135 002021 136 002046 137 002070 138 002112 139 002134 140 002156 141 002200 142 002222 143 002244 144 002266 145 002310 147 002332 148 002334 150 002335 152 002341 153 002344 156 002345 167 002366 168 002433 171 002442 173 002443 176 002444 184 002474 185 002476 186 002500 187 002502 188 002504 189 002506 190 002510 191 002512 192 002514 193 002515 194 002516 195 002520 197 002521 198 002522 200 002523 202 002524 204 002560 205 002623 207 002625 208 002632 210 002633 213 002634 214 002642 216 002647 217 002673 219 002676 ----------------------------------------------------------- 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