COMPILATION LISTING OF SEGMENT display_pl1io_error Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 07/28/86 1519.4 mst Mon Options: optimize map 1 /****^ ****************************************************** 2* * * 3* * Copyright (c) 1986 by Massachusetts Institute of * 4* * Technology and Honeywell Information Systems, Inc. * 5* * * 6* * Copyright (c) 1972 by Massachusetts Institute of * 7* * Technology and Honeywell Information Systems, Inc. * 8* * * 9* ****************************************************** */ 10 11 12 13 /****^ HISTORY COMMENTS: 14* 1) change(86-07-15,Ginter), approve(86-07-15,MCR7287), audit(86-07-16,Mabey), 15* install(86-07-28,MR12.0-1105): 16* Change by M Mabey (installed by Ginter) to report an error if an argument 17* is supplied or if used as an active function. 18* END HISTORY COMMENTS */ 19 20 21 display_pl1io_error: dpe: 22 procedure (); 23 24 /* Modified 850515 by MM to report an error if an argument is supplied or */ 25 /* if used as an active function. */ 26 /* Modified 770829 by PG for read/write to stream files */ 27 28 /* automatic */ 29 30 dcl bad_job bit (36); 31 dcl (psp, fsbp) ptr; 32 dcl (i, j) fixed bin (15); 33 dcl arg_count fixed bin; 34 dcl code fixed bin (35); 35 36 dcl vs char (128) varying; 37 dcl attribute_conflict bit (1) aligned; 38 dcl bad_code bit (1) aligned; 39 dcl pseudo_file bit (1) aligned; 40 dcl file_name_string char (40) varying; 41 42 /* builtins */ 43 44 dcl (null, substr, length, string) builtin; 45 46 /* entries */ 47 48 dcl ioa_ entry external options (variable); 49 dcl ioa_$nnl entry external options (variable); 50 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 51 dcl com_err_ entry options (variable); 52 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 53 dcl error_table_$too_many_args fixed bin(35) ext static; 54 55 /* internal static */ 56 57 dcl ME char (20) init ("display_pl1io_error") int static options (constant); 58 dcl test_conflicts (20) bit (20) internal static init ( 59 60 /* . zzvopiousnrsdixxskne */ 61 /* . ooeprnuptoeeinxxtemn */ 62 /* . ttreiptdrkcqrtxxvylv */ 63 /* . snnupamerueexxaes */ 64 /* . 2 tttt ydecr ldt */ 65 "00000001001110001100"b, /* data */ 66 "00000001001110001100"b, /* edit */ 67 "00000001001110001100"b, /* list */ 68 "00000011001111001100"b, /* get */ 69 "00000101001110001100"b, /* put */ 70 "00000101001110001100"b, /* page */ 71 "00000001001110001100"b, /* line */ 72 "00000001001110001100"b, /* skip */ 73 "00001010000001000000"b, /* read */ 74 "00000100000000000000"b, /* write */ 75 "00001110100001000000"b, /* rewrite */ 76 "00001110100001000000"b, /* delete */ 77 "00001101100001000000"b, /* locate */ 78 "00001000110001000000"b, /* key */ 79 "00001010110011000000"b, /* keyto */ 80 "00001100110001000000"b, /* keyfrom */ 81 "00001010100001000000"b, /* set */ 82 "00001010000001000000"b, /* into */ 83 "00001010100011000000"b, /* ignore */ 84 "00000100000000000000"b); /* from */ 85 86 dcl switch_word (36) char (15) varying static internal 87 init ("zot1 ", "zot2 ", "version2 ", 88 "open ", "print ", "input ", 89 "output ", "update ", "stream ", 90 "notkeyed ", "record ", "sequential ", 91 "direct ", "interactive ", "not_used_pos15 ", 92 "not_used_pos16 ", "stringvalue ", "keyed ", 93 "namelist ", "environment ", "end_of_file ", 94 "transmit_error ", "buffer_in_use ", "copy ", 95 "detach ", "te_hold ", "prelim_eof ", 96 "internal ", "threaded ", "fsb_in_use ", 97 "not_used_pos31 ", "emptyline ", "iox_close ", 98 "not_used_pos34 ", "not_used_pos35 ", "not_used_pos36 "); 99 100 dcl nono_word (18) char (12) varying static internal 101 init ("lock ", "unlock ", "read ", 102 "write ", "rewrite ", "delete ", 103 "locate ", "key ", "keyto ", 104 "keyfrom ", "set ", "into ", 105 "ignore ", "from ", "nofrom ", 106 "nokey ", "nokeyfrom ", "nolock"); 107 108 dcl bad_job_word (20) char (12) varying static internal 109 init ( 110 "data ", "edit ", "list ", 111 "get ", "put ", "page ", 112 "line ", "skip ", 113 "read ", "write ", "rewrite ", 114 "delete ", "locate ", "key ", 115 "keyto ", "keyfrom ", "set ", 116 "into ", "ignore ", "from "); 117 118 dcl switch_nonos (5:18) bit (14) internal static init ( 119 120 /* . piousnrsdixxsk */ 121 /* . rnuptoeeinxxte */ 122 /* . iptdrkcqrtxxvy */ 123 /* . nupamerueexxae */ 124 /* . tttt ydecr ld */ 125 ""b, /* print */ 126 "1"b, /* input */ 127 "01"b, /* output */ 128 "011"b, /* update */ 129 "0001"b, /* stream */ 130 "00000"b, /* notkeyed */ 131 "100010"b, /* record */ 132 "0000100"b, /* sequential */ 133 "00001101"b, /* direct */ 134 "010100101"b, /* interactive */ 135 "0000000000"b, /* notused */ 136 "00000000000"b, /* notused */ 137 "000010000100"b, /* stringvalue */ 138 "0000110001000"b); /* keyed */ 139 140 /* include files */ 141 1 1 /* BEGIN INCLUDE FILE ... plio2_fsb.incl.pl1 */ 1 2 /* format: style3,idind30 */ 1 3 1 4 declare 1 fsb aligned based (fsbp), 1 5 2 switch aligned, 1 6 3 zot (2) bit (1) unaligned, 1 7 3 version_2 bit (1) unaligned, 1 8 3 open bit (1) unaligned, 1 9 3 print bit (1) unaligned, 1 10 3 input bit (1) unaligned, 1 11 3 output bit (1) unaligned, 1 12 3 update bit (1) unaligned, 1 13 3 stream bit (1) unaligned, 1 14 3 notkeyed bit (1) unaligned, 1 15 3 record bit (1) unaligned, 1 16 3 sequential bit (1) unaligned, 1 17 3 direct bit (1) unaligned, 1 18 3 interactive bit (1) unaligned, 1 19 3 not_used_1 bit (1) unaligned, 1 20 3 not_used_2 bit (1) unaligned, 1 21 3 stringvalue bit (1) unaligned, 1 22 3 keyed bit (1) unaligned, 1 23 3 namelist bit (1) unaligned, 1 24 3 implementation bit (1) unaligned, 1 25 3 not_used_4 bit (1) unaligned, /* old get-input eof flag */ 1 26 3 transmit_error bit (1) unaligned, 1 27 3 buffer_in_use bit (1) unaligned, 1 28 3 copy bit (1) unaligned, 1 29 3 detach bit (1) unaligned, 1 30 3 te_hold bit (1) unaligned, 1 31 3 not_used_5 bit (1) unaligned, 1 32 3 internal bit (1) unaligned, 1 33 3 threaded bit (1) unaligned, 1 34 3 fsb_in_use bit (1) unaligned, 1 35 3 console bit (1) unaligned, 1 36 3 emptyline bit (1) unaligned, 1 37 3 iox_close bit (1) unaligned, 1 38 3 xxx4 bit (1) unaligned, 1 39 3 xxx5 bit (1) unaligned, 1 40 3 xxx6 bit (1) unaligned, 1 41 2 nono aligned, 1 42 3 bit_string bit (1) unaligned, 1 43 3 not_used_3 bit (1) unaligned, 1 44 3 read bit (1) unaligned, 1 45 3 write bit (1) unaligned, 1 46 3 rewrite bit (1) unaligned, 1 47 3 delete bit (1) unaligned, 1 48 3 locate bit (1) unaligned, 1 49 3 key bit (1) unaligned, 1 50 3 keyto bit (1) unaligned, 1 51 3 keyfrom bit (1) unaligned, 1 52 3 set bit (1) unaligned, 1 53 3 into bit (1) unaligned, 1 54 3 ignore bit (1) unaligned, 1 55 3 from bit (1) unaligned, 1 56 3 nofrom bit (1) unaligned, 1 57 3 nokey bit (1) unaligned, 1 58 3 nokeyfrom bit (1) unaligned, 1 59 3 nolock bit (1) unaligned, 1 60 2 lsep fixed bin (15), /* (1,COMMA)(2,BL)(3,TAB)(4,NL)(5,SEMI) */ 1 61 2 iocb_p ptr unaligned, /* identifies data_set to iox_ */ 1 62 2 blc fixed bin (21), /* buffer's last character (input) */ 1 63 2 bsize fixed bin (21), /* size of buffer */ 1 64 2 bptr ptr, /* address of buffer */ 1 65 2 bnc fixed bin (15), /* next character in buffer */ 1 66 2 kol fixed bin (15), /* last column read from or written into */ 1 67 2 lsize fixed bin (15), /* line size (output) */ 1 68 2 lineno fixed bin (15), /* current line (output) - starts at 1 on each new page */ 1 69 2 psize fixed bin (35), /* page size (output) */ 1 70 2 pageno fixed bin (15), /* current page number, starts at 1 */ 1 71 2 limit fixed bin (15), 1 72 2 lnzc fixed bin (35), 1 73 2 filename char (32) aligned, /* declared file name */ 1 74 2 title char (32) unaligned,/* Multics I/O switch */ 1 75 2 fsb_thread ptr, 1 76 2 buffer (212) fixed bin (15), 1 77 2 path_name char (168) unal, /* title option */ 1 78 2 declared_attributes (2) bit (36) aligned; 1 79 1 80 declare xbuf char (1000) unaligned based (fsb.bptr); 1 81 1 82 /* END INCLUDE FILE ... plio2_fsb.incl.pl1 */ 142 2 1 /* BEGIN INCLUDE FILE ... plio2_ps.incl.pl1 */ 2 2 /* Stream I/O data block used by PL/I I/O runtime routines. 2 3* 2 4* Modified: 31 January 1978 by RAB to change plio2_data_$fsb_thread to plio2_data_fsb_thread_ 2 5**/ 2 6 /* format: style3,idind30 */ 2 7 2 8 /* based */ 2 9 2 10 declare 1 ps aligned based (psp),/* items set NORMALLY by compiled procedures */ 2 11 2 stack_frame_p ptr, /* items set in block prologue */ 2 12 2 ST_top_p ptr, 2 13 2 ST_block_p ptr, 2 14 2 format_area_p ptr, 2 15 2 ss_list_p ptr, 2 16 2 ab_return, /* items set in prep call */ 2 17 3 abret (3) ptr, 2 18 2 source_p ptr, /* addr(fakefsb) for string option, 2 19* addr(file) for explicit file option */ 2 20 2 special_list_p ptr, /* addr(OKlist) for get data, addr(format_list) for edit */ 2 21 2 copy_file_p ptr, 2 22 2 job aligned, 2 23 3 explicit_file bit (1) unal, 2 24 3 string bit (1) unal, 2 25 3 varying_string bit (1) unal, 2 26 3 data bit (1) unal, 2 27 3 edit bit (1) unal, 2 28 3 list bit (1) unal, 2 29 3 get bit (1) unal, 2 30 3 put bit (1) unal, 2 31 3 page bit (1) unal, 2 32 3 line bit (1) unal, 2 33 3 skip bit (1) unal, 2 34 3 copy bit (1) unal, 2 35 3 p1p2 bit (1) unal, 2 36 3 bit_string bit (1) unal, /* for environment(stringvalue) */ 2 37 3 char_string bit (1) unal, 2 38 3 read bit (1) unal, 2 39 3 write bit (1) unal, 2 40 3 rewrite bit (1) unal, 2 41 3 delete bit (1) unal, 2 42 3 locate bit (1) unal, 2 43 3 key bit (1) unal, 2 44 3 keyto bit (1) unal, 2 45 3 keyfrom bit (1) unal, 2 46 3 set bit (1) unal, 2 47 3 into bit (1) unal, 2 48 3 ignore bit (1) unal, 2 49 3 from bit (1) unal, 2 50 3 version bit (6) unal, 2 51 3 not_byte_buffer bit (1) unal, 2 52 3 pad1 bit (1) unal, 2 53 3 packed_ptr bit (1) unal, 2 54 2 number fixed bin (15), 2 55 2 value_p ptr, /* items set NORMALLY by compiled procedures per transmission */ 2 56 2 descriptor bit (36) aligned, 2 57 2 length fixed bin (15), /* may be swallowed into descriptor */ 2 58 2 top_half bit (18) unal, 2 59 2 offset bit (18) unal, 2 60 2 prep fixed bin (15), /* items treated ABNORMALLY, written by user and PLIO */ 2 61 2 new_format fixed bin (15), 2 62 2 switch aligned, /* items used by PLIO and not touched by compiled procedures */ 2 63 3 first_field bit (1) unal, 2 64 3 file bit (1) unal, 2 65 3 transmit_error bit (1) unal, 2 66 3 semi_sep bit (1) unal, 2 67 3 pad2 bit (32) unal, 2 68 2 file_p ptr, 2 69 2 fsbp ptr, 2 70 2 auxp ptr, /* used as addr(ldidata) for GETs */ 2 71 2 fabp ptr, 2 72 2 fab2p ptr, 2 73 2 vp ptr, 2 74 2 descr bit (36) aligned, 2 75 2 start_copy fixed bin (15), 2 76 2 quick_stream_storage, 2 77 3 a_stored fixed bin (35), 2 78 3 q_stored fixed bin (35); 2 79 2 80 /* external static */ 2 81 2 82 declare ( 2 83 plio2_data_$pspstat, 2 84 plio2_data_$fsbpstat, 2 85 plio2_data_$badfsbp, 2 86 plio2_data_$fabpstat, 2 87 plio2_data_$fab2pstat, 2 88 plio2_data_$pliostringfsbp 2 89 ) ptr external static; 2 90 2 91 dcl plio2_data_fsb_thread_ ptr ext static initial (null); 2 92 /* *system var */ 2 93 2 94 declare ( 2 95 plio2_data_$badjob bit (36) aligned, 2 96 plio2_data_$undef_file_sw bit (1) aligned 2 97 ) external static; 2 98 2 99 /* END INCLUDE FILE ... plio2_ps.incl.pl1 */ 143 144 145 /* program */ 146 147 call cu_$arg_count (arg_count, code); 148 if code ^= 0 then do; 149 call com_err_ (code, ME); 150 return; 151 end; 152 if arg_count ^= 0 then do; 153 call com_err_ (error_table_$too_many_args, ME, "No arguments are permitted."); 154 return; 155 end; 156 157 fsbp = plio2_data_$badfsbp; 158 bad_job = plio2_data_$badjob; 159 if fsbp = null 160 then do; 161 call ioa_ ("^/There was no error raised during PL/I i/o in this process."); 162 return; 163 end; 164 165 pseudo_file = substr (bad_job, 2, 1); /* string option bit */ 166 167 if pseudo_file 168 then file_name_string = "^/Error on string option pseudo-file "; 169 else file_name_string = "^/Error on file ^a"; 170 171 call ioa_$nnl (file_name_string, fsb.filename); 172 173 bad_job = substr (bad_job, 4, 8)||substr (bad_job, 16, 12)|| (16)"0"b; 174 175 if fsb.lnzc > 0 & ^fsb.switch.stream 176 then call show_code; /* stream errors are not generally associated with a system error */ 177 else call ioa_ (""); /* because ioa_$nnl was used, we need a trailing new_line */ 178 179 call show_fsb; 180 if plio2_data_$undef_file_sw 181 then do; 182 attribute_conflict = "0"b; 183 call ioa_$nnl ("Error in opening or closing ^a", fsb.filename); 184 call show_badfile; 185 if ^attribute_conflict 186 then do; 187 bad_code = "0"b; 188 if fsb.switch.stream 189 then call show_code; 190 if ^bad_code then call ioa_ (""); /* insert the final trailing new-line */ 191 end; 192 end; 193 else do; 194 call show_job; 195 call show_conflicts; 196 end; 197 return; 198 199 show_fsb: proc; 200 if fsb.filename ^= """get_string_option""" 201 & fsb.filename ^= """put_string_option""" 202 then call ioa_ ("Title: ^a", fsb.path_name); 203 vs = "Attributes: "; 204 call print_attributes ((string (fsb.switch))); 205 206 if substr (fsb.declared_attributes (1), 4, 33) 207 then if ^pseudo_file /* fake fsb's do not have a valid decl_attrs field */ 208 then do; 209 vs = "Permanent attributes: "; 210 call print_attributes (fsb.declared_attributes (1)); 211 end; 212 return; 213 end show_fsb; 214 215 216 show_job: proc; 217 if bad_job = "0"b 218 then call ioa_ ("No i/o job found."); 219 else do; 220 vs = "Last i/o operation attempted: "; 221 do i = 1 to 20; 222 if substr (string (bad_job), i, 1) then vs = vs||bad_job_word (i); 223 if length (vs)>65 then call print_vs; 224 end; 225 if length (vs) ^= 0 then call print_vs; 226 end; 227 return; 228 end show_job; 229 230 print_vs: proc; 231 call ioa_ ("^a", vs); 232 vs = ""; 233 end print_vs; 234 235 236 print_attributes: proc (bit_str); 237 dcl bit_str bit (36) aligned; 238 do i = 4 to 14, 16 to 20, 24, 28; 239 if substr (string (bit_str), i, 1) then vs = vs||switch_word (i); 240 if length (vs)>65 then call print_vs; 241 end; 242 if length (vs) ^= 0 then call print_vs; 243 end print_attributes; 244 245 show_code: proc; 246 dcl c1 char (8) aligned; 247 dcl c2 char (100) aligned; 248 dcl c3 char (100) varying; 249 call convert_status_code_ ((fsb.lnzc), c1, c2); 250 c3 = c2; 251 if length (c3)>0 252 then do; 253 call ioa_ (", status code: ^a", c3); 254 bad_code = "1"b; 255 end; 256 end show_code; 257 258 259 show_conflicts: proc; 260 do i = 1 to 20; 261 if substr (bad_job, i, 1) then do; 262 if string (fsb.switch)&test_conflicts (i) then do; 263 vs = "Attempted """||bad_job_word (i)||""" operation conflicts with"; 264 call print_vs; 265 do j = 1 to 20; 266 if substr (string (fsb.switch), j, 1)&substr (test_conflicts (i), j, 1) then do; 267 vs = " file """||switch_word (j)||""" attribute."; 268 j = 20; 269 end; 270 end; 271 end; 272 if vs ^= "" then call print_vs; 273 end; 274 end; 275 end show_conflicts; 276 277 278 show_badfile: proc; 279 do i = 5 to 18; 280 if substr (string (fsb.switch), i, 1) 281 then do j = 5 to 18; 282 if substr (switch_nonos (i), j-4, 1) & substr (string (fsb.switch), j, 1) 283 then do; 284 if ^attribute_conflict then call ioa_ (""); /* give trailing NL to last line */ 285 call ioa_ ("The ^a attribute conflicts with the ^a attribute.", 286 switch_word (i), switch_word (j)); 287 attribute_conflict = "1"b; 288 end; 289 end; 290 end; 291 return; 292 end show_badfile; 293 294 295 end /* display_pl1io_error */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/28/86 1500.1 display_pl1io_error.pl1 >spec>install>1105>display_pl1io_error.pl1 142 1 08/13/81 2043.5 plio2_fsb.incl.pl1 >ldd>include>plio2_fsb.incl.pl1 143 2 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. ME 000142 constant char(20) initial unaligned dcl 57 set ref 149* 153* arg_count 000106 automatic fixed bin(17,0) dcl 33 set ref 147* 152 attribute_conflict 000151 automatic bit(1) dcl 37 set ref 182* 185 284 287* bad_code 000152 automatic bit(1) dcl 38 set ref 187* 190 254* bad_job 000100 automatic bit(36) unaligned dcl 30 set ref 158* 165 173* 173 173 217 222 261 bad_job_word 000006 constant varying char(12) initial array dcl 108 ref 222 263 bit_str parameter bit(36) dcl 237 ref 236 239 c1 000230 automatic char(8) dcl 246 set ref 249* c2 000232 automatic char(100) dcl 247 set ref 249* 250 c3 000263 automatic varying char(100) dcl 248 set ref 250* 251 253* code 000107 automatic fixed bin(35,0) dcl 34 set ref 147* 148 149* com_err_ 000302 constant entry external dcl 51 ref 149 153 convert_status_code_ 000300 constant entry external dcl 50 ref 249 cu_$arg_count 000304 constant entry external dcl 52 ref 147 declared_attributes 440 based bit(36) array level 2 dcl 1-4 set ref 206 210* error_table_$too_many_args 000306 external static fixed bin(35,0) dcl 53 set ref 153* file_name_string 000154 automatic varying char(40) dcl 40 set ref 167* 169* 171* filename 20 based char(32) level 2 dcl 1-4 set ref 171* 183* 200 200 fsb based structure level 1 dcl 1-4 fsbp 000102 automatic pointer dcl 31 set ref 157* 159 171 175 175 183 188 200 200 200 204 206 210 249 262 266 280 282 i 000104 automatic fixed bin(15,0) dcl 32 set ref 221* 222 222* 238* 239 239* 260* 261 262 263 266* 279* 280 282 285* ioa_ 000274 constant entry external dcl 48 ref 161 177 190 200 217 231 253 284 285 ioa_$nnl 000276 constant entry external dcl 49 ref 171 183 j 000105 automatic fixed bin(15,0) dcl 32 set ref 265* 266 266 267 268* 280* 282 282 285* length builtin function dcl 44 ref 223 225 240 242 251 lnzc 17 based fixed bin(35,0) level 2 dcl 1-4 ref 175 249 null builtin function dcl 44 ref 159 path_name 366 based char(168) level 2 packed unaligned dcl 1-4 set ref 200* plio2_data_$badfsbp 000310 external static pointer dcl 2-82 ref 157 plio2_data_$badjob 000312 external static bit(36) dcl 2-94 ref 158 plio2_data_$undef_file_sw 000314 external static bit(1) dcl 2-94 ref 180 pseudo_file 000153 automatic bit(1) dcl 39 set ref 165* 167 206 stream 0(08) based bit(1) level 3 packed unaligned dcl 1-4 ref 175 188 string builtin function dcl 44 ref 204 222 239 262 266 280 282 substr builtin function dcl 44 ref 165 173 173 206 222 239 261 266 266 280 282 282 switch based structure level 2 dcl 1-4 ref 204 262 266 280 282 switch_nonos 000000 constant bit(14) initial array unaligned dcl 118 ref 282 switch_word 000010 internal static varying char(15) initial array dcl 86 set ref 239 267 285* 285* test_conflicts 000126 constant bit(20) initial array unaligned dcl 58 ref 262 266 vs 000110 automatic varying char(128) dcl 36 set ref 203* 209* 220* 222* 222 223 225 231* 232* 239* 239 240 242 263* 267* 272 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. nono_word internal static varying char(12) initial array dcl 100 plio2_data_$fab2pstat external static pointer dcl 2-82 plio2_data_$fabpstat external static pointer dcl 2-82 plio2_data_$fsbpstat external static pointer dcl 2-82 plio2_data_$pliostringfsbp external static pointer dcl 2-82 plio2_data_$pspstat external static pointer dcl 2-82 plio2_data_fsb_thread_ external static pointer initial dcl 2-91 ps based structure level 1 dcl 2-10 psp automatic pointer dcl 31 xbuf based char(1000) unaligned dcl 1-80 NAMES DECLARED BY EXPLICIT CONTEXT. display_pl1io_error 000363 constant entry external dcl 21 dpe 000354 constant entry external dcl 21 print_attributes 001042 constant entry internal dcl 236 ref 204 210 print_vs 001020 constant entry internal dcl 230 ref 223 225 240 242 264 272 show_badfile 001376 constant entry internal dcl 278 ref 184 show_code 001140 constant entry internal dcl 245 ref 175 188 show_conflicts 001214 constant entry internal dcl 259 ref 195 show_fsb 000644 constant entry internal dcl 199 ref 179 show_job 000733 constant entry internal dcl 216 ref 194 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1646 2164 1516 1656 Length 2412 1516 316 211 130 264 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dpe 360 external procedure is an external procedure. show_fsb internal procedure shares stack frame of external procedure dpe. show_job internal procedure shares stack frame of external procedure dpe. print_vs internal procedure shares stack frame of external procedure dpe. print_attributes internal procedure shares stack frame of external procedure dpe. show_code internal procedure shares stack frame of external procedure dpe. show_conflicts internal procedure shares stack frame of external procedure dpe. show_badfile internal procedure shares stack frame of external procedure dpe. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 switch_word dpe STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dpe 000100 bad_job dpe 000102 fsbp dpe 000104 i dpe 000105 j dpe 000106 arg_count dpe 000107 code dpe 000110 vs dpe 000151 attribute_conflict dpe 000152 bad_code dpe 000153 pseudo_file dpe 000154 file_name_string dpe 000230 c1 show_code 000232 c2 show_code 000263 c3 show_code THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ convert_status_code_ cu_$arg_count ioa_ ioa_$nnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$too_many_args plio2_data_$badfsbp plio2_data_$badjob plio2_data_$undef_file_sw LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 21 000353 147 000370 148 000400 149 000402 150 000417 152 000420 153 000422 154 000446 157 000447 158 000453 159 000455 161 000461 162 000474 165 000475 167 000501 169 000510 171 000515 173 000532 175 000547 177 000557 179 000570 180 000571 182 000574 183 000575 184 000615 185 000616 187 000620 188 000621 190 000625 192 000640 194 000641 195 000642 197 000643 199 000644 200 000645 203 000700 204 000705 206 000711 209 000717 210 000724 212 000732 216 000733 217 000734 220 000753 221 000760 222 000765 223 001006 224 001012 225 001014 227 001017 230 001020 231 001021 232 001040 233 001041 236 001042 238 001044 239 001053 240 001101 241 001105 242 001134 243 001137 245 001140 249 001141 250 001157 251 001164 253 001166 254 001211 256 001213 259 001214 260 001215 261 001223 262 001227 263 001236 264 001274 265 001276 266 001303 267 001321 268 001360 270 001363 272 001365 274 001373 275 001375 278 001376 279 001377 280 001405 282 001417 284 001436 285 001451 287 001502 289 001504 290 001506 291 001510 ----------------------------------------------------------- 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