COMPILATION LISTING OF SEGMENT eor_cv8_9_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1319.9 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(87-05-10,Gilcrease), approve(87-08-17,MCR7686), 11* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 12* Convert eor values from version 8 to version 9, eor -number. 13* END HISTORY COMMENTS */ 14 15 /* format: style4,delnl,insnl,^ifthendo */ 16 17 /* format: off */ 18 19 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 20 /* */ 21 /* This program is called by enter_output_request. eor stored user-defined default */ 22 /* control argument settings in the default value segment as binary data values. This */ 23 /* program converts these values from version 8 to version 9 format. The only */ 24 /* difference between versions is that version 9 supports -nb. */ 25 /* */ 26 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 27 28 /* format: on */ 29 30 eor_cv8_9_: 31 proc (Pdefault_header, code); 32 33 1 1 /* BEGIN INCLUDE FILE ... dprint_arg.incl.pl1 */ 1 2 /* Modified 11/13/74 by Noel I. Morris */ 1 3 /* Modified: 10 April 1981 by G. Palter for version 6 structure -- longer request type names */ 1 4 /* Modified: 30 April 1982 by R. Kovalcik for version 7 structure -- defer_until_process_terminataion */ 1 5 /* Modified: November 1983 by C. Marker for version 8 structure -- no_separator */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(87-05-10,Gilcrease), approve(87-05-13,MCR7686), 1 9* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 1 10* Add line_nbrs bit for line-numbered printouts, version 9. 1 11* 2) change(88-02-05,Farley), approve(88-02-05,PBF7686), audit(88-02-05,GWMay), 1 12* install(88-02-05,MR12.2-1022): 1 13* Corrected alignment of line_nbrs, was aligned s/b unaligned.. 1 14* 3) change(88-08-29,Farley), approve(88-09-16,MCR7911), 1 15* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 1 16* Created a new 64 character forms_name variable, which supersedes the old 1 17* char 24 form_name variable, version 10. 1 18* END HISTORY COMMENTS */ 1 19 1 20 1 21 dcl dpap ptr; /* ptr to argument structure */ 1 22 dcl 1 dprint_arg_buf aligned like dprint_arg; /* Automatic storage for arg. */ 1 23 1 24 dcl 1 dprint_arg based (dpap) aligned, /* argument structure */ 1 25 2 version fixed bin, /* version number of dcl - current version is 9 */ 1 26 2 copies fixed bin, /* number of copies wanted */ 1 27 2 delete fixed bin, /* 1=delete after print */ 1 28 2 queue fixed bin, /* print queue */ 1 29 2 pt_pch fixed bin, /* 1=print, 2=punch */ 1 30 2 notify fixed bin, /* 1 = notify user when done */ 1 31 2 heading char (64), /* first page heading */ 1 32 2 output_module fixed bin, /* 1=print, 2=7punch, 3=mcc, 4=raw, 5=plotter */ 1 33 2 dest char (12), /* version 5 made this a pad - see destination below */ 1 34 /* limit of version 1 structure */ 1 35 2 carriage_control, /* Carriage control flags. */ 1 36 3 nep bit (1) unal, /* TRUE if print trhu perf. */ 1 37 3 single bit (1) unal, /* TRUE if ignore FF and VT */ 1 38 3 non_edited bit (1) unal, /* TRUE if printing in non-edited mode */ 1 39 3 truncate bit (1) unal, /* TRUE if truncating lines at line length */ 1 40 3 center_top_label bit (1) unal, /* TRUE if top label to be centered */ 1 41 3 center_bottom_label bit (1) unal, /* TRUE if bottom label to be centered */ 1 42 3 esc bit (1) unal, /* version 5 TRUE if text escapes are to be processed */ 1 43 3 no_separator bit (1) unal, /* version 8 TRUE if the inner head and tail sheets are to be suppressed. */ 1 44 3 line_nbrs bit (1) unal, /* version 9, line numbers */ 1 45 3 padding bit (27) unal, 1 46 2 pad (30) fixed bin, 1 47 2 forms char (8), /* version 5 made this a pad - see form_name below */ 1 48 2 lmargin fixed bin, /* left margin */ 1 49 2 line_lth fixed bin, /* max line lth */ 1 50 /* limit of version 2 structure */ 1 51 2 class char (8), /* version 6 made this a pad - see request_type below */ 1 52 2 page_lth fixed bin, /* Paper length arg */ 1 53 /* limit of version 3 structure */ 1 54 2 top_label char (136), /* top-of-page label */ 1 55 2 bottom_label char (136), /* bottom-of-page label */ 1 56 /* limit of version 4 structure */ 1 57 2 bit_count fixed bin (35), /* segment bit count */ 1 58 2 form_name char (24), /* name of special forms needed - moved from forms */ 1 59 /* version 10 made this a pad - see forms_name below */ 1 60 2 destination char (24), /* the long destination - moved from dest */ 1 61 2 chan_stop_path char (168), /* path of user channel stops - future */ 1 62 /* limit of version 5 structure */ 1 63 2 request_type character (24) unaligned, /* request type for the request */ 1 64 /* limit of version 6 structure */ 1 65 2 defer_until_process_termination fixed bin, /* 1 = don't process request until requesting process terminates */ 1 66 2 forms_name char (64) unal; /* name of special forms needed - moved from form_name */ 1 67 /* limit of version 10 structure */ 1 68 1 69 dcl dprint_arg_version_1 fixed bin int static options (constant) init (1); 1 70 dcl dprint_arg_version_2 fixed bin int static options (constant) init (2); 1 71 dcl dprint_arg_version_3 fixed bin int static options (constant) init (3); 1 72 dcl dprint_arg_version_4 fixed bin int static options (constant) init (4); 1 73 dcl dprint_arg_version_5 fixed bin int static options (constant) init (5); 1 74 dcl dprint_arg_version_6 fixed bin int static options (constant) init (6); 1 75 dcl dprint_arg_version_7 fixed bin int static options (constant) init (7); 1 76 dcl dprint_arg_version_8 fixed bin int static options (constant) init (8); 1 77 dcl dprint_arg_version_9 fixed bin int static options (constant) init (9); 1 78 dcl dprint_arg_version_10 fixed bin int static options (constant) init (10); 1 79 /* current version */ 1 80 1 81 dcl ( 1 82 DP_PRINT init (1), 1 83 DP_PUNCH init (2), 1 84 DP_PLOT init (3) 1 85 ) fixed bin static options (constant); /* for dprint_arg.pt_pch */ 1 86 1 87 /* END INCLUDE FILE ... dprint_arg.incl.pl1 */ 34 35 36 2 1 /* BEGIN value_structures.incl.pl1 */ 2 2 2 3 dcl (match_info_ptr, value_list_info_ptr) ptr; 2 4 dcl (alloc_name_count, alloc_pair_count) fixed bin; 2 5 dcl (alloc_max_name_len, alloc_chars_len) fixed bin (21); 2 6 2 7 dcl 1 match_info aligned based (match_info_ptr), 2 8 2 version fixed bin, /* = 1 */ 2 9 2 name_count fixed bin, 2 10 2 max_name_len fixed bin (21), 2 11 2 name_array (alloc_name_count refer (match_info.name_count)), 2 12 3 exclude_sw bit (1) unaligned, /* ON for -exclude, OFF for -match */ 2 13 3 regexp_sw bit (1) unaligned, /* ON for regular exp. without the //, OFF for starname */ 2 14 3 pad bit (34) unaligned, 2 15 3 name char (alloc_max_name_len refer (match_info.max_name_len)) varying; 2 16 2 17 dcl 1 value_list_info aligned based (value_list_info_ptr), 2 18 2 version fixed bin, /* = 1 */ 2 19 2 pair_count fixed bin, 2 20 2 chars_len fixed bin (21), 2 21 2 pairs (alloc_pair_count refer (value_list_info.pair_count)), 2 22 3 type_switches bit (36), /* correspond to the selection switches arg */ 2 23 3 (name_index, name_len) fixed bin (21), 2 24 3 (value_index, value_len) fixed bin (21), 2 25 2 chars char (alloc_chars_len refer (value_list_info.chars_len)); 2 26 2 27 dcl (match_info_version_1, value_list_info_version_1) fixed bin int static options (constant) init (1); 2 28 2 29 /* END OF value_structures.incl.pl1 */ 37 38 39 40 dcl Pdefault_header ptr, 41 code fixed bin (35); 42 43 dcl Pd ptr, 44 Pnd ptr, 45 area area (4096), 46 dft_name char (28) varying, 47 d_size fixed bin (18), 48 i fixed bin; 49 50 dcl Vdefault_header_9 fixed bin int static options (constant) init (9); 51 /* Version 9 supports -number. */ 52 53 dcl DEFAULT_VALUE_SEG ptr int static options (constant) init (null), 54 PERM bit (36) aligned int static options (constant) init ("01"b); 55 56 57 dcl 1 default_header aligned based (Pdefault_header), /* Structure containing default request types */ 58 2 version fixed bin, 59 2 default_request_type (3) char (24) unal, 60 1 default, /* Structure containing general argument defaults */ 61 2 header, 62 3 Ntype fixed bin, 63 3 name char (24) unal, 64 3 size fixed bin (18), 65 1 d aligned based (Pd), 66 2 header like default.header, 67 2 data (d_size - size (default)) fixed bin, 68 1 default_print aligned, /* Structure containing print argument defaults */ 69 2 header, 70 3 Ntype fixed bin, 71 3 name char (24) unal, 72 3 size fixed bin (18), 73 2 Odft, 74 3 request_type char (24) unal, 75 3 form_name char (24) unal, 76 2 Sdft, 77 3 processing_control, 78 4 brief bit (1), 79 4 force bit (1), 80 3 carriage_control, 81 4 nep bit (1), 82 4 single bit (1), 83 4 non_edited bit (1), 84 4 truncate bit (1), 85 4 no_separator bit (1), 86 3 label, 87 4 top bit (1), 88 4 bottom bit (1), 89 4 access bit (1), 90 2 Ndft, 91 3 pt_pch fixed bin, 92 3 delete fixed bin, 93 3 notify fixed bin, 94 3 copies fixed bin, 95 3 queue fixed bin, 96 3 output_module fixed bin, 97 3 lmargin fixed bin, 98 3 line_lth fixed bin, 99 3 page_lth fixed bin, 100 3 defer_until_process_termination fixed bin, 101 1 new_Sdft, 102 2 processing_control, 103 3 brief bit (1), 104 3 force bit (1), 105 2 carriage_control, 106 3 nep bit (1), 107 3 single bit (1), 108 3 non_edited bit (1), 109 3 truncate bit (1), 110 3 no_separator bit (1), 111 3 line_nbrs bit (1), 112 2 label, 113 3 top bit (1), 114 3 bottom bit (1), 115 3 access bit (1), 116 1 old_print aligned based (Pd), 117 2 header like default_print.header, 118 2 Odft like default_print.Odft, 119 2 Sdft like default_print.Sdft, 120 2 Ndft like default_print.Ndft, 121 2 data (d_size - size (default_print)) fixed bin, 122 1 new_print aligned based (Pnd), 123 2 header like default_print.header, 124 2 Odft like default_print.Odft, 125 2 Sdft like new_Sdft, 126 2 Ndft like default_print.Ndft, 127 2 data (d_size - size (default_print)) fixed bin; 128 dcl 1 mi aligned, /* Automatic copy of match_info */ 129 2 version fixed bin init (1), 130 2 name_count fixed bin init (1), 131 2 max_name_length fixed bin init (30), 132 2 name_array (1), 133 3 exclude_sw bit (1) unal init ("0"b), 134 3 regexp_sw bit (1) unal init ("0"b), 135 3 pad bit (34) unal init ("0"b), 136 3 name char (30) varying; 137 138 139 dcl (addr, after, empty, length, null, size, substr) builtin; 140 141 dcl value_$get_data entry (ptr, bit (36) aligned, char (*), ptr, ptr, fixed bin (18), fixed bin (35)), 142 value_$list_data_names entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed bin (35)), 143 value_$set_data 144 entry (ptr, bit (36) aligned, char (*), ptr, fixed bin (18), ptr, ptr, fixed bin (18), fixed bin (35)); 145 146 147 code = 0; /* No error yet. */ 148 149 mi.name (1) = "eor.**.*._"; 150 call value_$list_data_names (DEFAULT_VALUE_SEG, PERM, addr (mi), addr (area), value_list_info_ptr, code); 151 /* Get a list of eor-related data items. */ 152 153 do i = 1 to value_list_info.pair_count; /* Convert each one. */ 154 155 dft_name = 156 substr (value_list_info.chars, value_list_info.pairs (i).name_index, 157 value_list_info.pairs (i).name_len); /* Get a name. */ 158 dft_name = after (dft_name, "."); 159 dft_name = substr (dft_name, 1, length (dft_name) - 2); 160 161 call value_$get_data (DEFAULT_VALUE_SEG, PERM, "eor." || dft_name || "._", addr (area), Pd, d_size, code); 162 /* Get the associated data. */ 163 if code ^= 0 164 then go to ERROR_EXIT; 165 166 if d.Ntype = DP_PRINT 167 then do; /* These are print defaults. */ 168 allocate new_print in (area); /* Convert them. */ 169 new_print = old_print, by name; 170 new_print.Sdft.line_nbrs = "0"b; 171 call value_$set_data (DEFAULT_VALUE_SEG, PERM, "eor." || dft_name || "._", Pnd, size (new_print), 172 null, null, 0, code); 173 if code ^= 0 174 then go to ERROR_EXIT; 175 free new_print in (area); 176 end; /* End of print conversion. */ 177 178 free d in (area); /* Free the data. */ 179 180 end; /* End of conversion loop. */ 181 182 default_header.version = Vdefault_header_9; /* Set info in header. */ 183 call value_$set_data (DEFAULT_VALUE_SEG, PERM, "eor._", Pdefault_header, size (default_header), null, null, 0, 184 code); 185 186 ERROR_EXIT: 187 return; /* All done. */ 188 189 end eor_cv8_9_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1302.1 eor_cv8_9_.pl1 >special_ldd>install>MR12.2-1199>eor_cv8_9_.pl1 34 1 10/28/88 1227.7 dprint_arg.incl.pl1 >special_ldd>install>MR12.2-1199>dprint_arg.incl.pl1 37 2 06/24/81 1743.9 value_structures.incl.pl1 >ldd>include>value_structures.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. DEFAULT_VALUE_SEG 000002 constant pointer initial dcl 53 set ref 150* 161* 171* 183* DP_PRINT constant fixed bin(17,0) initial dcl 1-81 ref 166 Ndft 36 010130 automatic structure level 2 dcl 57 Ntype based fixed bin(17,0) level 3 dcl 57 ref 166 Odft 10 010130 automatic structure level 2 dcl 57 PERM 000000 constant bit(36) initial dcl 53 set ref 150* 161* 171* 183* Pd 000102 automatic pointer dcl 43 set ref 161* 166 169 178 Pdefault_header parameter pointer dcl 40 set ref 30 182 183* 183 183 Pnd 000104 automatic pointer dcl 43 set ref 168* 169 170 171* 171 171 175 Sdft 24 based structure level 2 in structure "new_print" dcl 57 in procedure "eor_cv8_9_" Sdft 24 010130 automatic structure level 2 in structure "default_print" dcl 57 in procedure "eor_cv8_9_" Vdefault_header_9 constant fixed bin(17,0) initial dcl 50 ref 182 addr builtin function dcl 139 ref 150 150 150 150 161 161 after builtin function dcl 139 ref 158 area 000106 automatic area(4096) dcl 43 set ref 43* 150 150 161 161 168 175 178 carriage_control 26 based structure level 3 dcl 57 chars based char level 2 dcl 2-17 ref 155 chars_len 2 based fixed bin(21,0) level 2 dcl 2-17 ref 155 code parameter fixed bin(35,0) dcl 40 set ref 30 147* 150* 161* 163 171* 173 183* d based structure level 1 dcl 57 ref 178 d_size 010116 automatic fixed bin(18,0) dcl 43 set ref 161* 168 169 169 171 171 175 178 default 010120 automatic structure level 1 unaligned dcl 57 ref 178 default_header based structure level 1 dcl 57 set ref 183 183 default_print 010130 automatic structure level 1 dcl 57 ref 168 169 169 171 171 175 dft_name 010106 automatic varying char(28) dcl 43 set ref 155* 158* 158 159* 159 159 161 171 dprint_arg based structure level 1 dcl 1-24 empty builtin function dcl 139 ref 43 exclude_sw 3 010201 automatic bit(1) initial array level 3 packed packed unaligned dcl 128 set ref 128* header 010130 automatic structure level 2 in structure "default_print" dcl 57 in procedure "eor_cv8_9_" header 010120 automatic structure level 2 in structure "default" unaligned dcl 57 in procedure "eor_cv8_9_" header based structure level 2 in structure "d" dcl 57 in procedure "eor_cv8_9_" i 010117 automatic fixed bin(17,0) dcl 43 set ref 153* 155 155* length builtin function dcl 139 ref 159 line_nbrs 33 based bit(1) level 4 dcl 57 set ref 170* max_name_length 2 010201 automatic fixed bin(17,0) initial level 2 dcl 128 set ref 128* mi 010201 automatic structure level 1 dcl 128 set ref 150 150 name 4 010201 automatic varying char(30) array level 3 dcl 128 set ref 149* name_array 3 010201 automatic structure array level 2 dcl 128 name_count 1 010201 automatic fixed bin(17,0) initial level 2 dcl 128 set ref 128* name_index 4 based fixed bin(21,0) array level 3 dcl 2-17 ref 155 name_len 5 based fixed bin(21,0) array level 3 dcl 2-17 ref 155 new_Sdft 010200 automatic structure level 1 packed packed unaligned dcl 57 new_print based structure level 1 dcl 57 set ref 168 169* 171 171 175 null builtin function dcl 139 ref 171 171 171 171 183 183 183 183 old_print based structure level 1 dcl 57 ref 169 pad 3(02) 010201 automatic bit(34) initial array level 3 packed packed unaligned dcl 128 set ref 128* pair_count 1 based fixed bin(17,0) level 2 dcl 2-17 ref 153 155 pairs 3 based structure array level 2 dcl 2-17 regexp_sw 3(01) 010201 automatic bit(1) initial array level 3 packed packed unaligned dcl 128 set ref 128* size builtin function dcl 139 ref 168 169 169 171 171 171 171 175 178 183 183 substr builtin function dcl 139 ref 155 159 value_$get_data 000010 constant entry external dcl 141 ref 161 value_$list_data_names 000012 constant entry external dcl 141 ref 150 value_$set_data 000014 constant entry external dcl 141 ref 171 183 value_list_info based structure level 1 dcl 2-17 value_list_info_ptr 000100 automatic pointer dcl 2-3 set ref 150* 153 155 155 155 version 010201 automatic fixed bin(17,0) initial level 2 in structure "mi" dcl 128 in procedure "eor_cv8_9_" set ref 128* version based fixed bin(17,0) level 2 in structure "default_header" dcl 57 in procedure "eor_cv8_9_" set ref 182* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DP_PLOT internal static fixed bin(17,0) initial dcl 1-81 DP_PUNCH internal static fixed bin(17,0) initial dcl 1-81 alloc_chars_len automatic fixed bin(21,0) dcl 2-5 alloc_max_name_len automatic fixed bin(21,0) dcl 2-5 alloc_name_count automatic fixed bin(17,0) dcl 2-4 alloc_pair_count automatic fixed bin(17,0) dcl 2-4 dpap automatic pointer dcl 1-21 dprint_arg_buf automatic structure level 1 dcl 1-22 dprint_arg_version_1 internal static fixed bin(17,0) initial dcl 1-69 dprint_arg_version_10 internal static fixed bin(17,0) initial dcl 1-78 dprint_arg_version_2 internal static fixed bin(17,0) initial dcl 1-70 dprint_arg_version_3 internal static fixed bin(17,0) initial dcl 1-71 dprint_arg_version_4 internal static fixed bin(17,0) initial dcl 1-72 dprint_arg_version_5 internal static fixed bin(17,0) initial dcl 1-73 dprint_arg_version_6 internal static fixed bin(17,0) initial dcl 1-74 dprint_arg_version_7 internal static fixed bin(17,0) initial dcl 1-75 dprint_arg_version_8 internal static fixed bin(17,0) initial dcl 1-76 dprint_arg_version_9 internal static fixed bin(17,0) initial dcl 1-77 match_info based structure level 1 dcl 2-7 match_info_ptr automatic pointer dcl 2-3 match_info_version_1 internal static fixed bin(17,0) initial dcl 2-27 value_list_info_version_1 internal static fixed bin(17,0) initial dcl 2-27 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_EXIT 000611 constant label dcl 186 ref 163 173 eor_cv8_9_ 000025 constant entry external dcl 30 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 666 704 615 676 Length 1114 615 16 173 51 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME eor_cv8_9_ 4336 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME eor_cv8_9_ 000100 value_list_info_ptr eor_cv8_9_ 000102 Pd eor_cv8_9_ 000104 Pnd eor_cv8_9_ 000106 area eor_cv8_9_ 010106 dft_name eor_cv8_9_ 010116 d_size eor_cv8_9_ 010117 i eor_cv8_9_ 010120 default eor_cv8_9_ 010130 default_print eor_cv8_9_ 010200 new_Sdft eor_cv8_9_ 010201 mi eor_cv8_9_ 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 op_alloc_ op_freen_ op_empty_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. value_$get_data value_$list_data_names value_$set_data NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 30 000021 43 000032 128 000035 147 000064 149 000066 150 000073 153 000120 155 000131 158 000155 159 000200 161 000206 163 000275 166 000301 168 000304 169 000315 170 000417 171 000420 173 000515 175 000521 178 000523 180 000526 182 000530 183 000534 186 000611 ----------------------------------------------------------- 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