COMPILATION LISTING OF SEGMENT display_cobol_run_unit 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 1029.1 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 display_cobol_run_unit.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 10/24/79 by PRP [4.1-1] added bad_arg error check */ 23 /* Modified on 10/08/77 by GM to fix spacing when dcr -lg was issued */ 24 /* Modified on 10/25/76 by ORN to eliminate cobol_iocb include file and comply with error message standards */ 25 /* Modified on 07/17/76 by ORN to support display of external switchs */ 26 /* Recompiled on 7/14/76 by George Mercuri to utilize the new include files. */ 27 /* format: style3 */ 28 display_cobol_run_unit: 29 dcr: 30 proc; 31 32 dcl (i, j, k, n, nargs, arglen, len, code) 33 fixed bin; 34 dcl (count, icount) fixed bin; 35 dcl (mode, org, acc) fixed bin; 36 37 dcl (asw, lsw, fsw) bit (1); 38 39 dcl mode_con (0:3) char (6) static init ("extend", "input", "i-o", "output"); 40 dcl org_con (0:3) char (10) static init ("stream", "sequential", "relative", "indexed"); 41 dcl acc_con (3) char (10) static init ("sequential", "random", "dynamic"); 42 43 dcl (acon, dcon) char (6); 44 dcl eicon char (8); 45 dcl fname char (32); 46 dcl programs char (8); 47 dcl times char (5); 48 49 dcl argptr ptr; 50 dcl arg char (16) based (argptr); 51 52 dcl get_pdir_ entry returns (char (168) aligned); 53 dcl cu_$arg_count entry (fixed bin); 54 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin); 55 dcl com_err_ entry options (variable); 56 dcl ioa_ entry options (variable); 57 dcl ioa_$nnl entry options (variable); 58 dcl hcs_$fs_get_seg_ptr entry (char (*), ptr, fixed bin); 59 60 dcl error_table_$badopt fixed bin (35) ext static; 61 dcl error_table_$bad_arg 62 fixed bin (35) ext static; 63 dcl cobol_control_$get_pointer 64 entry returns (pointer); 65 66 67 /* *********************************** */ 68 start: 69 asw, lsw, fsw = "0"b; 70 call cu_$arg_count (nargs); 71 if nargs > 0 72 then do i = 1 to nargs; 73 call cu_$arg_ptr (i, argptr, arglen, code); 74 if code ^= 0 75 then go to multics_error; 76 77 78 /*[4.1-1]*/ 79 if substr (arg, 1, 1) ^= "-" 80 then go to bad_arg_error; 81 if (arglen = 3 & substr (arg, 1, 3) = "-lg") | (arglen = 5 & substr (arg, 1, 5) = "-long") 82 then lsw = "1"b; 83 else if (arglen = 2 & substr (arg, 1, 2) = "-a") | (arglen = 4 & substr (arg, 1, 4) = "-all") 84 then asw = "1"b; 85 else if arglen = 6 & substr (arg, 1, 6) = "-files" 86 then fsw = "1"b; 87 else go to invalid_arg_error; 88 end; 89 90 91 controlp = cobol_control_$get_pointer (); 92 if controlp = null () 93 then go to no_run_error; 94 if control.no_of_segs < 1 95 then if control.mpname = "" 96 then go to no_run_error; 97 count, icount = 0; 98 do i = 1 to control.no_of_segs; 99 stat_ptr = control.statptr (i); 100 if stat_ptr = null () 101 then icount = icount + 1; 102 else if stat.call_cnt = -1 103 then icount = icount + 1; 104 else count = count + 1; 105 end; 106 if count = 1 107 then programs = "program"; 108 else programs = "programs"; 109 call ioa_ ("^/Run-unit ^a contains ^d cobol ^a", control.name, count, programs); 110 if control.mpname ^= "" 111 then call ioa_ ("Main program: ^a", control.mpname); 112 if asw 113 then do; 114 if icount = 1 115 then programs = "program"; 116 else programs = "programs"; 117 call ioa_ ("Control segment at ^p^/^d inactive ^a^/", controlp, icount, programs); 118 end; 119 else do; 120 call ioa_ (""); 121 if count = 0 122 then return; 123 end; 124 125 do i = 1 to control.no_of_segs; 126 stat_ptr = control.statptr (i); 127 if asw 128 then call ioa_$nnl ("^2d ", i); 129 if stat_ptr = null () 130 then do; 131 if asw 132 then do; 133 call ioa_ ("***Permanently inactive"); 134 if lsw 135 then call ioa_ (""); 136 end; 137 end; 138 else if stat.call_cnt = -1 139 then do; 140 if asw 141 then do; 142 if lsw 143 then call ioa_ ("Name: ^a (inactive)^/ at ^p^/ data at ^p for ^d words", 144 substr (stat.prog_id, 1, stat.prog_id_len), stat.entry_pt_ptr, stat.data_ptr, 145 stat.data_len); 146 else call ioa_ ("^a (inactive)", substr (stat.prog_id, 1, stat.prog_id_len)); 147 end; 148 end; 149 else do; 150 if lsw 151 then do; 152 if stat.call_cnt = 1 153 then times = "time"; 154 else times = "times"; 155 call ioa_ ( 156 "Name: ^a^/ at ^p^/ invoked ^d ^a^/ data at ^p for ^d words^/ file_info at ^p", 157 substr (stat.prog_id, 1, stat.prog_id_len), stat.entry_pt_ptr, stat.call_cnt, 158 times, stat.data_ptr, stat.data_len, stat.file_info_ptr); 159 end; 160 else call ioa_ ("^a (^d)", substr (stat.prog_id, 1, stat.prog_id_len), stat.call_cnt); 161 end; 162 if fsw 163 then do; 164 if stat_ptr = null () 165 then if asw 166 then call ioa_ (" No active files"); 167 else ; 168 else if stat.call_cnt = -1 169 then if asw 170 then call ioa_ (" No active files"); 171 else ; 172 else if stat.file_info_ptr = null () 173 then call ioa_ (" No active files"); 174 else do; 175 file_info_ptr = stat.file_info_ptr; 176 k = 0; 177 j = divide (file_info.n, 2, 17, 0); 178 do n = 1 to j; 179 fsb_ptr = file_info.pt (n); 180 if fsb_ptr ^= null () 181 then if fsb.iocb_ptr ^= null () 182 then k = k + 1; 183 end; 184 if k = 1 185 then acon = "file"; 186 else acon = "files"; 187 if j = 1 188 then dcon = "file"; 189 else dcon = "files"; 190 call ioa_ (" ^d ^a active, ^d ^a declared", k, acon, j, dcon); 191 do n = 1 to j; 192 fsb_ptr = file_info.pt (n); 193 if fsb_ptr ^= null () 194 then if fsb.iocb_ptr ^= null () 195 then do; 196 if fsb.internal 197 then do; 198 eicon = "Internal"; 199 len = index (fsb.iocb_ptr -> iocb.name, " ") - 17; 200 if len < 0 201 then len = 16; 202 fname = substr (fsb.iocb_ptr -> iocb.name, 1, len); 203 end; 204 else do; 205 eicon = "External"; 206 fname = fsb.iocb_ptr -> iocb.name; 207 end; 208 if fsb.open_mode = 0 209 then call ioa_ (" ^a file ^a at ^p^/ closed by ^a", eicon, 210 fname, fsb_ptr, fsb.open_close_name); 211 else do; 212 mode = fixed (substr (unspec (fsb.open_mode), 31, 2), 2); 213 org = fixed (substr (unspec (fsb.open_mode), 33, 2), 2); 214 acc = fixed (substr (unspec (fsb.open_mode), 35, 2), 2); 215 call ioa_ ( 216 " ^a file ^a at ^p^/ opened by ^a for ^a with ^a organization and ^a access", 217 eicon, fname, fsb_ptr, fsb.open_close_name, 218 mode_con (mode), org_con (org), acc_con (acc)); 219 end; 220 end; 221 end; 222 end; 223 end; 224 if lsw & stat_ptr ^= null () 225 then call ioa_ (""); 226 end; 227 call ioa_ (""); 228 k = 0; 229 do i = 1 to 8; 230 if control.sense_sw (i) ^= 0 231 then do; 232 if k = 0 233 then do; 234 call ioa_$nnl ( 235 "External-switch status: 1 2 3 4 5 6 7 8^/ " 236 ); 237 if i > 1 238 then do j = 1 to i - 1; 239 call ioa_$nnl ("OFF "); 240 end; 241 k = 1; 242 end; 243 call ioa_$nnl ("ON "); 244 end; 245 else if k ^= 0 246 then call ioa_$nnl ("OFF "); 247 end; 248 if k = 0 249 then call ioa_ ("All external-switches off^/"); 250 else call ioa_ ("^/"); 251 return; 252 253 254 /* *********************************** */ 255 multics_error: 256 call com_err_ (code, "display_cobol_run_unit"); 257 return; 258 259 invalid_arg_error: 260 call com_err_ (error_table_$badopt, "display_cobol_run_unit", substr (arg, 1, arglen)); 261 return; 262 263 no_run_error: 264 call com_err_ (0, "display_cobol_run_unit", "There is no cobol run-unit currently active."); 265 return; 266 267 /*[4.1-1]*/ 268 bad_arg_error: 269 call com_err_ (error_table_$bad_arg, "display_cobol_run_unit", substr (arg, 1, arglen)); 270 return; 271 272 273 /* *********************************** */ 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_fixed_static.incl.pl1 */ 1 3 /* Last Modified May 5, 1977 by BC */ 1 4 1 5 /* This structure exists in the static data portion of the 1 6*linkage section of each cobol object segment. This 1 7*include file provides a "based" template for it. */ 1 8 1 9 /* This include file also contains internal static initialized 1 10*variables that define the offset of each field in this static 1 11*data portion of the linkage section from the 1 12*pointer upon which it is based. */ 1 13 1 14 1 15 /* WARNING: The fields in this structure,data_ptr 1 16*up to, but not including reserved, 1 17*must retain their positions in this structure forever. 1 18*No new fields not having space already allocated may be 1 19*defined as the position of the first link which follows 1 20*this fixed static area (to cobol_rts_) is in a fixed location 1 21*known to cobol_operators_. */ 1 22 dcl stat_ptr ptr; 1 23 dcl 1 stat based(stat_ptr) aligned, 1 24 2 data_ptr ptr aligned, 1 25 2 control_ptr ptr aligned, 1 26 2 file_info_ptr ptr aligned, 1 27 2 call_cnt fixed bin aligned, 1 28 2 data_len fixed bin aligned, 1 29 2 entry_pt_ptr ptr aligned, 1 30 2 prog_id_len fixed bin aligned, 1 31 2 prog_id char(65) aligned, 1 32 2 line_no (2) fixed bin aligned, 1 33 2 fo_flag fixed bin aligned, 1 34 2 fo_disp fixed bin aligned, 1 35 2 main_prog_sw fixed bin aligned, 1 36 2 sort_merge_sw fixed bin aligned, 1 37 2 ind_mask bit(36), /* overflow masking indicator bits. */ 1 38 2 pr3_save ptr, 1 39 2 pr5_save ptr, 1 40 2 user_output_ptr ptr, 1 41 2 error_output_ptr ptr, 1 42 2 user_input_ptr ptr, 1 43 2 error_con char(30) varying, 1 44 2 trace_control_word fixed bin aligned; 1 45 1 46 1 47 /* INTERNAL STATIC INITIALIZED VARIABLES THAT DEFINE THE 1 48*OFFSET OF EACH FIELD IN THE STATIC PORTION OF THE LINKAGE 1 49*SEGMENT. */ 1 50 1 51 dcl fixed_static_length fixed bin static options(constant) init(56); 1 52 dcl first_link_offset fixed bin static options(constant) init(64); 1 53 /*dcl stat_data_ptr_off fixed bin static options(constant) init(0); 1 54*/*dcl stat_control_ptr_off fixed bin static options(constant) init(2); 1 55*/*dcl stat_file_info_ptr_off fixed bin static options(constant) init(4); 1 56*/*dcl stat_call_cnt_off fixed bin static options(constant) init(6); 1 57*/*dcl stat_data_len_off fixed bin static options(constant) init(7); 1 58*/*dcl stat_entry_pt_ptr_off fixed bin static options(constant) init(8); 1 59*/*dcl stat_prog_id_len_off fixed bin static options(constant) init(10); 1 60*/*dcl stat_prog_id_off fixed bin static options(constant) init(11); 1 61*/*dcl stat_line_no_off fixed bin static options(constant) init(28); 1 62*/*dcl stat_fo_flag_off fixed bin static options(constant) init(30); 1 63*/*dcl stat_fo_disp_off fixed bin static options(constant) init(31); 1 64*/*dcl stat_main_prog_sw_off fixed bin static options(constant) init(32); 1 65*/*dcl stat_pr3_ptr_off fixed bin static options(constant) init(34); 1 66*/*dcl stat_pr5_ptr_off fixed bin static options(constant) init(36); 1 67*/*dcl stat_user_output_ptr_off fixed bin static options(constant) init(38); 1 68*/*dcl stat_error_output_ptr_off fixed bin static options(constant) init(40); 1 69*/*dcl stat_user_input_ptr_off fixed bin static options(constant) init(42); 1 70*/*dcl stat_error_con_off fixed bin static options(constant) init(44); 1 71*/*dcl stat_trace_control_word_off fixed bin static options(constant) init(53); 1 72*/**/ 1 73 1 74 /* END INCLUDE FILE ... cobol_fixed_static.incl.pl1 */ 1 75 274 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_control.incl.pl1 */ 2 3 /* Last modified May 5, 1977 by BC */ 2 4 2 5 dcl controlp ptr static init(null()); 2 6 dcl 1 control based(controlp) aligned, 2 7 2 sense_sw (8) fixed bin, 2 8 2 next_data_ptr ptr, /* not currently used - each program has own data segment for now */ 2 9 2 name char(65) aligned, /* name of the run-unit */ 2 10 2 flags bit(27) unaligned, 2 11 2 ind_mask bit(9) unaligned, 2 12 2 mpname char(65) varying aligned, /* name of the main program of the run-unit */ 2 13 2 fofl_handler_ptr ptr, /* a ptr to the entry pt of the cobol fixedoverflow handler cobol_fofl_handler_ */ 2 14 2 main_prog_ptr ptr, /* a ptr to the entry point of the main program - valid only if main_prog_sw^=0 */ 2 15 2 main_prog_sw fixed bin aligned, 2 16 2 sort_file_size float bin(27), 2 17 2 sort_dir_len fixed bin, 2 18 2 sort_dir char(168), 2 19 2 no_of_segs fixed bin, 2 20 2 statptr (0 refer(control.no_of_segs)) ptr; 2 21 2 22 /* END INCLUDE FILE ... cobol_control.incl.pl1 */ 2 23 275 3 1 3 2 /* BEGIN INCLUDE FILE ... fsb.incl.pl1 */ 3 3 /* Last modified APR 28, 1977 by GM */ 3 4 /* Last modified AUG 13, 1976 by GM */ 3 5 /* Last modified JULY 19, 1976 by GM */ 3 6 /* Last modified Oct 31, 1974 by ORN */ 3 7 3 8 dcl fsb_ptr ptr; 3 9 dcl 1 fsb based(fsb_ptr), /* the file state block */ 3 10 2 iocb_ptr ptr, /* set by open */ 3 11 2 open_mode fixed bin, 3 12 2 max_cra_size fixed bin, 3 13 2 relkeylen fixed bin, 3 14 2 relkey fixed bin, 3 15 2 keylen_sw fixed bin, 3 16 2 key char(256) aligned, 3 17 2 realign_struc unal, 3 18 3 open_close_name char(65) unal, 3 19 3 attach_flag bit(1) unal, 3 20 2 linage_counter char(8) aligned, 3 21 2 optional bit(2), 3 22 2 opened bit(1), /* file opened at least once */ 3 23 2 internal bit(1) unal, /* 0 if external, 1 if internal */ 3 24 2 lock bit(1) unal, /* 0=no lock, 1= lock reset by start of new run unit */ 3 25 2 page_size_reset fixed bin, /* if LINAGE is Data Name this value may be reset at EOP */ 3 26 2 page_size fixed bin, /* must be specified whenever linage present */ 3 27 2 footing_size fixed bin, /* default = page_size */ 3 28 2 top_size fixed bin, /* default = 0 */ 3 29 2 bottom_size fixed bin; /* default = 0 */ 3 30 3 31 /* END INCLUDE FILE ... fsb.incl.pl1 */ 3 32 276 4 1 /* BEGIN INCLUDE FILE ..... iocb.incl.pl1 ..... 13 Feb 1975, M. Asherman */ 4 2 /* Modified 11/29/82 by S. Krupp to add new entries and to change 4 3* version number to IOX2. */ 4 4 /* format: style2 */ 4 5 4 6 dcl 1 iocb aligned based, /* I/O control block. */ 4 7 2 version character (4) aligned, /* IOX2 */ 4 8 2 name char (32), /* I/O name of this block. */ 4 9 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 4 10 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 4 11 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 4 12 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 4 13 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 4 14 2 reserved bit (72), /* Reserved for future use. */ 4 15 2 detach_iocb entry (ptr, fixed (35)),/* detach_iocb(p,s) */ 4 16 2 open entry (ptr, fixed, bit (1) aligned, fixed (35)), 4 17 /* open(p,mode,not_used,s) */ 4 18 2 close entry (ptr, fixed (35)),/* close(p,s) */ 4 19 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 4 20 /* get_line(p,bufptr,buflen,actlen,s) */ 4 21 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 4 22 /* get_chars(p,bufptr,buflen,actlen,s) */ 4 23 2 put_chars entry (ptr, ptr, fixed (21), fixed (35)), 4 24 /* put_chars(p,bufptr,buflen,s) */ 4 25 2 modes entry (ptr, char (*), char (*), fixed (35)), 4 26 /* modes(p,newmode,oldmode,s) */ 4 27 2 position entry (ptr, fixed, fixed (21), fixed (35)), 4 28 /* position(p,u1,u2,s) */ 4 29 2 control entry (ptr, char (*), ptr, fixed (35)), 4 30 /* control(p,order,infptr,s) */ 4 31 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 4 32 /* read_record(p,bufptr,buflen,actlen,s) */ 4 33 2 write_record entry (ptr, ptr, fixed (21), fixed (35)), 4 34 /* write_record(p,bufptr,buflen,s) */ 4 35 2 rewrite_record entry (ptr, ptr, fixed (21), fixed (35)), 4 36 /* rewrite_record(p,bufptr,buflen,s) */ 4 37 2 delete_record entry (ptr, fixed (35)),/* delete_record(p,s) */ 4 38 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 4 39 /* seek_key(p,key,len,s) */ 4 40 2 read_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 4 41 /* read_key(p,key,len,s) */ 4 42 2 read_length entry (ptr, fixed (21), fixed (35)), 4 43 /* read_length(p,len,s) */ 4 44 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 4 45 /* open_file(p,mode,desc,not_used,s) */ 4 46 2 close_file entry (ptr, char (*), fixed bin (35)), 4 47 /* close_file(p,desc,s) */ 4 48 2 detach entry (ptr, char (*), fixed bin (35)); 4 49 /* detach(p,desc,s) */ 4 50 4 51 declare iox_$iocb_version_sentinel 4 52 character (4) aligned external static; 4 53 4 54 /* END INCLUDE FILE ..... iocb.incl.pl1 ..... */ 277 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_file_info.incl.pl1 */ 5 3 /* Last modified Oct 17, 1974 by ORN */ 5 4 5 5 dcl file_info_ptr ptr; 5 6 dcl 1 file_info based(file_info_ptr), 5 7 2 n fixed bin, 5 8 2 pt (1000) ptr; 5 9 5 10 /* END INCLUDE FILE ... cobol_file_info.incl.pl1 */ 5 11 278 279 end display_cobol_run_unit; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0837.3 display_cobol_run_unit.pl1 >spec>install>MR12.3-1048>display_cobol_run_unit.pl1 274 1 10/10/83 1730.8 cobol_fixed_static.incl.pl1 >ldd>include>cobol_fixed_static.incl.pl1 275 2 03/27/82 0439.3 cobol_control.incl.pl1 >ldd>include>cobol_control.incl.pl1 276 3 03/27/82 0439.3 cobol_fsb.incl.pl1 >ldd>include>cobol_fsb.incl.pl1 277 4 05/20/83 1846.4 iocb.incl.pl1 >ldd>include>iocb.incl.pl1 278 5 03/27/82 0439.7 cobol_file_info.incl.pl1 >ldd>include>cobol_file_info.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. acc 000114 automatic fixed bin(17,0) dcl 35 set ref 214* 215 acc_con 000030 internal static char(10) initial array packed unaligned dcl 41 set ref 215* acon 000120 automatic char(6) packed unaligned dcl 43 set ref 184* 186* 190* arg based char(16) packed unaligned dcl 50 ref 79 81 81 83 83 85 259 259 268 268 arglen 000105 automatic fixed bin(17,0) dcl 32 set ref 73* 81 81 83 83 85 259 259 268 268 argptr 000142 automatic pointer dcl 49 set ref 73* 79 81 81 83 83 85 259 259 268 268 asw 000115 automatic bit(1) packed unaligned dcl 37 set ref 68* 83* 112 127 131 140 164 168 call_cnt 6 based fixed bin(17,0) level 2 dcl 1-23 set ref 102 138 152 155* 160* 168 cobol_control_$get_pointer 000060 constant entry external dcl 63 ref 91 code 000107 automatic fixed bin(17,0) dcl 32 set ref 73* 74 255* com_err_ 000046 constant entry external dcl 55 ref 255 259 263 268 control based structure level 1 dcl 2-6 controlp 000040 internal static pointer initial dcl 2-5 set ref 91* 92 94 94 98 99 109 110 110 117* 125 126 230 count 000110 automatic fixed bin(17,0) dcl 34 set ref 97* 104* 104 106 109* 121 cu_$arg_count 000042 constant entry external dcl 53 ref 70 cu_$arg_ptr 000044 constant entry external dcl 54 ref 73 data_len 7 based fixed bin(17,0) level 2 dcl 1-23 set ref 142* 155* data_ptr based pointer level 2 dcl 1-23 set ref 142* 155* dcon 000122 automatic char(6) packed unaligned dcl 43 set ref 187* 189* 190* eicon 000124 automatic char(8) packed unaligned dcl 44 set ref 198* 205* 208* 215* entry_pt_ptr 10 based pointer level 2 dcl 1-23 set ref 142* 155* error_table_$bad_arg 000056 external static fixed bin(35,0) dcl 61 set ref 268* error_table_$badopt 000054 external static fixed bin(35,0) dcl 60 set ref 259* file_info based structure level 1 unaligned dcl 5-6 file_info_ptr 000150 automatic pointer dcl 5-5 in procedure "dcr" set ref 175* 177 179 192 file_info_ptr 4 based pointer level 2 in structure "stat" dcl 1-23 in procedure "dcr" set ref 155* 172 175 fname 000126 automatic char(32) packed unaligned dcl 45 set ref 202* 206* 208* 215* fsb based structure level 1 unaligned dcl 3-9 fsb_ptr 000146 automatic pointer dcl 3-8 set ref 179* 180 180 192* 193 193 196 199 202 206 208 208* 208 212 213 214 215* 215 fsw 000117 automatic bit(1) packed unaligned dcl 37 set ref 68* 85* 162 i 000100 automatic fixed bin(17,0) dcl 32 set ref 71* 73* 98* 99* 125* 126 127* 229* 230 237 237* icount 000111 automatic fixed bin(17,0) dcl 34 set ref 97* 100* 100 102* 102 114 117* internal 132(03) based bit(1) level 2 packed packed unaligned dcl 3-9 ref 196 ioa_ 000050 constant entry external dcl 56 ref 109 110 117 120 133 134 142 146 155 160 164 168 172 190 208 215 224 227 248 250 ioa_$nnl 000052 constant entry external dcl 57 ref 127 234 239 243 245 iocb based structure level 1 dcl 4-6 iocb_ptr based pointer level 2 dcl 3-9 ref 180 193 199 202 206 j 000101 automatic fixed bin(17,0) dcl 32 set ref 177* 178 187 190* 191 237* k 000102 automatic fixed bin(17,0) dcl 32 set ref 176* 180* 180 184 190* 228* 232 241* 245 248 len 000106 automatic fixed bin(17,0) dcl 32 set ref 199* 200 200* 202 lsw 000116 automatic bit(1) packed unaligned dcl 37 set ref 68* 81* 134 142 150 224 mode 000112 automatic fixed bin(17,0) dcl 35 set ref 212* 215 mode_con 000010 internal static char(6) initial array packed unaligned dcl 39 set ref 215* mpname 34 based varying char(65) level 2 dcl 2-6 set ref 94 110 110* n 000103 automatic fixed bin(17,0) dcl 32 in procedure "dcr" set ref 178* 179* 191* 192* n based fixed bin(17,0) level 2 in structure "file_info" dcl 5-6 in procedure "dcr" ref 177 name 1 based char(32) level 2 in structure "iocb" dcl 4-6 in procedure "dcr" ref 199 202 206 name 12 based char(65) level 2 in structure "control" dcl 2-6 in procedure "dcr" set ref 109* nargs 000104 automatic fixed bin(17,0) dcl 32 set ref 70* 71 71 no_of_segs 137 based fixed bin(17,0) level 2 dcl 2-6 ref 94 98 125 open_close_name 107 based char(65) level 3 packed packed unaligned dcl 3-9 set ref 208* 215* open_mode 2 based fixed bin(17,0) level 2 dcl 3-9 ref 208 212 213 214 org 000113 automatic fixed bin(17,0) dcl 35 set ref 213* 215 org_con 000016 internal static char(10) initial array packed unaligned dcl 40 set ref 215* prog_id 13 based char(65) level 2 dcl 1-23 ref 142 142 146 146 155 155 160 160 prog_id_len 12 based fixed bin(17,0) level 2 dcl 1-23 ref 142 142 146 146 155 155 160 160 programs 000136 automatic char(8) packed unaligned dcl 46 set ref 106* 108* 109* 114* 116* 117* pt 2 based pointer array level 2 dcl 5-6 ref 179 192 realign_struc 107 based structure level 2 packed packed unaligned dcl 3-9 sense_sw based fixed bin(17,0) array level 2 dcl 2-6 ref 230 stat based structure level 1 dcl 1-23 stat_ptr 000144 automatic pointer dcl 1-22 set ref 99* 100 102 126* 129 138 142 142 142 142 142 142 142 146 146 146 146 152 155 155 155 155 155 155 155 155 155 160 160 160 160 160 164 168 172 175 224 statptr 140 based pointer array level 2 dcl 2-6 ref 99 126 times 000140 automatic char(5) packed unaligned dcl 47 set ref 152* 154* 155* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. first_link_offset internal static fixed bin(17,0) initial dcl 1-52 fixed_static_length internal static fixed bin(17,0) initial dcl 1-51 get_pdir_ 000000 constant entry external dcl 52 hcs_$fs_get_seg_ptr 000000 constant entry external dcl 58 iox_$iocb_version_sentinel external static char(4) dcl 4-51 NAMES DECLARED BY EXPLICIT CONTEXT. bad_arg_error 002174 constant label dcl 268 ref 79 dcr 000332 constant entry external dcl 28 display_cobol_run_unit 000341 constant entry external dcl 28 invalid_arg_error 002110 constant label dcl 259 ref 85 multics_error 002067 constant label dcl 255 set ref 74 no_run_error 002144 constant label dcl 263 ref 92 94 start 000346 constant label dcl 68 NAMES DECLARED BY CONTEXT OR IMPLICATION. divide builtin function ref 177 fixed builtin function ref 212 213 214 index builtin function ref 199 null builtin function ref 92 100 129 164 172 180 180 193 193 224 substr builtin function ref 79 81 81 83 83 85 142 142 146 146 155 155 160 160 202 212 213 214 259 259 268 268 unspec builtin function ref 212 213 214 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2360 2442 2241 2370 Length 2752 2241 62 274 116 32 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dcr 206 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 mode_con dcr 000016 org_con dcr 000030 acc_con dcr 000040 controlp dcr STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dcr 000100 i dcr 000101 j dcr 000102 k dcr 000103 n dcr 000104 nargs dcr 000105 arglen dcr 000106 len dcr 000107 code dcr 000110 count dcr 000111 icount dcr 000112 mode dcr 000113 org dcr 000114 acc dcr 000115 asw dcr 000116 lsw dcr 000117 fsw dcr 000120 acon dcr 000122 dcon dcr 000124 eicon dcr 000126 fname dcr 000136 programs dcr 000140 times dcr 000142 argptr dcr 000144 stat_ptr dcr 000146 fsb_ptr dcr 000150 file_info_ptr dcr THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_control_$get_pointer com_err_ cu_$arg_count cu_$arg_ptr ioa_ ioa_$nnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badopt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000331 68 000346 70 000351 71 000357 73 000367 74 000404 79 000406 81 000413 83 000433 85 000452 88 000462 91 000464 92 000473 94 000500 97 000511 98 000513 99 000521 100 000526 102 000534 104 000541 105 000542 106 000544 108 000552 109 000554 110 000605 112 000634 114 000636 116 000644 117 000646 118 000676 120 000677 121 000710 125 000712 126 000723 127 000730 129 000750 131 000754 133 000756 134 000772 137 001005 138 001006 140 001012 142 001014 146 001061 147 001112 148 001113 150 001114 152 001116 154 001123 155 001126 159 001202 160 001204 161 001236 162 001237 164 001241 167 001266 168 001267 171 001314 172 001315 175 001341 176 001343 177 001344 178 001347 179 001355 180 001361 183 001372 184 001374 186 001402 187 001405 189 001413 190 001416 191 001450 192 001457 193 001463 196 001473 198 001476 199 001500 200 001512 202 001515 203 001520 205 001521 206 001523 208 001527 212 001566 213 001572 214 001576 215 001601 221 001664 224 001666 226 001705 227 001707 228 001720 229 001721 230 001727 232 001733 234 001735 237 001750 239 001763 240 001776 241 002000 243 002002 244 002015 245 002016 247 002032 248 002034 250 002053 251 002066 255 002067 257 002107 259 002110 261 002142 263 002144 265 002173 268 002174 270 002227 ----------------------------------------------------------- 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