COMPILATION LISTING OF SEGMENT cobol_iomode Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 0948.0 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_iomode.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 04/02/77 by GM to check for device 2 and set organization to 4 */ 23 /* Modified on 01/14/77 by ORN to signal command_abort_ rather than cobol_compiler_error */ 24 /* modified since Version 2.0 */ 25 26 /* format: style3 */ 27 cobol_iomode: 28 proc (ft_ptr, eos_ptr, cobol_mode, multics_mode, extend_sw); 29 30 dcl cobol_mode fixed bin; 31 dcl multics_mode fixed bin; 32 dcl extend_sw bit (1) aligned; 33 34 /***********************************************/ 35 /* SEQUENTIAL RANDOM DYNAMIC 36*STREAM 37* Input 21,1,1st_byte 38* Output 61,2,eof 39* Extend 01,2,eof(*) 40* 41*SEQUENTIAL 42* Input 25,4,1st_rec 43* Output 65,5,eof 44* I-O 45,7,1st_rec 45* Extend 05,6,eof(*,**) 46* 47*RELATIVE 48* Input 31,8,1st_rec 32,11,- 33,8,1st_rec 49* Output 71,9,eof 72,12,- 73,10,1st_rec(**,***) 50* I-O 51,10,1st_rec 52,13,- 53,10,1st_rec 51* 52*INDEXED 53* Input 35,8,1st_rec 36,11,- 37,8,1st_rec 54* Output 75,9,eof 76,12,- 77,10,1st_rec(**,***) 55* I-O 55,10,1st_rec 56,13,- 57,10,1st_rec 56* 57** extend_sw = "1"b 58*** reads are prevented by run-time check 59**** positioned to eof by special action at open 60* 61*/***********************************************/ 62 63 /* 64*KEY TO cobol_mode: 65* "MMOOAA"b 66* 67*MM (mode): 00 extend 68* 01 input 69* 10 i/o 70* 11 output 71* 72*OO (organization): 00 stream 73* 01 sequential 74* 10 relative 75* 11 indexed 76* 77*AA (access method): 00 invalid 78* 01 sequential 79* 10 random 80* 11 dynamic 81* 82*MEANINGFUL cobol_modes: 83*1 01,2 84*5 05,6 85*17 21,1 86*21 25,4 87*25 31,8 88*26 32,11 89*27 33,8 90*29 35,8 91*30 36,11 92*31 37,8 93*37 45,7 94*41 51,10 95*42 52,13 96*43 53,10 97*45 55,10 98*46 56,13 99*47 57,10 100*49 61,2 101*53 65,5 102*57 71,9 103*58 72,12 104*59 73,10 105*61 75,9 106*62 76,12 107*63 77,10 108**/ 109 110 dcl mode (3 /*access*/, 4 /*organization*/, 0:3 /*mode*/, 2 /*cobol_mode,multics_mode*/) fixed 111 bin static 112 init (/* access: (1)sequential, (2)random, (3)dynamic 113* organization: (1)sequential, (2)relative, (3)indexed, (4)stream 114* mode: (0)input, (1)output, (2)i/o, (3)extend */ 115 /* INPUT OUTPUT I/O EXTEND */ /* SEQUENTIAL SEQUENTIAL */ 21, 4, 53, 5, 37, 7, 5, 116 6, /**/ 117 /* SEQUENTIAL RELATIVE */ 118 25, 8, 57, 9, 41, 10, 0, 0, /* SEQUENTIAL INDEXED */ 119 29, 8, 61, 9, 45, 10, 0, 0, /* SEQUENTIAL STREAM */ 120 17, 1, 49, 2, 0, 0, 1, 2, /**/ 121 /* RANDOM SEQUENTIAL */ 122 0, 0, 0, 0, 0, 0, 0, 0, /* RANDOM RELATIVE */ 123 26, 11, 58, 12, 42, 13, 0, 0, /* RANDOM INDEXED */ 124 30, 11, 62, 12, 46, 13, 0, 0, /* RANDOM STREAM */ 125 0, 0, 0, 0, 0, 0, 0, 0, /* DYNAMIC SEQUENTIAL */ 126 0, 0, 0, 0, 0, 0, 0, 0, /* DYNAMIC RELATIVE */ 127 27, 8, 59, 10, 43, 10, 0, 0, /* DYNAMIC INDEXED */ 128 31, 8, 63, 10, 47, 10, 0, 0, /* DYNAMIC STREAM */ 129 0, 0, 0, 0, 0, 0, 0, 0); 130 131 dcl 1 error_info, 132 2 name char (32), 133 2 meslen fixed bin, 134 2 mes char (120); 135 dcl ioa_$rsnnl entry options (variable); 136 dcl signal_ entry (char (*), ptr, ptr); 137 dcl access_con (3) char (10) static init ("sequential", "random", "dynamic"); 138 dcl org_con (4) char (10) static init ("sequential", "relative", "indexed", "stream"); 139 dcl mode_con (0:3) char (6) static init ("input", "output", "i-o", "extend"); 140 141 dcl access fixed bin; 142 dcl org fixed bin; 143 dcl open_mode fixed bin; 144 145 dcl ft_ptr ptr; 146 147 148 /*************************************/ 149 start: 150 if file_table.organization = 5 151 then file_table.organization = 4; /* temporary */ 152 open_mode = fixed (end_stmt.d, 2); 153 if file_table.device = 2 154 then file_table.organization = 4; 155 if (file_table.device = 1 | file_table.device = 3) & file_table.organization = 1 156 then org = 4; 157 else org = file_table.organization; 158 access = file_table.access; 159 if access = 0 160 then access = 1; 161 162 cobol_mode = mode (access, org, open_mode, 1); 163 multics_mode = mode (access, org, open_mode, 2); 164 if cobol_mode = 0 165 then go to error; 166 if cobol_mode < 6 167 then extend_sw = "1"b; 168 else extend_sw = "0"b; 169 return; 170 171 172 /*************************************/ 173 error: 174 error_info.name = "cobol_iomode"; 175 call ioa_$rsnnl ("Attempt to open file ^a in inconsistent mode - access: ^a; organization: ^a; mode: ^a", 176 error_info.mes, error_info.meslen, file_table.ifn, access_con (access), org_con (org), 177 mode_con (open_mode)); 178 call signal_ ("command_abort_", null (), addr (error_info)); 179 return; 180 181 182 /*************************************/ 183 translate: 184 entry (inmode, outmode, outbit); 185 186 dcl inmode fixed bin; 187 dcl outmode fixed bin; 188 dcl outbit bit (1) aligned; 189 190 start_translate: 191 open_mode = fixed (substr (unspec (inmode), 31, 2), 2); 192 org = fixed (substr (unspec (inmode), 33, 2), 2); 193 access = fixed (substr (unspec (inmode), 35, 2), 2); 194 outmode = mode (access, org, open_mode, 2); 195 if outmode < 6 196 then outbit = "1"b; 197 else outbit = "0"b; 198 return; 199 200 201 /*************************************/ 202 203 /***** Declaration for builtin function *****/ 204 205 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 206 builtin; 207 208 /***** End of declaration for builtin function *****/ 209 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 1 3 /* last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A type 19 end of statement token is created in the procedure division 1 7*minpral file at the end of each minpral statement generated by the 1 8*procedure division syntax phase. A minpral statement may be a complete or 1 9*partial source language statement. A type 19 token contains information 1 10*describing the statement which it delimits. 1 11**/ 1 12 1 13 dcl eos_ptr ptr; 1 14 1 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 1 16 dcl 1 end_stmt based (eos_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 2 3 /* Last modified on 11/17/76 by ORN */ 2 4 2 5 /* header */ 2 6 2 size fixed bin, 2 7 2 line fixed bin, 2 8 2 column fixed bin, 2 9 2 type fixed bin, 2 10 /* body */ 2 11 2 verb fixed bin, 2 12 2 e fixed bin, 2 13 2 h fixed bin, 2 14 2 i fixed bin, 2 15 2 j fixed bin, 2 16 2 a bit (3), 2 17 2 b bit (1), 2 18 2 c bit (1), 2 19 2 d bit (2), 2 20 2 f bit (2), 2 21 2 g bit (2), 2 22 2 k bit (5), 2 23 2 always_an bit (1); 2 24 2 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 2 26 1 17 1 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 1 19 1 20 /* 1 21*FIELD CONTENTS 1 22* 1 23*size The total size in bytes of this end of statement token. 1 24*line 0 1 25*column 0 1 26*type 19 1 27*verb A value indicating the verb in this statement 1 28* 1 = accept 1 29* 2 = add 1 30* 3 = on size error 1 31* 4 = alter 1 32* 5 = call 1 33* 7 = cancel 1 34* 8 = close 1 35* 9 = divide 1 36* 10 = multiply 1 37* 11 = subtract 1 38* 12 = exit 1 39* 14 = go 1 40* 15 = merge 1 41* 16 = initiate 1 42* 17 = inspect 1 43* 18 = move 1 44* 19 = open 1 45* 20 = perform 1 46* 21 = read 1 47* 23 = receive 1 48* 24 = release 1 49* 25 = return 1 50* 26 = search 1 51* 27 = rewrite 1 52* 29 = seek 1 53* 30 = send 1 54* 31 = set 1 55* 33 = stop 1 56* 34 = string 1 57* 35 = suspend 1 58* 36 = terminate 1 59* 37 = unstring 1 60* 38 = write 1 61* 39 = use 1 62* 40 = compute 1 63* 41 = disable 1 64* 42 = display 1 65* 43 = enable 1 66* 45 = generate 1 67* 46 = hold 1 68* 48 = process 1 69* 49 = sort 1 70* 52 = procedure 1 71* 53 = declaratives 1 72* 54 = section name 1 73* 55 = paragraph name 1 74* 98 = end 1 75*e,h,i,j The significance of these fields differs with each 1 76* statement. These fields are normally used as counters. 1 77*a,b,c,d,f,g,k The significance of these fields differs with each 1 78* statement. These fields are normally used as indicators. 1 79**/ 1 80 1 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 1 82 210 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_file_table.incl.pl1 */ 3 3 /* <<< INCLUDE FILE FOR FILE TABLE IN COMMON >>> */ 3 4 3 5 /* Modified on 09/30/80 by FCH, [4.4-1], density is 6250 is supported */ 3 6 /* Modified on 12/05/78 by RAL, [3.0-3], added dupl_alt from dummy102 */ 3 7 /* Modified on 11/21/78 by RAL, [3.0-2], added space for abs_record_offset from filler */ 3 8 /* Modified on 10/26/78 by RAL, [3.0-1], added space for file_desc_1 table offset from filler */ 3 9 /* <<< LAST MODIFIED ON 06-02-77 by GM >>> */ 3 10 /* <<< LAST MODIFIED ON 05-31-77 by GM >>> */ 3 11 /* <<< LAST MODIFIED ON 06-30-76 by GM >>> */ 3 12 /* <<< LAST MODIFIED ON 06-07-76 by GM >>> */ 3 13 /* <<< LAST MODIFIED ON 11-29-74 by orn >>> */ 3 14 3 15 /* 3 16*A file table is created in variable common for each file selected in the 3 17*environment division. The fields of a given file table provide information 3 18*about the specific file for which the file table is generated. The 3 19*addresses which may be contained in the various "info" fields of the file 3 20*table are addresses in variable common. 3 21**/ 3 22 3 23 /* THE FILE TABLE STRUCTURE */ 3 24 3 25 dcl 1 file_table based (ft_ptr), 3 26 2 next char (5), 3 27 2 ifn char (16), 3 28 2 attach_options_info char(5), /*06/02/77*/ 3 29 2 replacement_info char(5), /*06/02/77*/ 3 30 2 file_id_info char(5), /*05/31/77*/ 3 31 2 retention_info char(5), /*05/31/77*/ 3 32 2 filler0 char (3) , /* [3.0-1] */ 3 33 2 file_desc_1_offset fixed bin (24), /* [3.0-1] */ 3 34 2 abs_record_offset fixed bin (24), /* [3.-02] */ 3 35 2 filler char(5), /* this area is available.*/ 3 36 2 padding_char char (1), 3 37 2 banner_char char (1), 3 38 2 file_status_info char (5), 3 39 2 extra_status_info char (5), 3 40 2 cat_id_info char (5), 3 41 2 r_key_info char (5), 3 42 2 alt_key_info char (5), 3 43 2 rec_do_info char (5), 3 44 2 label_info char (5), 3 45 2 data_info char (5), 3 46 2 report_info char (5), 3 47 2 linage_info char (5), 3 48 2 optional bit (1), /*06/07/76*/ 3 49 2 external bit (1), 3 50 2 file_status bit (1), 3 51 2 extra_status bit (1), 3 52 2 sysin bit (1), 3 53 2 sysout bit (1), 3 54 2 move_mode bit (1), 3 55 2 locate_mode bit (1), 3 56 2 fixed_recs bit (1), 3 57 2 variable_recs bit (1), 3 58 2 spanned_recs bit (1), /*06/07/76*/ 3 59 2 interchange bit (1), /*06/07/76*/ 3 60 2 relative_key bit (1), 3 61 2 record_key bit (1), 3 62 2 even_parity bit (1), 3 63 2 odd_parity bit (1), 3 64 2 padding bit (1), 3 65 2 banner bit (1), 3 66 2 random bit (1), 3 67 2 no_file_lockout bit (1), 3 68 2 no_write_check bit (1), 3 69 2 no_resident_index bit (1), 3 70 2 same_file bit (1), 3 71 2 sort_file bit (1), 3 72 2 rec_do bit (1), 3 73 2 linage bit (1), 3 74 2 code_set_clause bit (1), 3 75 /* history */ 3 76 2 close bit (1), 3 77 2 delete bit (1), 3 78 2 open_in bit (1), 3 79 2 open_out bit (1), 3 80 2 open_io bit (1), 3 81 2 open_ext bit (1), 3 82 2 read bit (1), 3 83 2 release bit (1), 3 84 2 return_bit bit (1), 3 85 2 rewrite bit (1), 3 86 2 sort bit (1), 3 87 2 start bit (1), 3 88 2 use_error bit (1), 3 89 2 write bit (1), 3 90 2 read_next bit (1), 3 91 2 read_key bit (1), 3 92 2 accept bit (1), 3 93 2 display bit (1), 3 94 2 unequal_recs bit (1), 3 95 2 dummy_sysin bit (1), 3 96 2 dummy_sysout bit (1), 3 97 2 file_no fixed bin, 3 98 2 uca_offset fixed bin(24), 3 99 2 cra_seg fixed bin, 3 100 2 cra_offset fixed bin(24), 3 101 2 max_cra_size fixed bin(24), 3 102 2 catalogued fixed bin, 3 103 2 organization fixed bin, 3 104 2 org_qual fixed bin, 3 105 2 access fixed bin, 3 106 2 buffers fixed bin, 3 107 2 device fixed bin, 3 108 2 record_prefix fixed bin, /*06/07/76*/ 3 109 2 alternate_keys fixed bin, 3 110 2 record_format fixed bin, 3 111 2 label_format fixed bin, 3 112 2 key_location fixed bin, 3 113 2 key_size fixed bin, 3 114 2 temporary fixed bin, 3 115 2 address_format fixed bin, 3 116 2 same_area_clause fixed bin, 3 117 2 same_rec_clause fixed bin, 3 118 2 same_sort_clause fixed bin, 3 119 2 mult_clause_no fixed bin, 3 120 2 mult_position_no fixed bin, 3 121 2 block_desc fixed bin, 3 122 2 block_min fixed bin(24), 3 123 2 block_max fixed bin(24), 3 124 2 rec_min fixed bin(24), 3 125 2 rec_max fixed bin(24), 3 126 2 label_count fixed bin, 3 127 2 ifn_size fixed bin, 3 128 2 data_count fixed bin, 3 129 2 report_count fixed bin, 3 130 2 code_set fixed bin, 3 131 2 error_exit fixed bin, 3 132 2 prefix_size fixed bin, 3 133 2 blocked bit (1), 3 134 2 variable bit (1), 3 135 2 unbannered bit (1), 3 136 2 prefix_clause bit (1), 3 137 2 symbolic bit (1), 3 138 2 address_format_bit bit (1), 3 139 2 bsn bit(1), /*06/07/76*/ 3 140 2 process_area bit(1), /*06/07/76*/ 3 141 2 dupl_alt bit (1), /* [3.0-3] */ 3 142 2 dummy102 bit (23), 3 143 2 name_size fixed bin, 3 144 2 name char(32), 3 145 2 id char(32), 3 146 2 temp bit(1) , 3 147 2 perm bit(1) , 3 148 2 attach bit(1) , 3 149 2 detach bit(1) , 3 150 2 fsb , /* file state block */ 3 151 3 seg fixed bin(24), /* internal addr */ 3 152 3 off fixed bin(24), 3 153 2 tape, 3 154 3 density bit(1) , /* 0-hi 1-lo */ 3 155 3 retain bit(1), /* 0 not retained across attachment, 1 retained */ 3 156 3 force bit(1), /* 0 check retention date, 1 no check */ 3 157 3 protect bit(1) , /* 0-no 1-yes */ 3 158 3 den_6250 bit(1), /* 0-no 1-yes */ /*[4.4-1]*/ 3 159 2 cat_nm char(200), 3 160 2 ao_len fixed bin(24), /* attach options */ 3 161 2 ao_string char(256), 3 162 2 output_mode fixed bin, /* 0 not specified 3 163* 1 generation 3 164* 2 modification 3 165* 3 replacement literal 3 166* 4 replacement dataname */ 3 167 2 om_len fixed bin, /* length of output mode */ 3 168 2 om_string char(17), 3 169 2 tape_device fixed bin, /* 0 not specified 3 170* 1 integer 3 171* 2 dataname */ 3 172 2 tape_device_num fixed bin, 3 173 2 tape_device_key char(5), 3 174 2 add_cat_key char(5); 3 175 3 176 3 177 /* END INCLUDE FILE ... cobol_file_table.incl.pl1 */ 3 178 211 212 end cobol_iomode; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.7 cobol_iomode.pl1 >spec>install>MR12.3-1048>cobol_iomode.pl1 210 1 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 1-17 2 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 211 3 11/11/82 1712.7 cobol_file_table.incl.pl1 >ldd>include>cobol_file_table.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. access 45 based fixed bin(17,0) level 2 in structure "file_table" dcl 3-25 in procedure "cobol_iomode" ref 158 access 000147 automatic fixed bin(17,0) dcl 141 in procedure "cobol_iomode" set ref 158* 159 159* 162 163 175 193* 194 access_con 000010 internal static char(10) initial array packed unaligned dcl 137 set ref 175* addr builtin function dcl 205 ref 178 178 cobol_mode parameter fixed bin(17,0) dcl 30 set ref 27 162* 164 166 d 11(05) based bit(2) level 2 packed packed unaligned dcl 1-16 ref 152 device 47 based fixed bin(17,0) level 2 dcl 3-25 ref 153 155 155 end_stmt based structure level 1 unaligned dcl 1-16 eos_ptr parameter pointer dcl 1-13 ref 27 152 error_info 000100 automatic structure level 1 unaligned dcl 131 set ref 178 178 extend_sw parameter bit(1) dcl 32 set ref 27 166* 168* file_table based structure level 1 unaligned dcl 3-25 fixed builtin function dcl 205 ref 152 190 192 193 ft_ptr parameter pointer dcl 145 ref 27 149 149 153 153 155 155 155 157 158 175 ifn 1(09) based char(16) level 2 packed packed unaligned dcl 3-25 set ref 175* inmode parameter fixed bin(17,0) dcl 186 ref 183 190 192 193 ioa_$rsnnl 000040 constant entry external dcl 135 ref 175 mes 11 000100 automatic char(120) level 2 packed packed unaligned dcl 131 set ref 175* meslen 10 000100 automatic fixed bin(17,0) level 2 dcl 131 set ref 175* mode 000000 constant fixed bin(17,0) initial array dcl 110 ref 162 163 194 mode_con 000032 internal static char(6) initial array packed unaligned dcl 139 set ref 175* multics_mode parameter fixed bin(17,0) dcl 31 set ref 27 163* name 000100 automatic char(32) level 2 packed packed unaligned dcl 131 set ref 173* null builtin function dcl 205 ref 178 178 open_mode 000151 automatic fixed bin(17,0) dcl 143 set ref 152* 162 163 175 190* 194 org 000150 automatic fixed bin(17,0) dcl 142 set ref 155* 157* 162 163 175 192* 194 org_con 000020 internal static char(10) initial array packed unaligned dcl 138 set ref 175* organization 43 based fixed bin(17,0) level 2 dcl 3-25 set ref 149 149* 153* 155 157 outbit parameter bit(1) dcl 188 set ref 183 195* 197* outmode parameter fixed bin(17,0) dcl 187 set ref 183 194* 195 signal_ 000042 constant entry external dcl 136 ref 178 substr builtin function dcl 205 ref 190 192 193 unspec builtin function dcl 205 ref 190 192 193 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 205 binary builtin function dcl 205 index builtin function dcl 205 length builtin function dcl 205 mod builtin function dcl 205 rel builtin function dcl 205 string builtin function dcl 205 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_iomode 000216 constant entry external dcl 27 error 000317 constant label dcl 173 set ref 164 start 000223 constant label dcl 149 start_translate 000451 constant label dcl 190 translate 000444 constant entry external dcl 183 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 556 622 507 566 Length 1044 507 44 206 47 30 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_iomode 164 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 access_con cobol_iomode 000020 org_con cobol_iomode 000032 mode_con cobol_iomode STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_iomode 000100 error_info cobol_iomode 000147 access cobol_iomode 000150 org cobol_iomode 000151 open_mode cobol_iomode THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl signal_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000211 149 000223 152 000233 153 000241 155 000246 157 000261 158 000263 159 000265 162 000270 163 000304 164 000306 166 000310 168 000315 169 000316 173 000317 175 000322 178 000405 179 000437 183 000440 190 000451 192 000456 193 000462 194 000465 195 000500 197 000505 198 000506 ----------------------------------------------------------- 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