COMPILATION LISTING OF SEGMENT plio2_resig_ Compiled by: Multics PL/I Compiler, Release 28d, of September 14, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/03/83 1423.8 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 plio2_resig_:proc(pspp) options(support); 11 12 dcl pspp ptr; 13 dcl psp ptr; 14 dcl fsbp ptr; 15 dcl file_p ptr; 16 dcl name33 char(33) aligned; 17 dcl (index,null,substr) builtin; 18 dcl addr builtin; 19 dcl q ptr; 20 21 22 dcl find_condition_info_ entry(ptr,ptr,fixed bin(35)); 23 dcl continue_to_signal_ entry(fixed bin(35)); 24 25 26 dcl code fixed bin(35); 27 28 29 dcl 1 condition_structure_ aligned like condition_info; 30 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 */ 31 32 2 1 /* declarations for users of 2 2* ondata_$ 2 3*installed in >ldd>include>on_data_.incl.pl1 2 4*fixed up in PAB>others>on_data_.incl.pl1 2 5**/ 2 6 2 7 2 8 2 9 dcl ( 2 10 ondata_$ondatalength fixed bin(15), 2 11 ondata_$callersegname char(32) varying, 2 12 ondata_$callerpathname char(168) varying, 2 13 ondata_$calleroffset fixed bin(17), 2 14 ondata_$infoptr ptr, 2 15 ondata_$onreturnp ptr, 2 16 ondata_$this_file ptr, 2 17 ondata_$who char(4) aligned, 2 18 ondata_$handled fixed bin(15), 2 19 ondata_$file_related fixed bin(15), 2 20 ondata_$fileptr ptr, 2 21 ondata_$pliopsp ptr, 2 22 ondata_$datafield char(256) var, 2 23 ondata_$oncalled char(256) var, 2 24 ondata_$onfile char(32) var, 2 25 ondata_$onloc char(292) var, 2 26 ondata_$onsource char(256) var, 2 27 ondata_$onkey char(256) var, 2 28 ondata_$oncharindex fixed bin(15), 2 29 ondata_$onchar char(1000) aligned, 2 30 ondata_$oncode fixed bin(15), 2 31 ondata_$oncount fixed bin(15), 2 32 ondata_$plio_code fixed bin(15), 2 33 ondata_$condition_name char(32) var ) external; 33 34 3 1 /* BEGIN INCLUDE FILE ... pl1_info.incl.pl1 */ 3 2 /* This is intended to be used by all procedures raising pl1 conditions and by the default handler */ 3 3 /* Created June 1981 by Benson I. Margulies from pl1_info_struc.incl.pl1 */ 3 4 /* This include file must be used with condition_info_header.incl.pl1. Both must be %included */ 3 5 3 6 declare pl1_info_ptr pointer; 3 7 declare 1 pl1_info aligned based (pl1_info_ptr), 3 8 2 header aligned like condition_info_header, 3 9 2 id char(8) aligned, /* init "pliocond"; indicates pl1 structure */ 3 10 2 content_flags aligned, 3 11 (3 v1_sw, /* on if raised by version 1 */ 3 12 3 oncode_sw, /* "1"b->valid oncode */ 3 13 3 onfile_sw, /* "1"b->file name is in structure */ 3 14 3 file_ptr_sw, /* "1"b->file is associated with this condition */ 3 15 3 onsource_sw, /* "1"b->valid onsource string for this condition */ 3 16 3 onchar_sw, /* "1"b->valid onchar index in this structure */ 3 17 3 onkey_sw, /* "1"b->valid onkey string in this structure */ 3 18 3 onfield_sw) bit(1) unaligned, /* "1"b->valid onfield string in this structure */ 3 19 2 oncode fixed bin(35), /* oncode for condition */ 3 20 2 onfile char(32) aligned, /* onfile string */ 3 21 2 file_ptr ptr, /* pointer to file value */ 3 22 2 onsource char(256) var, /* onsource string */ 3 23 2 oncharindex fixed bin, /* char offset in onsource of offending char */ 3 24 2 onkey_onfield char(256) var; /* either onkey string or onfield string */ 3 25 3 26 /* END INCLUDE FILE ... pl1_info.incl.pl1 */ 35 4 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 4 2 /* format: style2 */ 4 3 4 4 declare condition_info_header_ptr 4 5 pointer; 4 6 declare 1 condition_info_header 4 7 aligned based (condition_info_header_ptr), 4 8 2 length fixed bin, /* length in words of this structure */ 4 9 2 version fixed bin, /* version number of this structure */ 4 10 2 action_flags aligned, /* tell handler how to proceed */ 4 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 4 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 4 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 4 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 4 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 4 16 3 pad bit (32) unaligned, 4 17 2 info_string char (256) varying, /* may contain printable message */ 4 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 4 19 4 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 36 37 5 1 /* BEGIN INCLUDE FILE ... plio2_fsb.incl.pl1 */ 5 2 /* format: style3,idind30 */ 5 3 5 4 declare 1 fsb aligned based (fsbp), 5 5 2 switch aligned, 5 6 3 zot (2) bit (1) unaligned, 5 7 3 version_2 bit (1) unaligned, 5 8 3 open bit (1) unaligned, 5 9 3 print bit (1) unaligned, 5 10 3 input bit (1) unaligned, 5 11 3 output bit (1) unaligned, 5 12 3 update bit (1) unaligned, 5 13 3 stream bit (1) unaligned, 5 14 3 notkeyed bit (1) unaligned, 5 15 3 record bit (1) unaligned, 5 16 3 sequential bit (1) unaligned, 5 17 3 direct bit (1) unaligned, 5 18 3 interactive bit (1) unaligned, 5 19 3 not_used_1 bit (1) unaligned, 5 20 3 not_used_2 bit (1) unaligned, 5 21 3 stringvalue bit (1) unaligned, 5 22 3 keyed bit (1) unaligned, 5 23 3 namelist bit (1) unaligned, 5 24 3 implementation bit (1) unaligned, 5 25 3 not_used_4 bit (1) unaligned, /* old get-input eof flag */ 5 26 3 transmit_error bit (1) unaligned, 5 27 3 buffer_in_use bit (1) unaligned, 5 28 3 copy bit (1) unaligned, 5 29 3 detach bit (1) unaligned, 5 30 3 te_hold bit (1) unaligned, 5 31 3 not_used_5 bit (1) unaligned, 5 32 3 internal bit (1) unaligned, 5 33 3 threaded bit (1) unaligned, 5 34 3 fsb_in_use bit (1) unaligned, 5 35 3 console bit (1) unaligned, 5 36 3 emptyline bit (1) unaligned, 5 37 3 iox_close bit (1) unaligned, 5 38 3 xxx4 bit (1) unaligned, 5 39 3 xxx5 bit (1) unaligned, 5 40 3 xxx6 bit (1) unaligned, 5 41 2 nono aligned, 5 42 3 bit_string bit (1) unaligned, 5 43 3 not_used_3 bit (1) unaligned, 5 44 3 read bit (1) unaligned, 5 45 3 write bit (1) unaligned, 5 46 3 rewrite bit (1) unaligned, 5 47 3 delete bit (1) unaligned, 5 48 3 locate bit (1) unaligned, 5 49 3 key bit (1) unaligned, 5 50 3 keyto bit (1) unaligned, 5 51 3 keyfrom bit (1) unaligned, 5 52 3 set bit (1) unaligned, 5 53 3 into bit (1) unaligned, 5 54 3 ignore bit (1) unaligned, 5 55 3 from bit (1) unaligned, 5 56 3 nofrom bit (1) unaligned, 5 57 3 nokey bit (1) unaligned, 5 58 3 nokeyfrom bit (1) unaligned, 5 59 3 nolock bit (1) unaligned, 5 60 2 lsep fixed bin (15), /* (1,COMMA)(2,BL)(3,TAB)(4,NL)(5,SEMI) */ 5 61 2 iocb_p ptr unaligned, /* identifies data_set to iox_ */ 5 62 2 blc fixed bin (21), /* buffer's last character (input) */ 5 63 2 bsize fixed bin (21), /* size of buffer */ 5 64 2 bptr ptr, /* address of buffer */ 5 65 2 bnc fixed bin (15), /* next character in buffer */ 5 66 2 kol fixed bin (15), /* last column read from or written into */ 5 67 2 lsize fixed bin (15), /* line size (output) */ 5 68 2 lineno fixed bin (15), /* current line (output) - starts at 1 on each new page */ 5 69 2 psize fixed bin (35), /* page size (output) */ 5 70 2 pageno fixed bin (15), /* current page number, starts at 1 */ 5 71 2 limit fixed bin (15), 5 72 2 lnzc fixed bin (35), 5 73 2 filename char (32) aligned, /* declared file name */ 5 74 2 title char (32) unaligned,/* Multics I/O switch */ 5 75 2 fsb_thread ptr, 5 76 2 buffer (212) fixed bin (15), 5 77 2 path_name char (168) unal, /* title option */ 5 78 2 declared_attributes (2) bit (36) aligned; 5 79 5 80 declare xbuf char (1000) unaligned based (fsb.bptr); 5 81 5 82 /* END INCLUDE FILE ... plio2_fsb.incl.pl1 */ 38 6 1 /* BEGIN INCLUDE FILE ... plio2_ps.incl.pl1 */ 6 2 /* Stream I/O data block used by PL/I I/O runtime routines. 6 3* 6 4* Modified: 31 January 1978 by RAB to change plio2_data_$fsb_thread to plio2_data_fsb_thread_ 6 5**/ 6 6 /* format: style3,idind30 */ 6 7 6 8 /* based */ 6 9 6 10 declare 1 ps aligned based (psp),/* items set NORMALLY by compiled procedures */ 6 11 2 stack_frame_p ptr, /* items set in block prologue */ 6 12 2 ST_top_p ptr, 6 13 2 ST_block_p ptr, 6 14 2 format_area_p ptr, 6 15 2 ss_list_p ptr, 6 16 2 ab_return, /* items set in prep call */ 6 17 3 abret (3) ptr, 6 18 2 source_p ptr, /* addr(fakefsb) for string option, 6 19* addr(file) for explicit file option */ 6 20 2 special_list_p ptr, /* addr(OKlist) for get data, addr(format_list) for edit */ 6 21 2 copy_file_p ptr, 6 22 2 job aligned, 6 23 3 explicit_file bit (1) unal, 6 24 3 string bit (1) unal, 6 25 3 varying_string bit (1) unal, 6 26 3 data bit (1) unal, 6 27 3 edit bit (1) unal, 6 28 3 list bit (1) unal, 6 29 3 get bit (1) unal, 6 30 3 put bit (1) unal, 6 31 3 page bit (1) unal, 6 32 3 line bit (1) unal, 6 33 3 skip bit (1) unal, 6 34 3 copy bit (1) unal, 6 35 3 p1p2 bit (1) unal, 6 36 3 bit_string bit (1) unal, /* for environment(stringvalue) */ 6 37 3 char_string bit (1) unal, 6 38 3 read bit (1) unal, 6 39 3 write bit (1) unal, 6 40 3 rewrite bit (1) unal, 6 41 3 delete bit (1) unal, 6 42 3 locate bit (1) unal, 6 43 3 key bit (1) unal, 6 44 3 keyto bit (1) unal, 6 45 3 keyfrom bit (1) unal, 6 46 3 set bit (1) unal, 6 47 3 into bit (1) unal, 6 48 3 ignore bit (1) unal, 6 49 3 from bit (1) unal, 6 50 3 version bit (6) unal, 6 51 3 not_byte_buffer bit (1) unal, 6 52 3 pad1 bit (1) unal, 6 53 3 packed_ptr bit (1) unal, 6 54 2 number fixed bin (15), 6 55 2 value_p ptr, /* items set NORMALLY by compiled procedures per transmission */ 6 56 2 descriptor bit (36) aligned, 6 57 2 length fixed bin (15), /* may be swallowed into descriptor */ 6 58 2 top_half bit (18) unal, 6 59 2 offset bit (18) unal, 6 60 2 prep fixed bin (15), /* items treated ABNORMALLY, written by user and PLIO */ 6 61 2 new_format fixed bin (15), 6 62 2 switch aligned, /* items used by PLIO and not touched by compiled procedures */ 6 63 3 first_field bit (1) unal, 6 64 3 file bit (1) unal, 6 65 3 transmit_error bit (1) unal, 6 66 3 semi_sep bit (1) unal, 6 67 3 pad2 bit (32) unal, 6 68 2 file_p ptr, 6 69 2 fsbp ptr, 6 70 2 auxp ptr, /* used as addr(ldidata) for GETs */ 6 71 2 fabp ptr, 6 72 2 fab2p ptr, 6 73 2 vp ptr, 6 74 2 descr bit (36) aligned, 6 75 2 start_copy fixed bin (15), 6 76 2 quick_stream_storage, 6 77 3 a_stored fixed bin (35), 6 78 3 q_stored fixed bin (35); 6 79 6 80 /* external static */ 6 81 6 82 declare ( 6 83 plio2_data_$pspstat, 6 84 plio2_data_$fsbpstat, 6 85 plio2_data_$badfsbp, 6 86 plio2_data_$fabpstat, 6 87 plio2_data_$fab2pstat, 6 88 plio2_data_$pliostringfsbp 6 89 ) ptr external static; 6 90 6 91 dcl plio2_data_fsb_thread_ ptr ext static initial (null); 6 92 /* *system var */ 6 93 6 94 declare ( 6 95 plio2_data_$badjob bit (36) aligned, 6 96 plio2_data_$undef_file_sw bit (1) aligned 6 97 ) external static; 6 98 6 99 /* END INCLUDE FILE ... plio2_ps.incl.pl1 */ 39 40 41 42 43 /* called by the following programs. 44* 45* LDI 46* LDO 47* GVE 48* PVE 49* 50* P.Belmont 74.01.07 */ 51 psp=pspp; 52 if ps.job.string then goto resig; 53 54 file_p=ps.file_p; 55 fsbp=ps.fsbp; 56 name33=fsb.filename; 57 58 q=addr(condition_structure_); 59 call find_condition_info_(null,q,code); 60 if code^=0 then goto resig; 61 62 q=condition_structure_.info_ptr; 63 64 q->pl1_info.onfile=name33; 65 q->pl1_info.onfile_sw="1"b; 66 q->pl1_info.file_ptr=file_p; 67 q->pl1_info.file_ptr_sw="1"b; 68 69 ondata_$fileptr=file_p; 70 ondata_$onfile=substr(name33,1,index(name33," ")-1); 71 72 resig: 73 74 call continue_to_signal_(code); 75 76 end plio2_resig_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/03/83 1005.5 plio2_resig_.pl1 >spec>on>pl128d>plio2_resig_.pl1 31 1 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 33 2 05/06/74 1742.5 on_data_.incl.pl1 >ldd>include>on_data_.incl.pl1 35 3 07/18/81 1100.0 pl1_info.incl.pl1 >ldd>include>pl1_info.incl.pl1 36 4 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 38 5 08/13/81 2043.5 plio2_fsb.incl.pl1 >ldd>include>plio2_fsb.incl.pl1 39 6 08/13/81 2043.5 plio2_ps.incl.pl1 >ldd>include>plio2_ps.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. addr builtin function dcl 18 ref 58 code 000122 automatic fixed bin(35,0) dcl 26 set ref 59* 60 72* condition_info based structure level 1 dcl 1-14 condition_info_header based structure level 1 dcl 4-6 condition_structure_ 000124 automatic structure level 1 dcl 29 set ref 58 content_flags 107 based structure level 2 dcl 3-7 continue_to_signal_ 000012 constant entry external dcl 23 ref 72 file_p 40 based pointer level 2 in structure "ps" dcl 6-10 in procedure "plio2_resig_" ref 54 file_p 000104 automatic pointer dcl 15 in procedure "plio2_resig_" set ref 54* 66 69 file_ptr 122 based pointer level 2 dcl 3-7 set ref 66* file_ptr_sw 107(03) based bit(1) level 3 packed unaligned dcl 3-7 set ref 67* filename 20 based char(32) level 2 dcl 5-4 ref 56 find_condition_info_ 000010 constant entry external dcl 22 ref 59 fsb based structure level 1 dcl 5-4 fsbp 42 based pointer level 2 in structure "ps" dcl 6-10 in procedure "plio2_resig_" ref 55 fsbp 000102 automatic pointer dcl 14 in procedure "plio2_resig_" set ref 55* 56 index builtin function dcl 17 ref 70 info_ptr 14 000124 automatic pointer level 2 dcl 29 set ref 62 job 26 based structure level 2 dcl 6-10 name33 000106 automatic char(33) dcl 16 set ref 56* 64 70 70 null builtin function dcl 17 ref 59 59 ondata_$fileptr 000014 external static pointer dcl 2-9 set ref 69* ondata_$onfile 000016 external static varying char(32) dcl 2-9 set ref 70* onfile 111 based char(32) level 2 dcl 3-7 set ref 64* onfile_sw 107(02) based bit(1) level 3 packed unaligned dcl 3-7 set ref 65* pl1_info based structure level 1 dcl 3-7 ps based structure level 1 dcl 6-10 psp 000100 automatic pointer dcl 13 set ref 51* 52 54 55 pspp parameter pointer dcl 12 ref 10 51 q 000120 automatic pointer dcl 19 set ref 58* 59* 62* 64 65 66 67 string 26(01) based bit(1) level 3 packed unaligned dcl 6-10 ref 52 substr builtin function dcl 17 ref 70 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. condition_info_header_ptr automatic pointer dcl 4-4 condition_info_ptr automatic pointer dcl 1-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 1-30 ondata_$calleroffset external static fixed bin(17,0) dcl 2-9 ondata_$callerpathname external static varying char(168) dcl 2-9 ondata_$callersegname external static varying char(32) dcl 2-9 ondata_$condition_name external static varying char(32) dcl 2-9 ondata_$datafield external static varying char(256) dcl 2-9 ondata_$file_related external static fixed bin(15,0) dcl 2-9 ondata_$handled external static fixed bin(15,0) dcl 2-9 ondata_$infoptr external static pointer dcl 2-9 ondata_$oncalled external static varying char(256) dcl 2-9 ondata_$onchar external static char(1000) dcl 2-9 ondata_$oncharindex external static fixed bin(15,0) dcl 2-9 ondata_$oncode external static fixed bin(15,0) dcl 2-9 ondata_$oncount external static fixed bin(15,0) dcl 2-9 ondata_$ondatalength external static fixed bin(15,0) dcl 2-9 ondata_$onkey external static varying char(256) dcl 2-9 ondata_$onloc external static varying char(292) dcl 2-9 ondata_$onreturnp external static pointer dcl 2-9 ondata_$onsource external static varying char(256) dcl 2-9 ondata_$plio_code external static fixed bin(15,0) dcl 2-9 ondata_$pliopsp external static pointer dcl 2-9 ondata_$this_file external static pointer dcl 2-9 ondata_$who external static char(4) dcl 2-9 pl1_info_ptr automatic pointer dcl 3-6 plio2_data_$badfsbp external static pointer dcl 6-82 plio2_data_$badjob external static bit(36) dcl 6-94 plio2_data_$fab2pstat external static pointer dcl 6-82 plio2_data_$fabpstat external static pointer dcl 6-82 plio2_data_$fsbpstat external static pointer dcl 6-82 plio2_data_$pliostringfsbp external static pointer dcl 6-82 plio2_data_$pspstat external static pointer dcl 6-82 plio2_data_$undef_file_sw external static bit(1) dcl 6-94 plio2_data_fsb_thread_ external static pointer initial dcl 6-91 xbuf based char(1000) unaligned dcl 5-80 NAMES DECLARED BY EXPLICIT CONTEXT. plio2_resig_ 000007 constant entry external dcl 10 resig 000110 constant label dcl 72 ref 52 60 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 202 222 120 212 Length 504 120 20 246 62 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME plio2_resig_ 120 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME plio2_resig_ 000100 psp plio2_resig_ 000102 fsbp plio2_resig_ 000104 file_p plio2_resig_ 000106 name33 plio2_resig_ 000120 q plio2_resig_ 000122 code plio2_resig_ 000124 condition_structure_ plio2_resig_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry set_support THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. continue_to_signal_ find_condition_info_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. ondata_$fileptr ondata_$onfile LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 10 000004 51 000015 52 000021 54 000024 55 000026 56 000030 58 000033 59 000035 60 000051 62 000053 64 000055 65 000061 66 000063 67 000065 69 000067 70 000071 72 000110 76 000117 ----------------------------------------------------------- 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