COMPILATION LISTING OF SEGMENT eor_cv7_8_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1320.1 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* format: style4,delnl,insnl,^ifthendo */ 8 9 /* format: off */ 10 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 12 /* */ 13 /* This program is called by enter_output_request. eor stored user-defined default */ 14 /* control argument settings in the default value segment as binary data values. This */ 15 /* program converts these values from version 7 to version 8 format. The only */ 16 /* difference between versions is that version 8 supports -nsep. */ 17 /* */ 18 /* Status: */ 19 /* Created: December, 1983 by C. Marker from eor_cv6_7_.pl1. */ 20 /* */ 21 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 22 23 /* format: on */ 24 25 eor_cv7_8_: 26 proc (Pdefault_header, code); 27 28 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 */ 29 30 31 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 */ 32 33 34 35 dcl Pdefault_header ptr, 36 code fixed bin (35); 37 38 dcl Pd ptr, 39 Pnd ptr, 40 area area (4096), 41 dft_name char (28) varying, 42 d_size fixed bin (18), 43 i fixed bin; 44 45 dcl Vdefault_header_8 fixed bin int static options (constant) init (8); 46 /* Version 8 supports -nsep. */ 47 48 dcl DEFAULT_VALUE_SEG ptr int static options (constant) init (null), 49 PERM bit (36) aligned int static options (constant) init ("01"b); 50 51 52 dcl 1 default_header aligned based (Pdefault_header), /* Structure containing default request types */ 53 2 version fixed bin, 54 2 default_request_type (3) char (24) unal, 55 1 default, /* Structure containing general argument defaults */ 56 2 header, 57 3 Ntype fixed bin, 58 3 name char (24) unal, 59 3 size fixed bin (18), 60 1 d aligned based (Pd), 61 2 header like default.header, 62 2 data (d_size - size (default)) fixed bin, 63 1 default_print aligned, /* Structure containing print argument defaults */ 64 2 header, 65 3 Ntype fixed bin, 66 3 name char (24) unal, 67 3 size fixed bin (18), 68 2 Odft, 69 3 request_type char (24) unal, 70 3 form_name char (24) unal, 71 2 Sdft, 72 3 processing_control, 73 4 brief bit (1), 74 4 force bit (1), 75 3 carriage_control, 76 4 nep bit (1), 77 4 single bit (1), 78 4 non_edited bit (1), 79 4 truncate bit (1), 80 3 label, 81 4 top bit (1), 82 4 bottom bit (1), 83 4 access bit (1), 84 2 Ndft, 85 3 pt_pch fixed bin, 86 3 delete fixed bin, 87 3 notify fixed bin, 88 3 copies fixed bin, 89 3 queue fixed bin, 90 3 output_module fixed bin, 91 3 lmargin fixed bin, 92 3 line_lth fixed bin, 93 3 page_lth fixed bin, 94 3 defer_until_process_termination fixed bin, 95 1 new_Sdft, 96 2 processing_control, 97 3 brief bit (1), 98 3 force bit (1), 99 2 carriage_control, 100 3 nep bit (1), 101 3 single bit (1), 102 3 non_edited bit (1), 103 3 truncate bit (1), 104 3 no_separator bit (1), 105 2 label, 106 3 top bit (1), 107 3 bottom bit (1), 108 3 access bit (1), 109 1 old_print aligned based (Pd), 110 2 header like default_print.header, 111 2 Odft like default_print.Odft, 112 2 Sdft like default_print.Sdft, 113 2 Ndft like default_print.Ndft, 114 2 data (d_size - size (default_print)) fixed bin, 115 1 new_print aligned based (Pnd), 116 2 header like default_print.header, 117 2 Odft like default_print.Odft, 118 2 Sdft like new_Sdft, 119 2 Ndft like default_print.Ndft, 120 2 data (d_size - size (default_print)) fixed bin; 121 dcl 1 mi aligned, /* Automatic copy of match_info */ 122 2 version fixed bin init (1), 123 2 name_count fixed bin init (1), 124 2 max_name_length fixed bin init (30), 125 2 name_array (1), 126 3 exclude_sw bit (1) unal init ("0"b), 127 3 regexp_sw bit (1) unal init ("0"b), 128 3 pad bit (34) unal init ("0"b), 129 3 name char (30) varying; 130 131 132 dcl (addr, after, empty, index, length, null, search, size, substr, translate) builtin; 133 134 dcl value_$delete_data entry (ptr, bit (36) aligned, char (*), fixed bin (35)), 135 value_$get_data entry (ptr, bit (36) aligned, char (*), ptr, ptr, fixed bin (18), fixed bin (35)), 136 value_$list_data_names entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed bin (35)), 137 value_$set_data 138 entry (ptr, bit (36) aligned, char (*), ptr, fixed bin (18), ptr, ptr, fixed bin (18), fixed bin (35)); 139 140 141 code = 0; /* No error yet. */ 142 143 mi.name (1) = "eor.**.*._"; 144 call value_$list_data_names (DEFAULT_VALUE_SEG, PERM, addr (mi), addr (area), value_list_info_ptr, code); 145 /* Get a list of eor-related data items. */ 146 147 do i = 1 to value_list_info.pair_count; /* Convert each one. */ 148 149 dft_name = 150 substr (value_list_info.chars, value_list_info.pairs (i).name_index, 151 value_list_info.pairs (i).name_len); /* Get a name. */ 152 dft_name = after (dft_name, "."); 153 dft_name = substr (dft_name, 1, length (dft_name) - 2); 154 155 call value_$get_data (DEFAULT_VALUE_SEG, PERM, "eor." || dft_name || "._", addr (area), Pd, d_size, code); 156 /* Get the associated data. */ 157 if code ^= 0 158 then go to ERROR_EXIT; 159 160 if d.Ntype = DP_PRINT 161 then do; /* These are print defaults. */ 162 allocate new_print in (area); /* Convert them. */ 163 new_print = old_print, by name; 164 new_print.Sdft.no_separator = "0"b; 165 call value_$set_data (DEFAULT_VALUE_SEG, PERM, "eor." || dft_name || "._", Pnd, size (new_print), 166 null, null, 0, code); 167 if code ^= 0 168 then go to ERROR_EXIT; 169 free new_print in (area); 170 end; /* End of print conversion. */ 171 172 free d in (area); /* Free the data. */ 173 174 end; /* End of conversion loop. */ 175 176 default_header.version = Vdefault_header_8; /* Set info in header. */ 177 call value_$set_data (DEFAULT_VALUE_SEG, PERM, "eor._", Pdefault_header, size (default_header), null, null, 0, 178 code); 179 180 ERROR_EXIT: 181 return; /* All done. */ 182 183 end eor_cv7_8_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1302.1 eor_cv7_8_.pl1 >special_ldd>install>MR12.2-1199>eor_cv7_8_.pl1 29 1 10/28/88 1227.7 dprint_arg.incl.pl1 >special_ldd>install>MR12.2-1199>dprint_arg.incl.pl1 32 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 48 set ref 144* 155* 165* 177* DP_PRINT constant fixed bin(17,0) initial dcl 1-81 ref 160 Ndft 35 010130 automatic structure level 2 dcl 52 Ntype based fixed bin(17,0) level 3 dcl 52 ref 160 Odft 10 010130 automatic structure level 2 dcl 52 PERM 000000 constant bit(36) initial dcl 48 set ref 144* 155* 165* 177* Pd 000102 automatic pointer dcl 38 set ref 155* 160 163 172 Pdefault_header parameter pointer dcl 35 set ref 25 176 177* 177 177 Pnd 000104 automatic pointer dcl 38 set ref 162* 163 164 165* 165 165 169 Sdft 24 010130 automatic structure level 2 in structure "default_print" dcl 52 in procedure "eor_cv7_8_" Sdft 24 based structure level 2 in structure "new_print" dcl 52 in procedure "eor_cv7_8_" Vdefault_header_8 constant fixed bin(17,0) initial dcl 45 ref 176 addr builtin function dcl 132 ref 144 144 144 144 155 155 after builtin function dcl 132 ref 152 area 000106 automatic area(4096) dcl 38 set ref 38* 144 144 155 155 162 169 172 carriage_control 26 based structure level 3 dcl 52 chars based char level 2 dcl 2-17 ref 149 chars_len 2 based fixed bin(21,0) level 2 dcl 2-17 ref 149 code parameter fixed bin(35,0) dcl 35 set ref 25 141* 144* 155* 157 165* 167 177* d based structure level 1 dcl 52 ref 172 d_size 010116 automatic fixed bin(18,0) dcl 38 set ref 155* 162 163 163 165 165 169 172 default 010120 automatic structure level 1 unaligned dcl 52 ref 172 default_header based structure level 1 dcl 52 set ref 177 177 default_print 010130 automatic structure level 1 dcl 52 ref 162 163 163 165 165 169 dft_name 010106 automatic varying char(28) dcl 38 set ref 149* 152* 152 153* 153 153 155 165 dprint_arg based structure level 1 dcl 1-24 empty builtin function dcl 132 ref 38 exclude_sw 3 010200 automatic bit(1) initial array level 3 packed packed unaligned dcl 121 set ref 121* header 010130 automatic structure level 2 in structure "default_print" dcl 52 in procedure "eor_cv7_8_" header based structure level 2 in structure "d" dcl 52 in procedure "eor_cv7_8_" header 010120 automatic structure level 2 in structure "default" unaligned dcl 52 in procedure "eor_cv7_8_" i 010117 automatic fixed bin(17,0) dcl 38 set ref 147* 149 149* length builtin function dcl 132 ref 153 max_name_length 2 010200 automatic fixed bin(17,0) initial level 2 dcl 121 set ref 121* mi 010200 automatic structure level 1 dcl 121 set ref 144 144 name 4 010200 automatic varying char(30) array level 3 dcl 121 set ref 143* name_array 3 010200 automatic structure array level 2 dcl 121 name_count 1 010200 automatic fixed bin(17,0) initial level 2 dcl 121 set ref 121* name_index 4 based fixed bin(21,0) array level 3 dcl 2-17 ref 149 name_len 5 based fixed bin(21,0) array level 3 dcl 2-17 ref 149 new_Sdft 010177 automatic structure level 1 packed packed unaligned dcl 52 new_print based structure level 1 dcl 52 set ref 162 163* 165 165 169 no_separator 32 based bit(1) level 4 dcl 52 set ref 164* null builtin function dcl 132 ref 165 165 165 165 177 177 177 177 old_print based structure level 1 dcl 52 ref 163 pad 3(02) 010200 automatic bit(34) initial array level 3 packed packed unaligned dcl 121 set ref 121* pair_count 1 based fixed bin(17,0) level 2 dcl 2-17 ref 147 149 pairs 3 based structure array level 2 dcl 2-17 regexp_sw 3(01) 010200 automatic bit(1) initial array level 3 packed packed unaligned dcl 121 set ref 121* size builtin function dcl 132 ref 162 163 163 165 165 165 165 169 172 177 177 substr builtin function dcl 132 ref 149 153 value_$get_data 000010 constant entry external dcl 134 ref 155 value_$list_data_names 000012 constant entry external dcl 134 ref 144 value_$set_data 000014 constant entry external dcl 134 ref 165 177 value_list_info based structure level 1 dcl 2-17 value_list_info_ptr 000100 automatic pointer dcl 2-3 set ref 144* 147 149 149 149 version based fixed bin(17,0) level 2 in structure "default_header" dcl 52 in procedure "eor_cv7_8_" set ref 176* version 010200 automatic fixed bin(17,0) initial level 2 in structure "mi" dcl 121 in procedure "eor_cv7_8_" set ref 121* 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 index builtin function dcl 132 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 search builtin function dcl 132 translate builtin function dcl 132 value_$delete_data 000000 constant entry external dcl 134 value_list_info_version_1 internal static fixed bin(17,0) initial dcl 2-27 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_EXIT 000607 constant label dcl 180 ref 157 167 eor_cv7_8_ 000025 constant entry external dcl 25 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 664 702 613 674 Length 1112 613 16 173 51 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME eor_cv7_8_ 4336 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME eor_cv7_8_ 000100 value_list_info_ptr eor_cv7_8_ 000102 Pd eor_cv7_8_ 000104 Pnd eor_cv7_8_ 000106 area eor_cv7_8_ 010106 dft_name eor_cv7_8_ 010116 d_size eor_cv7_8_ 010117 i eor_cv7_8_ 010120 default eor_cv7_8_ 010130 default_print eor_cv7_8_ 010177 new_Sdft eor_cv7_8_ 010200 mi eor_cv7_8_ 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 25 000021 38 000032 121 000035 141 000064 143 000066 144 000073 147 000120 149 000131 152 000155 153 000200 155 000206 157 000275 160 000301 162 000304 163 000315 164 000415 165 000416 167 000513 169 000517 172 000521 174 000524 176 000526 177 000532 180 000607 ----------------------------------------------------------- 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