COMPILATION LISTING OF SEGMENT send_message_obsolete Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1146.15_Tue_mdt Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 /* This module implements the following obsolete message facility commands: 7* 8* send_message_acknowledge (sma) 9* send_message_express (smx) 10* send_message_silent (sms) 11* 12* and the following subroutines: 13* 14* send_message_ 15* send_message_acknowledge_ (send_message_$acknowledge) 16* send_message_express_ (send_message_$express) 17* send_message_$notify_mail 18**/ 19 /* Written 12/16/83 by Jim Lippard */ 20 send_message_obsolete: procedure options (variable); 21 return; 22 23 dcl ME char (24); 24 25 dcl (active_fnc_err_, com_err_, com_err_$suppress_name) entry () options (variable); 26 27 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 28 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 29 30 dcl arg_count fixed bin; 31 dcl arg_ptr ptr; 32 dcl arg_len fixed bin (21); 33 dcl arg char (arg_len) based (arg_ptr); 34 35 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed bin (35)); 36 37 dcl dname char (168); 38 dcl ename char (32); 39 40 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 41 42 dcl destination_arg char (168); 43 44 dcl ioa_ entry () options (variable); 45 46 dcl iox_$get_line entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)); 47 dcl iox_$user_input ptr ext static; 48 49 dcl message_facility_$send_message entry (char (*), char (*), char (*), ptr, fixed bin (35)); 50 51 dcl chars_read fixed bin (21); 52 dcl old_message_ptr ptr; 53 dcl old_message_len fixed bin (21); 54 dcl message_ptr ptr; 55 dcl message_len fixed bin (21); 56 dcl message_space char (1600) aligned; 57 dcl message char (message_len) based (message_ptr); 58 dcl start_len fixed bin (21); 59 60 dcl get_system_free_area_ entry () returns (ptr); 61 62 dcl area_ptr ptr; 63 dcl area area based (area_ptr); 64 65 dcl user_info_$whoami entry (char (*), char (*), char (*)); 66 67 dcl person char (22); 68 dcl project char (9); 69 70 dcl idx fixed bin; 71 72 dcl (P_person, P_project, P_message) char (*) parameter; 73 dcl P_code fixed bin (35) parameter; 74 75 dcl brief bit (1) aligned; 76 dcl destination bit (1) aligned; 77 dcl message_allocated bit (1) aligned; 78 dcl pathname bit (1) aligned; 79 80 dcl (addr, after, before, length, null, rtrim, substr) builtin; 81 82 dcl code fixed bin (35); 83 84 dcl (error_table_$long_record, 85 error_table_$messages_deferred, 86 error_table_$messages_off, 87 error_table_$no_append, 88 error_table_$no_dir, 89 error_table_$noentry, 90 error_table_$no_info, 91 error_table_$wakeup_denied) ext fixed bin (35); 92 93 dcl TRUE bit (1) aligned internal static options (constant) init ("1"b); 94 dcl FALSE bit (1) aligned internal static options (constant) init ("0"b); 95 dcl DOT_NL char (2) aligned internal static options (constant) init (". 96 "); 97 dcl NL char (1) aligned internal static options (constant) init (" 98 "); 99 100 send_message_acknowledge: sma: entry; 101 ME = "send_message_acknowledge"; 102 call smo_initialize (); 103 send_mail_info.acknowledge = TRUE; 104 call smo_command (); 105 return; 106 107 send_message_express: smx: entry; 108 ME = "send_message_express"; 109 call smo_initialize (); 110 send_mail_info.always_add = FALSE; 111 call smo_command (); 112 return; 113 114 send_message_silent: sms: entry; 115 ME = "send_message_silent"; 116 call smo_initialize (); 117 brief = TRUE; 118 call smo_command (); 119 return; 120 121 send_message_: entry (P_person, P_project, P_message, P_code); 122 call smo_initialize (); 123 call smo_subroutine (); 124 return; 125 126 send_message_acknowledge_: acknowledge: entry (P_person, P_project, P_message, P_code); 127 call smo_initialize (); 128 send_mail_info.acknowledge = TRUE; 129 call smo_subroutine (); 130 return; 131 132 send_message_express_: express: entry (P_person, P_project, P_message, P_code); 133 call smo_initialize (); 134 send_mail_info.always_add = FALSE; 135 call smo_subroutine (); 136 return; 137 138 notify_mail: entry (P_person, P_project, P_code); 139 call smo_initialize (); 140 send_mail_info.notify = TRUE; 141 send_mail_info.always_add = FALSE; 142 call smo_subroutine (); 143 return; 144 145 smo_initialize: procedure (); 146 /* initialize variables */ 147 brief = FALSE; 148 area_ptr = null (); 149 150 call user_info_$whoami (person, "", ""); 151 152 send_mail_info.version = send_mail_info_version_2; 153 send_mail_info.sent_from = person; 154 send_mail_info.wakeup = TRUE; 155 send_mail_info.mbz1 = ""b; 156 send_mail_info.always_add = TRUE; 157 send_mail_info.never_add = FALSE; 158 send_mail_info.notify = FALSE; 159 send_mail_info.acknowledge = FALSE; 160 send_mail_info.mbz = ""b; 161 end smo_initialize; 162 163 smo_command: procedure (); 164 /* procedure for commands */ 165 destination, message_allocated = FALSE; 166 167 /* process arguments */ 168 call cu_$arg_count (arg_count, code); 169 170 if code ^= 0 then do; 171 call active_fnc_err_ (code, ME); 172 return; 173 end; 174 175 do idx = 1 to arg_count while (^destination); 176 call cu_$arg_ptr (idx, arg_ptr, arg_len, (0)); 177 if arg = "-pathname" | arg = "-pn" then do; /* pathname destination */ 178 idx = idx + 1; 179 180 if idx > arg_count then do; 181 call com_err_ ((0), ME, "No value specified for -pathname."); 182 return; 183 end; 184 185 call cu_$arg_ptr (idx, arg_ptr, arg_len, (0)); 186 call expand_pathname_$add_suffix (arg, "mbx", dname, ename, code); 187 188 if code ^= 0 then do; 189 call com_err_ (code, ME, "^a", arg); 190 return; 191 end; 192 193 destination_arg = pathname_ (dname, ename); 194 destination, pathname = TRUE; 195 end; 196 else do; /* person.project or person project */ 197 person = before (arg, "."); 198 project = after (arg, "."); 199 if project = "" then do; /* person project or project is missing */ 200 idx = idx + 1; 201 if idx <= arg_count then do; 202 person = arg; 203 call cu_$arg_ptr (idx, arg_ptr, arg_len, (0)); 204 project = arg; 205 end; 206 else do; 207 call com_err_$suppress_name ((0), ME, "Usage: ^a person.project {message} 208 or:^5x^a -pathname path {message}", ME, ME); 209 return; 210 end; 211 end; 212 dname = ">udd>" || rtrim (project) || ">" || person; 213 ename = rtrim (person) || ".mbx"; 214 destination_arg = rtrim (person) || "." || project; 215 destination = TRUE; 216 pathname = FALSE; 217 end; 218 end; 219 220 if ^destination then do; 221 call com_err_$suppress_name ((0), ME, "Usage: ^a person.project {message} 222 or:^5x^a -pathname path {message}", ME, ME); 223 return; 224 end; 225 226 message_ptr = addr (message_space); 227 message_len = length (message_space); 228 message = ""; 229 230 if idx <= arg_count then do; /* message on the line */ 231 start_len = 1; 232 do idx = idx to arg_count; 233 call cu_$arg_ptr (idx, arg_ptr, arg_len, (0)); 234 if start_len + arg_len > message_len then do; 235 old_message_ptr = message_ptr; 236 old_message_len = message_len; 237 message_len = message_len + arg_len + length (message_space); 238 if area_ptr = null () then area_ptr = get_system_free_area_ (); 239 allocate message in (area) set (message_ptr); 240 message_allocated = TRUE; 241 message = substr (old_message_ptr -> message, 1, old_message_len); 242 if old_message_len > length (message_space) then free old_message_ptr -> message in (area); 243 end; 244 substr (message, start_len, arg_len) = arg; 245 start_len = start_len + arg_len + 1; 246 substr (message, start_len - 1, 1) = " "; 247 end; 248 249 substr (message, start_len - 1, 1) = NL; 250 251 call message_facility_$send_message (dname, ename, substr (message, 1, start_len - 1), 252 addr (send_mail_info), code); 253 254 if message_allocated then do; 255 message_allocated = FALSE; 256 free message in (area); 257 end; 258 end; 259 else do; /* input mode */ 260 send_mail_info.never_add = TRUE; 261 call message_facility_$send_message (dname, ename, "", 262 addr (send_mail_info), code); 263 send_mail_info.never_add = FALSE; 264 if code ^= 0 then 265 if (code = error_table_$messages_off | code = error_table_$messages_deferred) then do; 266 if ^send_mail_info.always_add then do; 267 call com_err_ (code, ME, "^a", destination_arg); 268 return; 269 end; 270 if ^send_mail_info.acknowledge & ^brief then 271 call com_err_ (code, ME, "^a", destination_arg); 272 code = 0; 273 end; 274 else if code = error_table_$no_info then do; 275 if send_mail_info.acknowledge then 276 call com_err_ (code, ME, "Messages to ^a cannot be acknowledged.", destination_arg); 277 else if ^brief then call com_err_ (code, ME, "^a", destination_arg); 278 code = 0; 279 end; 280 if code ^= 0 then goto SMO_ERROR; 281 call ioa_ ("Input:"); /* input mode */ 282 do while (code = 0); 283 call iox_$get_line (iox_$user_input, message_ptr, message_len, chars_read, code); 284 if code ^= 0 then 285 if code = error_table_$long_record then do; 286 call com_err_ (code, ME, "user_input"); 287 code = 0; 288 end; 289 else do; 290 call com_err_ (code, ME, "user_input"); 291 return; 292 end; 293 else if substr (message, 1, chars_read) = DOT_NL then return; 294 call message_facility_$send_message (dname, ename, substr (message, 1, chars_read), addr (send_mail_info), code); 295 if code ^= 0 then 296 if (code = error_table_$messages_off 297 | code = error_table_$no_info 298 | code = error_table_$messages_deferred) then code = 0; 299 end; 300 end; 301 if code ^= 0 then do; 302 SMO_ERROR: if code = error_table_$noentry | code = error_table_$no_dir then 303 call com_err_ ((0), ME, "No mailbox^[ for^] ^a", ^pathname, destination_arg); 304 else if code = error_table_$no_append then 305 call com_err_ ((0), ME, "Insufficient access to add a message to^[ mailbox of^] ^a", ^pathname, 306 destination_arg); 307 else if ^send_mail_info.always_add then 308 if ^brief then call ioa_ ("Not sent."); 309 else ; 310 else if code = error_table_$wakeup_denied then 311 if ^brief then call com_err_ ((0), ME, "Insufficient access to send a wakeup to ^a", 312 destination_arg); 313 else ; 314 else if (code = error_table_$messages_off | code = error_table_$messages_deferred) then 315 if ^send_mail_info.acknowledge & ^brief then 316 call com_err_ (code, ME, "^a", destination_arg); 317 else ; 318 else if code = error_table_$no_info then 319 if send_mail_info.acknowledge & ^brief then 320 call com_err_ (code, ME, "Messages to ^a cannot be acknowledged.", destination_arg); 321 else ; 322 else call com_err_ (code, ME, "^a", destination_arg); 323 end; 324 end smo_command; 325 326 smo_subroutine: procedure (); 327 /* procedure for subroutines */ 328 dname = ">udd>" || rtrim (P_project) || ">" || P_person; 329 ename = rtrim (P_person) || ".mbx"; 330 331 if send_mail_info.notify then call message_facility_$send_message (dname, ename, "You have mail.", 332 addr (send_mail_info), code); 333 else call message_facility_$send_message (dname, ename, P_message, addr (send_mail_info), code); 334 335 P_code = code; 336 end smo_subroutine; 337 1 1 /* BEGIN send_mail_info include file */ 1 2 1 3 dcl send_mail_info_version_2 fixed bin init(2); 1 4 1 5 dcl 1 send_mail_info aligned, 1 6 2 version fixed bin, /* = 2 */ 1 7 2 sent_from char(32) aligned, 1 8 2 switches, 1 9 3 wakeup bit(1) unal, 1 10 3 mbz1 bit(1) unal, 1 11 3 always_add bit(1) unal, 1 12 3 never_add bit(1) unal, 1 13 3 notify bit(1) unal, 1 14 3 acknowledge bit(1) unal, 1 15 3 mbz bit(30) unal; 1 16 1 17 /* END send_mail_info include file */ 338 339 end send_message_obsolete; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1146.1 send_message_obsolete.pl1 >udd>sm>ds>w>ml>send_message_obsolete.pl1 338 1 04/27/78 1604.4 send_mail_info.incl.pl1 >ldd>incl>send_mail_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. DOT_NL 003102 constant char(2) initial dcl 95 ref 293 FALSE constant bit(1) initial dcl 94 ref 110 134 141 147 157 158 159 165 216 255 263 ME 000100 automatic char(24) packed unaligned dcl 23 set ref 101* 108* 115* 171* 181* 189* 207* 207* 207* 221* 221* 221* 267* 270* 275* 277* 286* 290* 302* 304* 310* 314* 318* 322* NL constant char(1) initial dcl 97 ref 249 P_code parameter fixed bin(35,0) dcl 73 set ref 121 126 126 132 132 138 335* P_message parameter char packed unaligned dcl 72 set ref 121 126 126 132 132 333* P_person parameter char packed unaligned dcl 72 ref 121 126 126 132 132 138 328 329 P_project parameter char packed unaligned dcl 72 ref 121 126 126 132 132 138 328 TRUE constant bit(1) initial dcl 93 ref 103 117 128 140 154 156 194 215 240 260 acknowledge 11(05) 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 103* 128* 159* 270 275 314 318 active_fnc_err_ 000010 constant entry external dcl 25 ref 171 addr builtin function dcl 80 ref 226 251 251 261 261 294 294 331 331 333 333 after builtin function dcl 80 ref 198 always_add 11(02) 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 110* 134* 141* 156* 266 307 area based area(1024) dcl 63 ref 239 242 256 area_ptr 001100 automatic pointer dcl 62 set ref 148* 238 238* 239 242 256 arg based char packed unaligned dcl 33 set ref 177 177 186* 189* 197 198 202 204 244 arg_count 000106 automatic fixed bin(17,0) dcl 30 set ref 168* 175 180 201 230 232 arg_len 000112 automatic fixed bin(21,0) dcl 32 set ref 176* 177 177 185* 186 186 189 189 197 198 202 203* 204 233* 234 237 244 244 245 arg_ptr 000110 automatic pointer dcl 31 set ref 176* 177 177 185* 186 189 197 198 202 203* 204 233* 244 before builtin function dcl 80 ref 197 brief 001114 automatic bit(1) dcl 75 set ref 117* 147* 270 277 307 310 314 318 chars_read 000247 automatic fixed bin(21,0) dcl 51 set ref 283* 293 294 294 code 001120 automatic fixed bin(35,0) dcl 82 set ref 168* 170 171* 186* 188 189* 251* 261* 264 264 264 267* 270* 272* 274 275* 277* 278* 280 282 283* 284 284 286* 287* 290* 294* 295 295 295 295 295* 301 302 302 304 310 314 314 314* 318 318* 322* 331* 333* 335 com_err_ 000012 constant entry external dcl 25 ref 181 189 267 270 275 277 286 290 302 304 310 314 318 322 com_err_$suppress_name 000014 constant entry external dcl 25 ref 207 221 cu_$arg_count 000016 constant entry external dcl 27 ref 168 cu_$arg_ptr 000020 constant entry external dcl 28 ref 176 185 203 233 destination 001115 automatic bit(1) dcl 76 set ref 165* 175 194* 215* 220 destination_arg 000175 automatic char(168) packed unaligned dcl 42 set ref 193* 214* 267* 270* 275* 277* 302* 304* 310* 314* 318* 322* dname 000113 automatic char(168) packed unaligned dcl 37 set ref 186* 193* 212* 251* 261* 294* 328* 331* 333* ename 000165 automatic char(32) packed unaligned dcl 38 set ref 186* 193* 213* 251* 261* 294* 329* 331* 333* error_table_$long_record 000042 external static fixed bin(35,0) dcl 84 ref 284 error_table_$messages_deferred 000044 external static fixed bin(35,0) dcl 84 ref 264 295 314 error_table_$messages_off 000046 external static fixed bin(35,0) dcl 84 ref 264 295 314 error_table_$no_append 000050 external static fixed bin(35,0) dcl 84 ref 304 error_table_$no_dir 000052 external static fixed bin(35,0) dcl 84 ref 302 error_table_$no_info 000056 external static fixed bin(35,0) dcl 84 ref 274 295 318 error_table_$noentry 000054 external static fixed bin(35,0) dcl 84 ref 302 error_table_$wakeup_denied 000060 external static fixed bin(35,0) dcl 84 ref 310 expand_pathname_$add_suffix 000022 constant entry external dcl 35 ref 186 get_system_free_area_ 000036 constant entry external dcl 60 ref 238 idx 001113 automatic fixed bin(17,0) dcl 70 set ref 175* 176* 178* 178 180 185* 200* 200 201 203* 230 232* 232* 233* ioa_ 000026 constant entry external dcl 44 ref 281 307 iox_$get_line 000030 constant entry external dcl 46 ref 283 iox_$user_input 000032 external static pointer dcl 47 set ref 283* length builtin function dcl 80 ref 227 237 242 mbz 11(06) 001122 automatic bit(30) level 3 packed packed unaligned dcl 1-5 set ref 160* mbz1 11(01) 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 155* message based char packed unaligned dcl 57 set ref 228* 239 241* 241 242 244* 246* 249* 251 251 256 293 294 294 message_allocated 001116 automatic bit(1) dcl 77 set ref 165* 240* 254 255* message_facility_$send_message 000034 constant entry external dcl 49 ref 251 261 294 331 333 message_len 000256 automatic fixed bin(21,0) dcl 55 set ref 227* 228 234 236 237* 237 239 239 241 241 242 242 244 246 249 251 251 256 256 283* 293 294 294 message_ptr 000254 automatic pointer dcl 54 set ref 226* 228 235 239* 241 244 246 249 251 251 256 283* 293 294 294 message_space 000257 automatic char(1600) dcl 56 set ref 226 227 237 242 never_add 11(03) 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 157* 260* 263* notify 11(04) 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 140* 158* 331 null builtin function dcl 80 ref 148 238 old_message_len 000252 automatic fixed bin(21,0) dcl 53 set ref 236* 241 242 old_message_ptr 000250 automatic pointer dcl 52 set ref 235* 241 242 pathname 001117 automatic bit(1) dcl 78 set ref 194* 216* 302 304 pathname_ 000024 constant entry external dcl 40 ref 193 person 001102 automatic char(22) packed unaligned dcl 67 set ref 150* 153 197* 202* 212 213 214 project 001110 automatic char(9) packed unaligned dcl 68 set ref 198* 199 204* 212 214 rtrim builtin function dcl 80 ref 212 213 214 328 329 send_mail_info 001122 automatic structure level 1 dcl 1-5 set ref 251 251 261 261 294 294 331 331 333 333 send_mail_info_version_2 001121 automatic fixed bin(17,0) initial dcl 1-3 set ref 1-3* 152 sent_from 1 001122 automatic char(32) level 2 dcl 1-5 set ref 153* start_len 001077 automatic fixed bin(21,0) dcl 58 set ref 231* 234 244 245* 245 246 249 251 251 substr builtin function dcl 80 set ref 241 244* 246* 249* 251 251 293 294 294 switches 11 001122 automatic structure level 2 dcl 1-5 user_info_$whoami 000040 constant entry external dcl 65 ref 150 version 001122 automatic fixed bin(17,0) level 2 dcl 1-5 set ref 152* wakeup 11 001122 automatic bit(1) level 3 packed packed unaligned dcl 1-5 set ref 154* NAMES DECLARED BY EXPLICIT CONTEXT. SMO_ERROR 002350 constant label dcl 302 ref 280 acknowledge 000367 constant entry external dcl 126 express 000463 constant entry external dcl 132 notify_mail 000561 constant entry external dcl 138 send_message_ 000331 constant entry external dcl 121 send_message_acknowledge 000230 constant entry external dcl 100 send_message_acknowledge_ 000423 constant entry external dcl 126 send_message_express 000257 constant entry external dcl 107 send_message_express_ 000517 constant entry external dcl 132 send_message_obsolete 000210 constant entry external dcl 20 send_message_silent 000306 constant entry external dcl 114 sma 000220 constant entry external dcl 100 smo_command 000664 constant entry internal dcl 163 ref 104 111 118 smo_initialize 000614 constant entry internal dcl 145 ref 102 109 116 122 127 133 139 smo_subroutine 002664 constant entry internal dcl 326 ref 123 129 135 142 sms 000276 constant entry external dcl 114 smx 000247 constant entry external dcl 107 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3504 3566 3105 3514 Length 4052 3105 62 247 377 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME send_message_obsolete 756 external procedure is an external procedure. smo_initialize internal procedure shares stack frame of external procedure send_message_obsolete. smo_command internal procedure shares stack frame of external procedure send_message_obsolete. smo_subroutine internal procedure shares stack frame of external procedure send_message_obsolete. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME send_message_obsolete 000100 ME send_message_obsolete 000106 arg_count send_message_obsolete 000110 arg_ptr send_message_obsolete 000112 arg_len send_message_obsolete 000113 dname send_message_obsolete 000165 ename send_message_obsolete 000175 destination_arg send_message_obsolete 000247 chars_read send_message_obsolete 000250 old_message_ptr send_message_obsolete 000252 old_message_len send_message_obsolete 000254 message_ptr send_message_obsolete 000256 message_len send_message_obsolete 000257 message_space send_message_obsolete 001077 start_len send_message_obsolete 001100 area_ptr send_message_obsolete 001102 person send_message_obsolete 001110 project send_message_obsolete 001113 idx send_message_obsolete 001114 brief send_message_obsolete 001115 destination send_message_obsolete 001116 message_allocated send_message_obsolete 001117 pathname send_message_obsolete 001120 code send_message_obsolete 001121 send_mail_info_version_2 send_message_obsolete 001122 send_mail_info send_message_obsolete THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry ext_entry_desc op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ com_err_$suppress_name cu_$arg_count cu_$arg_ptr expand_pathname_$add_suffix get_system_free_area_ ioa_ iox_$get_line message_facility_$send_message pathname_ user_info_$whoami THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$long_record error_table_$messages_deferred error_table_$messages_off error_table_$no_append error_table_$no_dir error_table_$no_info error_table_$noentry error_table_$wakeup_denied iox_$user_input LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 1 3 000203 20 000207 21 000216 100 000217 101 000236 102 000241 103 000242 104 000244 105 000245 107 000246 108 000265 109 000270 110 000271 111 000273 112 000274 114 000275 115 000314 116 000317 117 000320 118 000322 119 000323 121 000324 122 000362 123 000363 124 000364 126 000365 127 000454 128 000455 129 000457 130 000460 132 000461 133 000550 134 000551 135 000553 136 000554 138 000555 139 000605 140 000606 141 000610 142 000612 143 000613 145 000614 147 000615 148 000616 150 000620 152 000640 153 000642 154 000645 155 000647 156 000651 157 000653 158 000655 159 000657 160 000661 161 000663 163 000664 165 000665 168 000670 170 000701 171 000703 172 000720 175 000721 176 000733 177 000751 178 000763 180 000764 181 000767 182 001014 185 001015 186 001033 188 001071 189 001073 190 001125 193 001126 194 001146 195 001151 197 001152 198 001162 199 001200 200 001204 201 001205 202 001210 203 001214 204 001232 205 001237 207 001240 209 001272 212 001273 213 001342 214 001371 215 001431 216 001434 218 001435 220 001437 221 001441 223 001473 226 001474 227 001476 228 001500 230 001503 231 001506 232 001510 233 001517 234 001535 235 001541 236 001543 237 001545 238 001550 239 001563 240 001572 241 001574 242 001602 244 001612 245 001621 246 001624 247 001627 249 001631 251 001636 254 001702 255 001705 256 001706 258 001713 260 001714 261 001716 263 001751 264 001753 266 001762 267 001765 268 002013 270 002014 272 002047 273 002050 274 002051 275 002053 277 002106 278 002136 280 002137 281 002141 282 002154 283 002156 284 002175 286 002202 287 002227 288 002230 290 002231 291 002256 292 002257 293 002260 294 002267 295 002332 299 002345 301 002346 302 002350 304 002415 307 002457 309 002500 310 002501 313 002535 314 002536 317 002575 318 002576 321 002634 322 002635 324 002663 326 002664 328 002665 329 002741 331 002770 333 003036 335 003072 336 003074 ----------------------------------------------------------- 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