COMPILATION LISTING OF SEGMENT date_time Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 08/30/84 1204.3 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 13 /**** format: ind3,ll80,initcol6,indattr,^inddcls,dclind4,idind16 */ 14 /**** format: struclvlind2,^ifthenstmt,^ifthendo,^ifthen,^indnoniterdo */ 15 /**** format: ^inditerdo,^indnoniterend,^indthenelse,case,^indproc,^indend */ 16 /**** format: ^delnl,^insnl,comcol41,^indcom,^indblkcom,linecom,^indcomtxt */ 17 date_time: proc; 18 19 20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 21 /* */ 22 /* See the control string table at the end of this list for a description */ 23 /* of the formats used by the various entries to this command. */ 24 /* */ 25 /* SYNTAX AS A COMMAND: */ 26 /* */ 27 /* fnc_name {convert_date_to_binary_args} {-control_args} */ 28 /* */ 29 /* SYNTAX AS AN ACTIVE FUNCTION: */ 30 /* */ 31 /* [fnc_name {convert_date_to_binary_args} {-control_args}] */ 32 /* */ 33 /* ARGUMENTS: */ 34 /* */ 35 /* fnc_name */ 36 /* is the name of the active function to be invoked. */ 37 /* convert_date_to_binary_args */ 38 /* one or more arguments which could be strung together and passed to */ 39 /* convert_date_to_binary_ to indicate the date about which information */ 40 /* is desired. */ 41 /* */ 42 /* CONTROL ARGUMENTS: */ 43 /* */ 44 /* -zone XXX */ 45 /* specifies the zone which is to be used to express the result. */ 46 /* calendar clock defaults to GMT, all else to process default. */ 47 /* -language XXX, -lang XXX */ 48 /* specifies the language in which month-names, day-names, and */ 49 /* zone-names are to be expressed. All functions default to process */ 50 /* default. */ 51 /* */ 52 /* */ 53 /* SYNTAX AS A COMMAND: */ 54 /* */ 55 /* clock FORMAT {date-time-string} {-control_args} */ 56 /* */ 57 /* SYNTAX AS AN ACTIVE FUNCTION: */ 58 /* */ 59 /* [clock FORMAT {date-time-string} {-control_args}] */ 60 /* */ 61 /* FORMAT is a string which is is acceptable to date_time_$format */ 62 /* */ 63 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 64 /* Status: */ 65 /* 1) 11/11/72- Gary C. Dixon CREATED */ 66 /* 2) 06/12/78- jaf Added calendar_clock and clock functions. */ 67 /* Added -zone and -language arguments. */ 68 /* Changed to call date_time_$format */ 69 /* 3) 03/30/83- jaf Prepare for new date/time system. */ 70 /* Added -time_zone, -tz to cover date_time */ 71 /* Fix up to match MCRed control strings */ 72 /* */ 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 74 75 me = "date_time"; 76 ctl = "^my/^dm/^yc ^Hd^99v.9MH ^xxxxza^xxxda"; 77 quote = "1"b; 78 goto common_quote; 79 80 calendar_clock: entry; 81 me = "calendar_clock"; 82 ctl = "calendar_clock"; 83 goto common; 84 85 clock: entry; 86 87 me = "clock"; 88 call cu_$arg_ptr (1, arg_p, arg_l, code); 89 if (code ^= 0) 90 then argno = -1; /* ERROR: format_string missing. */ 91 else do; 92 argno = 2; 93 ctl = arg; 94 end; 95 quote = "0"b; 96 goto clock_common; 97 98 date: entry; 99 me = "date"; 100 ctl = "^my/^dm/^yc"; 101 goto common; 102 103 day: entry; 104 me = "day"; 105 ctl = "^Z9dm"; 106 goto common; 107 108 day_name: entry; 109 me = "day_name"; 110 ctl = "^dn"; 111 goto common; 112 113 hour: entry; 114 me = "hour"; 115 ctl = "^Z9Hd"; 116 goto common; 117 118 long_date: entry; 119 me = "long_date"; 120 ctl = "^mn ^Z9dm, ^9999yc"; 121 quote = "1"b; 122 goto common_quote; 123 124 long_year: entry; 125 me = "long_year"; 126 ctl = "^9999yc"; 127 goto common; 128 129 minute: entry; 130 me = "minute"; 131 ctl = "^Z9MH"; 132 goto common; 133 134 month: entry; 135 me = "month"; 136 ctl = "^Z9my"; 137 goto common; 138 139 month_name: entry; 140 me = "month_name"; 141 ctl = "^mn"; 142 goto common; 143 144 time: entry; 145 me = "time"; 146 ctl = "^Hd:^MH"; 147 goto common; 148 149 year: entry; 150 me = "year"; 151 ctl = "^yc"; 152 goto common; 153 154 155 common: 156 quote = "0"b; 157 common_quote: 158 argno = 1; 159 clock_common: 160 lzone, llanguage = ""; 161 /**** Assume we were called as an active function. Get ptr & length of our */ 162 /**** return argument, and count of our input arguments. */ 163 call cu_$af_return_arg (arg_ct, ret_p, ret_l, code); 164 if code = 0 /* if called as an active function, */ 165 then do; 166 command = "0"b; 167 err = active_fnc_err_; 168 get_arg = cu_$af_arg_ptr; 169 ret = ""; 170 end; 171 else if code = error_table_$not_act_fnc /* if called as a command, */ 172 then do; 173 command = "1"b; /* indicate so */ 174 get_arg = cu_$arg_ptr; 175 err = com_err_; 176 end; 177 else do; /* WHAT ELSE IS THERE?! */ 178 command = "0"b; /* if some unknown error occurs, */ 179 err = active_fnc_err_; /* ..report it to user as if we were */ 180 go to bad_call; /* ..called as an active fnc */ 181 end; 182 if argno = -1 /* Report missing format_string in */ 183 then do; /* ..clock entry. */ 184 code = error_table_$noarg; 185 go to bad_call; 186 end; 187 188 result = ""; 189 state = 0; 190 do i = argno to arg_ct; /* string input arguments together, */ 191 /* ..separated by blanks, in our */ 192 result = result || " "; /* ..result argument (a temporary). */ 193 call get_arg (i, arg_p, arg_l, code); 194 if (state = 1) /* -zone last */ 195 then do; 196 state = 0; 197 lzone = arg; 198 end; 199 else if (state = 2) /* -lang last */ 200 then do; 201 state = 0; 202 llanguage = arg; 203 end; 204 else do; 205 if (arg = "-zone") 206 | (arg = "-time_zone") | (arg = "-tz") /* (OBSOLETE) */ 207 then state = 1; 208 else if (arg = "-language") | (arg = "-lang") 209 then state = 2; 210 else result = result || arg; 211 end; 212 end; 213 if (state ^= 0) 214 then goto arg_error; 215 errloc = 0; 216 call convert_date_to_binary_ ((result), clock_value, code); 217 if code ^= 0 /* if error in input arguments, */ 218 then do; /* ..tell user. */ 219 call err (code, me, 220 "^/Date/Time args were: ^va^[ -zone ^a^;^s^]^[ -lang ^a^;^s^]", 221 length (result), result, (lzone ^= ""), lzone, 222 (llanguage ^= ""), llanguage); 223 return; 224 end; 225 tzone = lzone; /* Process defaults */ 226 tlanguage = llanguage; /* ..done in $format */ 227 if (me = "calendar_clock") /* Output values in GMT, */ 228 then do; /* ..english by default. */ 229 if lzone = "" 230 then tzone = "gmt"; 231 if llanguage = "" 232 then tlanguage = "english"; 233 end; 234 235 on condition (sub_error_) call sub_err_handler; 236 result = date_time_$format ((ctl), clock_value, tzone, tlanguage); 237 if ^command & quote 238 then result = """" || result || """"; 239 240 exit: 241 if command /* print command's result */ 242 then call ioa_ ("^va", length (result), result); 243 else ret = result; /* return AFs result */ 244 return; 245 dcl sub_error_ condition; 246 sub_err_handler: proc; 247 condition_info_ptr = addr (c_info); 248 condition_info.version = condition_info_version_1; 249 call find_condition_info_ (null (), condition_info_ptr, code); 250 if (code ^= 0) 251 then call com_err_ (code, me||"(sub_error_)" ); 252 sub_error_info_ptr = condition_info.info_ptr; 253 if (sub_error_info.name ^= "date_time_$format") 254 then do; 255 call continue_to_signal_ (code); 256 return; 257 end; 258 call com_err_ (sub_error_info.status_code, me, "^a", 259 sub_error_info.info_string); 260 goto exit; 261 262 263 dcl 1 c_info like condition_info; 264 dcl code fixed bin (35); 265 dcl continue_to_signal_ entry (fixed bin(35)); 266 dcl find_condition_info_ entry (ptr, ptr, fixed bin(35)); 1 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 1 2 1 3 /* Structure for find_condition_info_. 1 4* 1 5* Written 1-Mar-79 by M. N. Davidoff. 1 6**/ 1 7 1 8 /* automatic */ 1 9 1 10 declare condition_info_ptr pointer; 1 11 1 12 /* based */ 1 13 1 14 declare 1 condition_info aligned based (condition_info_ptr), 1 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 1 16 2 version fixed binary, /* Must be 1 */ 1 17 2 condition_name char (32) varying, /* name of condition */ 1 18 2 info_ptr pointer, /* pointer to the condition data structure */ 1 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 1 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 1 21 2 flags unaligned, 1 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 1 23 3 pad1 bit (35), 1 24 2 pad2 bit (36), 1 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 1 26 2 pad3 (4) bit (36); 1 27 1 28 /* internal static */ 1 29 1 30 declare condition_info_version_1 1 31 fixed binary internal static options (constant) initial (1); 1 32 1 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 267 2 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 2 2 /* format: style2 */ 2 3 2 4 declare condition_info_header_ptr 2 5 pointer; 2 6 declare 1 condition_info_header 2 7 aligned based (condition_info_header_ptr), 2 8 2 length fixed bin, /* length in words of this structure */ 2 9 2 version fixed bin, /* version number of this structure */ 2 10 2 action_flags aligned, /* tell handler how to proceed */ 2 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 2 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 2 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 2 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 2 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 2 16 3 pad bit (32) unaligned, 2 17 2 info_string char (256) varying, /* may contain printable message */ 2 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 2 19 2 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 268 3 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 3 2 /* format: style2 */ 3 3 3 4 /* The include file condition_info_header must be used with this file */ 3 5 3 6 declare sub_error_info_ptr pointer; 3 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 3 8 2 header aligned like condition_info_header, 3 9 2 retval fixed bin (35), /* return value */ 3 10 2 name char (32), /* module name */ 3 11 2 info_ptr ptr; 3 12 3 13 declare sub_error_info_version_1 3 14 internal static options (constant) fixed bin init (1); 3 15 3 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 269 270 end sub_err_handler; 271 272 /* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * */ 273 274 275 bad_call: 276 call err (code, me, " 277 Usage:^-^[^;[^]^a ^[format_string ^]{convert_date_to_binary_args} {-control_args}^[^;]^]", 278 command, me, (me = "clock"), command); 279 return; 280 281 282 arg_error: 283 call err (error_table_$noarg, me, 284 "^/^a requires a ^[zone^;language^] name operand.", arg, state); 285 return; 286 287 dcl active_fnc_err_ entry options (variable); 288 dcl arg char (arg_l) based (arg_p); 289 dcl arg_ct fixed bin; 290 dcl arg_l fixed bin; 291 dcl arg_p ptr; 292 dcl argno fixed bin; 293 dcl clock_value fixed bin (71); 294 dcl code fixed bin (35); 295 dcl com_err_ entry options (variable); 296 dcl command bit (1); 297 dcl convert_date_to_binary_ 298 entry (char (*), fixed bin (71), fixed bin (35)); 299 dcl ctl char (256) var; 300 dcl cu_$af_arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 301 dcl cu_$af_return_arg 302 entry (fixed bin, ptr, fixed bin, fixed bin (35)); 303 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 304 dcl date_time_$format entry (char(*), fixed bin(71), char(*), char(*)) 305 returns(char(250) var); 306 dcl error_table_$not_act_fnc 307 fixed bin (35) ext static; 308 dcl err entry automatic options (variable); 309 dcl errloc fixed bin; 310 dcl get_arg entry (fixed bin, ptr, fixed bin, fixed bin (35)) automatic; 311 dcl error_table_$noarg 312 fixed bin (35) ext static; 313 dcl i fixed bin; 314 dcl ioa_ entry options (variable); 315 dcl llanguage char (32); 316 dcl lzone char (32); 317 dcl me char (16); 318 dcl quote bit (1); 319 dcl result char (250) var; 320 dcl ret char (ret_l) var based (ret_p); 321 dcl ret_l fixed bin; 322 dcl ret_p ptr; 323 dcl state fixed bin; 324 dcl tlanguage char (32); 325 dcl tzone char (32); 326 327 dcl (addr, length, null) builtin; 328 329 end date_time; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/29/84 1113.5 date_time.pl1 >spec>on>date_time>date_time.pl1 267 1 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 268 2 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 269 3 07/18/81 1100.0 sub_error_info.incl.pl1 >ldd>include>sub_error_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. active_fnc_err_ 000010 constant entry external dcl 287 ref 167 179 addr builtin function dcl 327 ref 247 arg based char unaligned dcl 288 set ref 93 197 202 205 205 205 208 208 210 282* arg_ct 000106 automatic fixed bin(17,0) dcl 289 set ref 163* 190 arg_l 000107 automatic fixed bin(17,0) dcl 290 set ref 88* 93 193* 197 202 205 205 205 208 208 210 282 282 arg_p 000110 automatic pointer dcl 291 set ref 88* 93 193* 197 202 205 205 205 208 208 210 282 argno 000112 automatic fixed bin(17,0) dcl 292 set ref 89* 92* 157* 182 190 c_info 000106 automatic structure level 1 unaligned dcl 263 set ref 247 clock_value 000114 automatic fixed bin(71,0) dcl 293 set ref 216* 236* code 000116 automatic fixed bin(35,0) dcl 294 in procedure "date_time" set ref 88* 89 163* 164 171 184* 193* 216* 217 219* 275* code 000140 automatic fixed bin(35,0) dcl 264 in procedure "sub_err_handler" set ref 249* 250 250* 255* com_err_ 000012 constant entry external dcl 295 ref 175 250 258 command 000117 automatic bit(1) unaligned dcl 296 set ref 166* 173* 178* 237 240 275* 275* condition_info based structure level 1 dcl 1-14 condition_info_header based structure level 1 dcl 2-6 condition_info_ptr 000142 automatic pointer dcl 1-10 set ref 247* 248 249* 252 condition_info_version_1 constant fixed bin(17,0) initial dcl 1-30 ref 248 continue_to_signal_ 000034 constant entry external dcl 265 ref 255 convert_date_to_binary_ 000014 constant entry external dcl 297 ref 216 ctl 000120 automatic varying char(256) dcl 299 set ref 76* 82* 93* 100* 105* 110* 115* 120* 126* 131* 136* 141* 146* 151* 236 cu_$af_arg_ptr 000016 constant entry external dcl 300 ref 168 cu_$af_return_arg 000020 constant entry external dcl 301 ref 163 cu_$arg_ptr 000022 constant entry external dcl 303 ref 88 174 date_time_$format 000024 constant entry external dcl 304 ref 236 err 000222 automatic entry variable dcl 308 set ref 167* 175* 179* 219 275 282 errloc 000226 automatic fixed bin(17,0) dcl 309 set ref 215* error_table_$noarg 000030 external static fixed bin(35,0) dcl 311 set ref 184 282* error_table_$not_act_fnc 000026 external static fixed bin(35,0) dcl 306 ref 171 find_condition_info_ 000036 constant entry external dcl 266 ref 249 get_arg 000230 automatic entry variable dcl 310 set ref 168* 174* 193 header based structure level 2 dcl 3-7 i 000234 automatic fixed bin(17,0) dcl 313 set ref 190* 193* info_ptr 14 based pointer level 2 dcl 1-14 ref 252 info_string 3 based varying char(256) level 3 dcl 3-7 set ref 258* ioa_ 000032 constant entry external dcl 314 ref 240 length builtin function dcl 327 ref 219 219 240 240 llanguage 000235 automatic char(32) unaligned dcl 315 set ref 159* 202* 219 219* 226 231 lzone 000245 automatic char(32) unaligned dcl 316 set ref 159* 197* 219 219* 225 229 me 000255 automatic char(16) unaligned dcl 317 set ref 75* 81* 87* 99* 104* 109* 114* 119* 125* 130* 135* 140* 145* 150* 219* 227 250 258* 275* 275* 275 282* name 106 based char(32) level 2 dcl 3-7 ref 253 null builtin function dcl 327 ref 249 249 quote 000261 automatic bit(1) unaligned dcl 318 set ref 77* 95* 121* 155* 237 result 000262 automatic varying char(250) dcl 319 set ref 188* 192* 192 210* 210 216 219 219 219* 236* 237* 237 240 240 240* 243 ret based varying char dcl 320 set ref 169* 243* ret_l 000362 automatic fixed bin(17,0) dcl 321 set ref 163* 169 243 ret_p 000364 automatic pointer dcl 322 set ref 163* 169 243 state 000366 automatic fixed bin(17,0) dcl 323 set ref 189* 194 196* 199 201* 205* 208* 213 282* status_code 104 based fixed bin(35,0) level 3 dcl 3-7 set ref 258* sub_error_ 000100 stack reference condition dcl 245 ref 235 sub_error_info based structure level 1 dcl 3-7 sub_error_info_ptr 000144 automatic pointer dcl 3-6 set ref 252* 253 258 258 tlanguage 000367 automatic char(32) unaligned dcl 324 set ref 226* 231* 236* tzone 000377 automatic char(32) unaligned dcl 325 set ref 225* 229* 236* version 2 based fixed bin(17,0) level 2 dcl 1-14 set ref 248* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. condition_info_header_ptr automatic pointer dcl 2-4 sub_error_info_version_1 internal static fixed bin(17,0) initial dcl 3-13 NAMES DECLARED BY EXPLICIT CONTEXT. arg_error 001441 constant label dcl 282 ref 213 bad_call 001372 constant label dcl 275 ref 180 185 calendar_clock 000257 constant entry external dcl 80 clock 000276 constant entry external dcl 85 clock_common 000616 constant label dcl 159 ref 96 common 000613 constant label dcl 155 ref 83 101 106 111 116 127 132 137 142 147 152 common_quote 000614 constant label dcl 157 ref 78 122 date 000350 constant entry external dcl 98 date_time 000236 constant entry external dcl 17 day 000367 constant entry external dcl 103 day_name 000406 constant entry external dcl 108 exit 001330 constant label dcl 240 ref 260 hour 000424 constant entry external dcl 113 long_date 000443 constant entry external dcl 118 long_year 000464 constant entry external dcl 124 minute 000503 constant entry external dcl 129 month 000522 constant entry external dcl 134 month_name 000541 constant entry external dcl 139 sub_err_handler 001501 constant entry internal dcl 246 ref 235 time 000557 constant entry external dcl 144 year 000576 constant entry external dcl 149 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2120 2160 1631 2130 Length 2440 1631 40 244 267 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME date_time 392 external procedure is an external procedure. on unit on line 235 142 on unit sub_err_handler internal procedure shares stack frame of on unit on line 235. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME date_time 000106 arg_ct date_time 000107 arg_l date_time 000110 arg_p date_time 000112 argno date_time 000114 clock_value date_time 000116 code date_time 000117 command date_time 000120 ctl date_time 000222 err date_time 000226 errloc date_time 000230 get_arg date_time 000234 i date_time 000235 llanguage date_time 000245 lzone date_time 000255 me date_time 000261 quote date_time 000262 result date_time 000362 ret_l date_time 000364 ret_p date_time 000366 state date_time 000367 tlanguage date_time 000377 tzone date_time on unit on line 235 000106 c_info sub_err_handler 000140 code sub_err_handler 000142 condition_info_ptr sub_err_handler 000144 sub_error_info_ptr sub_err_handler THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as alloc_cs cat_realloc_cs call_var_desc call_var call_ext_out_desc call_ext_out return tra_ext enable shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ continue_to_signal_ convert_date_to_binary_ cu_$af_arg_ptr cu_$af_return_arg cu_$arg_ptr date_time_$format find_condition_info_ ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noarg error_table_$not_act_fnc LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000235 75 000243 76 000246 77 000253 78 000255 80 000256 81 000264 82 000267 83 000274 85 000275 87 000303 88 000306 89 000325 92 000332 93 000334 95 000345 96 000346 98 000347 99 000355 100 000360 101 000365 103 000366 104 000374 105 000377 106 000404 108 000405 109 000413 110 000416 111 000422 113 000423 114 000431 115 000434 116 000441 118 000442 119 000450 120 000453 121 000460 122 000462 124 000463 125 000471 126 000474 127 000501 129 000502 130 000510 131 000513 132 000520 134 000521 135 000527 136 000532 137 000537 139 000540 140 000546 141 000551 142 000555 144 000556 145 000564 146 000567 147 000574 149 000575 150 000603 151 000606 152 000612 155 000613 157 000614 159 000616 163 000624 164 000641 166 000643 167 000644 168 000651 169 000654 170 000655 171 000656 173 000661 174 000663 175 000667 176 000672 178 000673 179 000675 180 000701 182 000702 184 000705 185 000707 188 000710 189 000711 190 000712 192 000721 193 000730 194 000744 196 000747 197 000750 198 000755 199 000756 201 000760 202 000761 203 000766 205 000767 208 001010 210 001023 212 001035 213 001037 215 001041 216 001042 217 001073 219 001076 223 001161 225 001162 226 001165 227 001170 229 001174 231 001203 235 001212 236 001230 237 001270 240 001330 243 001360 244 001371 275 001372 279 001440 282 001441 285 001500 246 001501 247 001502 248 001504 249 001506 250 001523 252 001551 253 001554 255 001560 256 001567 258 001570 260 001620 ----------------------------------------------------------- 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