COMPILATION LISTING OF SEGMENT com_err_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1008.2 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* format: style4 */ 14 com_err_: 15 procedure options (variable); 16 17 /* com_err_ formats error messages and signals the condition "command_error". 18* Its calling sequence is of the form: call com_err_(code, callername, ioa_control, arg1, arg2,...);. 19* If code > 0, the corresponding error_table_ message is included. Callername is the name of the 20* calling procedure and is inserted with a colon at the beginning of the error message. 21* It may be either varying or fixed length; if it is null, the colon is omitted. 22* The rest of the arguments are optional; however, if arg1, etc. are present, ioa_control 23* must also be present. ioa_control is a regular ioa_ control string and the argi are the 24* format arguments to ioa_. If print_sw = "1"b after signalling "command_error", the 25* error message is printed. 26* Several other entry points are included in this procedure. The active_fnc_err_ 27* entry is similar to com_err_ except that the condition "active_function_error" is 28* signalled. The suppress_name entry is identical to com_err_ except that the 29* callername is omitted from the error message. 30* There is an entry point for convert_status_code_, which simply looks up the code and 31* returns the error_table_ message. 32**/ 33 /* initially coded by M Weaver June 1969 */ 34 /* recoded in PL/I with several facilities added by M Weaver 2 June 1970 */ 35 /* major surgery by J. Stern on 9/3/71 */ 36 /* minor bug fixes by M. Weaver 3 November 1971 */ 37 /* completely changed error code format and fixed a bug, D. Reed 6/21/72 */ 38 /* fixed bug in argument passing to command_error signalled procedure, D. Reed 7/20/71 */ 39 /* changed check_fs_errcode_ entry to convert_status_code_, R. Mullen 12/13/72 */ 40 /* modified to pass info structures with standard headers, M. Weaver 8/73 */ 41 /* Entry point active_fnc_err_$af_suppress_name added by S. Herbst 8/25/78 */ 42 /* Modified 781203 by PG to accept any computational data type for arg 1. */ 43 /* Modified: 8 August 1980 by G. Palter to recognize error_table_$active_function as a special case and signal 44* active_function_error rather than command_error */ 45 /* Modified: June 1981 to use new include file and set quiet_restart, B. Margulies */ 46 /* Modified: February 1982 to establish any_other handler while reading error table, E. N. Kittlitz */ 47 /* Modified: May 1984 for calling within bce, Keith Loepere */ 48 49 /* Automatic */ 50 51 dcl save_code fixed bin (35); 52 dcl (active_fnc_sw, suppress_name_sw, convert_sw, packed) bit (1) aligned; 53 dcl (ndims, scale, len, lng, type, bi, hi, lo) fixed bin (17); 54 dcl (code, ec) fixed bin (35); 55 dcl (q, arg_list_ptr, tp) ptr; 56 dcl arg_ptr ptr; 57 dcl prec fixed bin; 58 dcl buffer char (256) aligned, 59 retstring char (256); 60 1 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 1 2 /* format: style2 */ 1 3 1 4 declare condition_info_header_ptr 1 5 pointer; 1 6 declare 1 condition_info_header 1 7 aligned based (condition_info_header_ptr), 1 8 2 length fixed bin, /* length in words of this structure */ 1 9 2 version fixed bin, /* version number of this structure */ 1 10 2 action_flags aligned, /* tell handler how to proceed */ 1 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 1 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 1 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 1 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 1 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 1 16 3 pad bit (32) unaligned, 1 17 2 info_string char (256) varying, /* may contain printable message */ 1 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 1 19 1 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 61 2 1 /* BEGIN INCLUDE FILE com_af_error_info.incl.pl1 April 81 BIM */ 2 2 /* format: style2 */ 2 3 2 4 /* info structures for command error and active function error */ 2 5 /* The include file condition_info_header must be included to use this file */ 2 6 2 7 declare com_af_error_info_ptr pointer; 2 8 declare 1 com_af_error_info aligned based (com_af_error_info_ptr), 2 9 2 header aligned like condition_info_header, 2 10 2 name_ptr ptr, 2 11 2 name_lth fixed bin, 2 12 2 errmess_ptr ptr, 2 13 2 errmess_lth fixed bin (21), 2 14 2 max_errmess_lth fixed bin (21), 2 15 2 print_sw bit (1); /* set this to inform com_err_ that the msg has been printed */ 2 16 2 17 declare com_af_error_info_version_3 internal static options (constant) init (3); 2 18 2 19 /* END INCLUDE FILE com_af_error_info */ 62 3 1 /* */ 3 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 3 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 3 4 /* Modified 07/07/76 by Morris for fault register data */ 3 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 3 6 /* Modified '82 to make values constant */ 3 7 3 8 /* words 0-15 pointer registers */ 3 9 3 10 dcl mcp ptr; 3 11 3 12 dcl 1 mc based (mcp) aligned, 3 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 3 14 (2 regs, /* registers */ 3 15 3 x (0:7) bit (18), /* index registers */ 3 16 3 a bit (36), /* accumulator */ 3 17 3 q bit (36), /* q-register */ 3 18 3 e bit (8), /* exponent */ 3 19 3 pad1 bit (28), 3 20 3 t bit (27), /* timer register */ 3 21 3 pad2 bit (6), 3 22 3 ralr bit (3), /* ring alarm register */ 3 23 3 24 2 scu (0:7) bit (36), 3 25 3 26 2 mask bit (72), /* mem controller mask at time of fault */ 3 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 3 28 2 errcode fixed bin (35), /* fault handler's error code */ 3 29 2 fim_temp, 3 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 3 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 3 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 3 33 2 fault_reg bit (36), /* fault register */ 3 34 2 pad2 bit (1), 3 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 3 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 3 37 2 fault_time bit (54), /* time of fault */ 3 38 3 39 2 eis_info (0:7) bit (36)) unaligned; 3 40 3 41 3 42 dcl (apx fixed bin init (0), 3 43 abx fixed bin init (1), 3 44 bpx fixed bin init (2), 3 45 bbx fixed bin init (3), 3 46 lpx fixed bin init (4), 3 47 lbx fixed bin init (5), 3 48 spx fixed bin init (6), 3 49 sbx fixed bin init (7)) internal static options (constant); 3 50 3 51 3 52 3 53 3 54 dcl scup ptr; 3 55 3 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 3 57 3 58 3 59 /* WORD (0) */ 3 60 3 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 3 62 3 prr bit (3), /* procedure ring register */ 3 63 3 psr bit (15), /* procedure segment register */ 3 64 3 p bit (1), /* procedure privileged bit */ 3 65 3 66 2 apu, /* APPENDING UNIT STATUS */ 3 67 3 xsf bit (1), /* ext seg flag - IT modification */ 3 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 3 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 3 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 3 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 3 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 3 73 3 dsptw bit (1), /* Fetch of DSPTW */ 3 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 3 75 3 sdwp bit (1), /* Fetch of SDW paged */ 3 76 3 ptw bit (1), /* Fetch of PTW */ 3 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 3 78 3 fap bit (1), /* Fetch of final address paged */ 3 79 3 fanp bit (1), /* Fetch of final address non-paged */ 3 80 3 fabs bit (1), /* Fetch of final address absolute */ 3 81 3 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 3 83 3 84 3 85 /* WORD (1) */ 3 86 3 87 2 fd, /* FAULT DATA */ 3 88 3 iro bit (1), /* illegal ring order */ 3 89 3 oeb bit (1), /* out of execute bracket */ 3 90 3 e_off bit (1), /* no execute */ 3 91 3 orb bit (1), /* out of read bracket */ 3 92 3 r_off bit (1), /* no read */ 3 93 3 owb bit (1), /* out of write bracket */ 3 94 3 w_off bit (1), /* no write */ 3 95 3 no_ga bit (1), /* not a gate */ 3 96 3 ocb bit (1), /* out of call bracket */ 3 97 3 ocall bit (1), /* outward call */ 3 98 3 boc bit (1), /* bad outward call */ 3 99 3 inret bit (1), /* inward return */ 3 100 3 crt bit (1), /* cross ring transfer */ 3 101 3 ralr bit (1), /* ring alarm register */ 3 102 3 am_er bit (1), /* associative memory fault */ 3 103 3 oosb bit (1), /* out of segment bounds */ 3 104 3 paru bit (1), /* processor parity upper */ 3 105 3 parl bit (1), /* processor parity lower */ 3 106 3 onc_1 bit (1), /* op not complete type 1 */ 3 107 3 onc_2 bit (1), /* op not complete type 2 */ 3 108 3 109 2 port_stat, /* PORT STATUS */ 3 110 3 ial bit (4), /* illegal action lines */ 3 111 3 iac bit (3), /* illegal action channel */ 3 112 3 con_chan bit (3), /* connect channel */ 3 113 3 114 2 fi_num bit (5), /* (fault/interrupt) number */ 3 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 3 116 3 117 3 118 /* WORD (2) */ 3 119 3 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 3 121 3 trr bit (3), /* temporary ring register */ 3 122 3 tsr bit (15), /* temporary segment register */ 3 123 3 124 2 pad2 bit (9), 3 125 3 126 2 cpu_no bit (3), /* CPU number */ 3 127 3 128 2 delta bit (6), /* tally modification DELTA */ 3 129 3 130 3 131 /* WORD (3) */ 3 132 3 133 2 word3 bit (18), 3 134 3 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 3 136 3 tsna, /* Word 1 status */ 3 137 4 prn bit (3), /* Word 1 PR number */ 3 138 4 prv bit (1), /* Word 1 PR valid bit */ 3 139 3 tsnb, /* Word 2 status */ 3 140 4 prn bit (3), /* Word 2 PR number */ 3 141 4 prv bit (1), /* Word 2 PR valid bit */ 3 142 3 tsnc, /* Word 3 status */ 3 143 4 prn bit (3), /* Word 3 PR number */ 3 144 4 prv bit (1), /* Word 3 PR valid bit */ 3 145 3 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 3 147 3 148 3 149 /* WORD (4) */ 3 150 3 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 3 152 3 153 2 ir, /* INDICATOR REGISTERS */ 3 154 3 zero bit (1), /* zero indicator */ 3 155 3 neg bit (1), /* negative indicator */ 3 156 3 carry bit (1), /* carryry indicator */ 3 157 3 ovfl bit (1), /* overflow indicator */ 3 158 3 eovf bit (1), /* eponent overflow */ 3 159 3 eufl bit (1), /* exponent underflow */ 3 160 3 oflm bit (1), /* overflow mask */ 3 161 3 tro bit (1), /* tally runout */ 3 162 3 par bit (1), /* parity error */ 3 163 3 parm bit (1), /* parity mask */ 3 164 3 bm bit (1), /* ^bar mode */ 3 165 3 tru bit (1), /* truncation mode */ 3 166 3 mif bit (1), /* multi-word instruction mode */ 3 167 3 abs bit (1), /* absolute mode */ 3 168 3 hex bit (1), /* hexadecimal exponent mode */ 3 169 3 pad bit (3), 3 170 3 171 3 172 /* WORD (5) */ 3 173 3 174 2 ca bit (18), /* COMPUTED ADDRESS */ 3 175 3 176 2 cu, /* CONTROL UNIT STATUS */ 3 177 3 rf bit (1), /* on first cycle of repeat instr */ 3 178 3 rpt bit (1), /* repeat instruction */ 3 179 3 rd bit (1), /* repeat double instruction */ 3 180 3 rl bit (1), /* repeat link instruciton */ 3 181 3 pot bit (1), /* IT modification */ 3 182 3 pon bit (1), /* return type instruction */ 3 183 3 xde bit (1), /* XDE from Even location */ 3 184 3 xdo bit (1), /* XDE from Odd location */ 3 185 3 poa bit (1), /* operation preparation */ 3 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 3 187 3 its bit (1), /* ITS modification */ 3 188 3 if bit (1), /* fault occured during instruction fetch */ 3 189 3 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 3 191 3 192 3 193 /* WORDS (6,7) */ 3 194 3 195 2 even_inst bit (36), /* even instruction of faulting pair */ 3 196 3 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 3 198 3 199 3 200 3 201 3 202 3 203 3 204 /* ALTERNATE SCU DECLARATION */ 3 205 3 206 3 207 dcl 1 scux based (scup) aligned, 3 208 3 209 (2 pad0 bit (36), 3 210 3 211 2 fd, /* GROUP II FAULT DATA */ 3 212 3 isn bit (1), /* illegal segment number */ 3 213 3 ioc bit (1), /* illegal op code */ 3 214 3 ia_am bit (1), /* illegal address - modifier */ 3 215 3 isp bit (1), /* illegal slave procedure */ 3 216 3 ipr bit (1), /* illegal procedure */ 3 217 3 nea bit (1), /* non existent address */ 3 218 3 oobb bit (1), /* out of bounds */ 3 219 3 pad bit (29), 3 220 3 221 2 pad2 bit (36), 3 222 3 223 2 pad3a bit (18), 3 224 3 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 3 226 3 prn bit (3), /* PR number */ 3 227 3 prv bit (1), /* PR valid bit */ 3 228 3 229 2 pad3b bit (6)) unaligned, 3 230 3 231 2 pad45 (0:1) bit (36), 3 232 3 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 3 234 3 235 3 236 3 237 /* END INCLUDE FILE mc.incl.pl1 */ 63 64 65 dcl 1 error_info aligned like com_af_error_info; 66 67 /* based */ 68 69 dcl strlng bit (9) aligned based (tp); /* used to reference long message length */ 70 dcl char8 char (8) aligned based; /* used to reference short message */ 71 dcl num fixed bin (17) based; 72 dcl based_code fixed bin (35) based; 73 dcl callername char (error_info.name_lth) based (error_info.name_ptr), 74 work_string char (lng) aligned based; 75 76 dcl 1 code_format aligned based (addr (code)), 77 2 segno bit (18) unal, 78 2 offset bit (18) unal; 79 80 /* builtins */ 81 82 dcl (addr, addrel, baseno, baseptr, bin, binary, bit, fixed, length, null, rtrim, size, string, substr, ptr) builtin; 83 84 dcl request_abort_ condition; /* for aborting bootload active functions */ 85 86 /* entries */ 87 88 dcl 89 bce_error$com_err entry options (variable), 90 condition_ entry (char (*), entry), 91 reversion_ entry (char (*)), 92 cu_$arg_list_ptr ext entry (ptr), 93 cu_$arg_ptr ext entry (fixed bin, ptr, fixed bin, fixed bin (35)), 94 cu_$arg_count ext entry returns (fixed bin), 95 cu_$generate_call entry (entry, ptr), 96 decode_descriptor_ ext entry (ptr, fixed bin, fixed bin, bit (1) aligned, fixed bin, fixed bin, fixed bin), 97 hcs_$high_low_seg_count entry (fixed bin, fixed bin), 98 ioa_$rsnnl ext entry options (variable), 99 ioa_$general_rs ext entry (ptr, fixed bin, fixed bin, char (*), fixed bin, bit (1) aligned, bit (1) aligned), 100 iox_$put_chars entry (ptr, ptr, fixed bin (21), fixed bin (35)), 101 signal_ ext entry (char (*), ptr, ptr, ptr); 102 103 /* external static */ 104 105 dcl error_table_$ ext fixed bin aligned; 106 dcl error_table_$active_function fixed binary (35) external; 107 dcl iox_$error_output ptr external static; 108 dcl sys_info$service_system bit (1) aligned external static; 109 110 /* internal static */ 111 112 dcl nl char (1) aligned static init (" 113 "); 114 115 /* include files */ 116 4 1 /* BEGIN INCLUDE FILE ... desc_dcls.incl.pl1 */ 4 2 4 3 /* This include segment contains declarations for use with assign_ */ 4 4 4 5 dcl intype fixed bin (17), 4 6 outtype fixed bin (17); 4 7 4 8 dcl inscale_prec fixed bin (35), 4 9 outscale_prec fixed bin (35); 4 10 4 11 dcl 1 info based (addr (inscale_prec)) aligned, 4 12 2 inscale fixed bin (17) unal, 4 13 2 inprec fixed bin (17) unal; 4 14 4 15 dcl 1 outfo based (addr (outscale_prec)) aligned, 4 16 2 outscale fixed bin (17) unal, 4 17 2 outprec fixed bin (17) unal; 4 18 4 19 dcl inclength fixed bin(31) aligned based(addr(inscale_prec)); 4 20 dcl outclength fixed bin(31) aligned based(addr(outscale_prec)); 4 21 4 22 dcl char_to_numeric_ entry (ptr, fixed bin (17), fixed bin (35), ptr, fixed bin (17)), 4 23 assign_ entry (ptr, fixed bin (17), fixed bin (35), ptr, fixed bin (17), fixed bin (35)), 4 24 assign_round_ entry (ptr, fixed bin (17), fixed bin (35), ptr, fixed bin (17), fixed bin (35)), 4 25 assign_truncate_ entry (ptr, fixed bin (17), fixed bin (35), ptr, fixed bin (17), fixed bin (35)); 4 26 4 27 /* END INCLUDE FILE ... desc_dcls.incl.pl1 */ 117 5 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 5 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 5 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 5 8* Objects of this type are PASCAL string types. 5 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 5 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 5 11* Added the new C types. 5 12* END HISTORY COMMENTS */ 5 13 5 14 /* This include file defines mnemonic names for the Multics 5 15* standard descriptor types, using both pl1 and cobol terminology. 5 16* PG 780613 5 17* JRD 790530 5 18* JRD 791016 5 19* MBW 810731 5 20* TGO 830614 Add hex types. 5 21* Modified June 83 JMAthane to add PASCAL data types 5 22* TGO 840120 Add float dec extended and generic, float binary generic 5 23**/ 5 24 5 25 dcl (real_fix_bin_1_dtype init (1), 5 26 real_fix_bin_2_dtype init (2), 5 27 real_flt_bin_1_dtype init (3), 5 28 real_flt_bin_2_dtype init (4), 5 29 cplx_fix_bin_1_dtype init (5), 5 30 cplx_fix_bin_2_dtype init (6), 5 31 cplx_flt_bin_1_dtype init (7), 5 32 cplx_flt_bin_2_dtype init (8), 5 33 real_fix_dec_9bit_ls_dtype init (9), 5 34 real_flt_dec_9bit_dtype init (10), 5 35 cplx_fix_dec_9bit_ls_dtype init (11), 5 36 cplx_flt_dec_9bit_dtype init (12), 5 37 pointer_dtype init (13), 5 38 offset_dtype init (14), 5 39 label_dtype init (15), 5 40 entry_dtype init (16), 5 41 structure_dtype init (17), 5 42 area_dtype init (18), 5 43 bit_dtype init (19), 5 44 varying_bit_dtype init (20), 5 45 char_dtype init (21), 5 46 varying_char_dtype init (22), 5 47 file_dtype init (23), 5 48 real_fix_dec_9bit_ls_overp_dtype init (29), 5 49 real_fix_dec_9bit_ts_overp_dtype init (30), 5 50 real_fix_bin_1_uns_dtype init (33), 5 51 real_fix_bin_2_uns_dtype init (34), 5 52 real_fix_dec_9bit_uns_dtype init (35), 5 53 real_fix_dec_9bit_ts_dtype init (36), 5 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 5 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 5 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 5 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 5 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 5 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 5 60 real_flt_dec_4bit_bytealigned_dtype init (44), 5 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 5 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 5 63 real_flt_hex_1_dtype init (47), 5 64 real_flt_hex_2_dtype init (48), 5 65 cplx_flt_hex_1_dtype init (49), 5 66 cplx_flt_hex_2_dtype init (50), 5 67 c_typeref_dtype init (54), 5 68 c_enum_dtype init (55), 5 69 c_enum_const_dtype init (56), 5 70 c_union_dtype init (57), 5 71 algol68_straight_dtype init (59), 5 72 algol68_format_dtype init (60), 5 73 algol68_array_descriptor_dtype init (61), 5 74 algol68_union_dtype init (62), 5 75 5 76 cobol_comp_6_dtype init (1), 5 77 cobol_comp_7_dtype init (1), 5 78 cobol_display_ls_dtype init (9), 5 79 cobol_structure_dtype init (17), 5 80 cobol_char_string_dtype init (21), 5 81 cobol_display_ls_overp_dtype init (29), 5 82 cobol_display_ts_overp_dtype init (30), 5 83 cobol_display_uns_dtype init (35), 5 84 cobol_display_ts_dtype init (36), 5 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 5 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 5 87 cobol_comp_5_uns_dtype init (40), 5 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 5 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 5 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 5 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 5 92 cplx_flt_dec_generic_dtype init (84), 5 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 5 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 5 95 5 96 dcl (ft_integer_dtype init (1), 5 97 ft_real_dtype init (3), 5 98 ft_double_dtype init (4), 5 99 ft_complex_dtype init (7), 5 100 ft_complex_double_dtype init (8), 5 101 ft_external_dtype init (16), 5 102 ft_logical_dtype init (19), 5 103 ft_char_dtype init (21), 5 104 ft_hex_real_dtype init (47), 5 105 ft_hex_double_dtype init (48), 5 106 ft_hex_complex_dtype init (49), 5 107 ft_hex_complex_double_dtype init (50) 5 108 ) fixed bin internal static options (constant); 5 109 5 110 dcl (algol68_short_int_dtype init (1), 5 111 algol68_int_dtype init (1), 5 112 algol68_long_int_dtype init (2), 5 113 algol68_real_dtype init (3), 5 114 algol68_long_real_dtype init (4), 5 115 algol68_compl_dtype init (7), 5 116 algol68_long_compl_dtype init (8), 5 117 algol68_bits_dtype init (19), 5 118 algol68_bool_dtype init (19), 5 119 algol68_char_dtype init (21), 5 120 algol68_byte_dtype init (21), 5 121 algol68_struct_struct_char_dtype init (22), 5 122 algol68_struct_struct_bool_dtype init (20) 5 123 ) fixed bin internal static options (constant); 5 124 5 125 dcl (label_constant_runtime_dtype init (24), 5 126 int_entry_runtime_dtype init (25), 5 127 ext_entry_runtime_dtype init (26), 5 128 ext_procedure_runtime_dtype init (27), 5 129 picture_runtime_dtype init (63) 5 130 ) fixed bin internal static options (constant); 5 131 5 132 dcl (pascal_integer_dtype init (1), 5 133 pascal_real_dtype init (4), 5 134 pascal_label_dtype init (24), 5 135 pascal_internal_procedure_dtype init (25), 5 136 pascal_exportable_procedure_dtype init (26), 5 137 pascal_imported_procedure_dtype init (27), 5 138 pascal_typed_pointer_type_dtype init (64), 5 139 pascal_char_dtype init (65), 5 140 pascal_boolean_dtype init (66), 5 141 pascal_record_file_type_dtype init (67), 5 142 pascal_record_type_dtype init (68), 5 143 pascal_set_dtype init (69), 5 144 pascal_enumerated_type_dtype init (70), 5 145 pascal_enumerated_type_element_dtype init (71), 5 146 pascal_enumerated_type_instance_dtype init (72), 5 147 pascal_user_defined_type_dtype init (73), 5 148 pascal_user_defined_type_instance_dtype init (74), 5 149 pascal_text_file_dtype init (75), 5 150 pascal_procedure_type_dtype init (76), 5 151 pascal_variable_formal_parameter_dtype init (77), 5 152 pascal_value_formal_parameter_dtype init (78), 5 153 pascal_entry_formal_parameter_dtype init (79), 5 154 pascal_parameter_procedure_dtype init (80), 5 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 5 156 5 157 5 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 118 119 120 /* program */ 121 122 active_fnc_sw, 123 suppress_name_sw = "0"b; 124 go to join; 125 126 suppress_name: 127 entry options (variable); 128 129 active_fnc_sw = "0"b; 130 suppress_name_sw = "1"b; 131 go to join; 132 133 active_fnc_err_: 134 entry options (variable); 135 136 active_fnc_sw = "1"b; 137 suppress_name_sw = "0"b; 138 go to join; 139 140 af_suppress_name: 141 entry options (variable); 142 143 active_fnc_sw, suppress_name_sw = "1"b; 144 145 join: 146 call cu_$arg_list_ptr (arg_list_ptr); 147 148 if ^sys_info$service_system then do; /* let bootload routine do it */ 149 call cu_$generate_call (bce_error$com_err, arg_list_ptr); 150 if active_fnc_sw then signal request_abort_; 151 return; 152 end; 153 154 call cu_$arg_ptr (1, arg_ptr, (0), ec); 155 call decode_descriptor_ (arg_list_ptr, 1, type, packed, ndims, prec, scale); 156 157 if (type = real_fix_bin_1_dtype) & (packed = "0"b) 158 then code = arg_ptr -> based_code; 159 else do; 160 intype = 2 * type + bin (packed, 1); 161 162 if (type >= bit_dtype) & (type <= varying_char_dtype) 163 then inclength = prec; 164 else do; 165 info.inscale = scale; 166 info.inprec = prec; 167 end; 168 outtype = 2 * real_fix_bin_1_dtype; 169 outfo.outscale = 0; 170 outfo.outprec = 35; 171 call assign_ (addr (code), outtype, outscale_prec, arg_ptr, intype, inscale_prec); 172 end; 173 174 /* save status code because it will be clobbered by the statements that address the error table. */ 175 176 save_code = code; 177 178 /* get callername */ 179 180 call cu_$arg_ptr (2, error_info.name_ptr, error_info.name_lth, ec); 181 call decode_descriptor_ (arg_list_ptr, 2, type, packed, ndims, error_info.name_lth, scale); 182 if type = varying_char_dtype then /* varying string: use current length */ 183 error_info.name_lth = addrel (error_info.name_ptr, -1) -> num; 184 185 if suppress_name_sw then do; 186 bi = 1; 187 go to no_name; 188 end; 189 190 if error_info.name_lth ^= 0 then do; /* put caller name into buffer */ 191 buffer = rtrim (callername) || ": "; 192 bi = length (rtrim (buffer)) + 2; /* index of next character */ 193 if bi = 3 then bi = 1; /* caller name was blank */ 194 end; 195 else bi = 1; /* null callername */ 196 197 /* get system message */ 198 199 no_name: if code ^= 0 then do; /* get message from error_table_ */ 200 convert_sw = "0"b; /* this is not the convert_status_code_ entry point */ 201 go to find; /* get pointer to correct message */ 202 continue: bi = bi + lng - 1; 203 end; 204 205 /* get user message */ 206 207 if cu_$arg_count () > 2 then do; 208 if code ^= 0 then do; /* put a blank between system message and caller message */ 209 substr (buffer, bi, 1) = " "; /* append blank */ 210 bi = bi + 1; /* update length */ 211 end; 212 call ioa_$general_rs (arg_list_ptr, 3, 4, retstring, len, "0"b, "0"b); /* add new line later */ 213 do len = len by -1 to 1 while (substr (retstring, len, 1) = " "); /* Strip off trailing blanks */ 214 end; 215 if len ^= 0 216 then do; 217 substr (buffer, bi, len) = substr (retstring, 1, len); 218 bi = bi + len; 219 end; 220 else bi = bi - 1; /* Kill the space we just put in! */ 221 end; 222 223 substr (buffer, bi, 1) = nl; /* always add new-line */ 224 bi = bi + 1; /* for the last time... */ 225 226 /* fill in the rest of error_info structure */ 227 228 string (error_info.action_flags) = ""b; 229 error_info.length = size (error_info); 230 error_info.version = com_af_error_info_version_3; 231 error_info.status_code = save_code; /* the unclobbered code is passed to signal */ 232 error_info.action_flags.quiet_restart = "1"b; /* will be diddled below */ 233 error_info.errmess_ptr = addr (buffer); 234 error_info.errmess_lth = bi - 1; 235 error_info.max_errmess_lth = 256; 236 error_info.info_string = substr (buffer, 1, error_info.errmess_lth); 237 error_info.print_sw = "1"b; 238 239 /* signal the error condition */ 240 241 if (active_fnc_sw | (error_info.status_code = error_table_$active_function)) then do; 242 error_info.quiet_restart = "0"b; 243 error_info.action_flags.default_restart = "0"b; 244 call signal_ ("active_function_error", null, addr (error_info), null); 245 end; 246 else do; 247 error_info.action_flags.default_restart = "1"b; 248 call signal_ ("command_error", null, addr (error_info), null); 249 end; 250 251 if error_info.print_sw 252 then call iox_$put_chars (iox_$error_output, error_info.errmess_ptr, error_info.errmess_lth, ec); 253 254 return; 255 256 /* section to look up code in error_table_; "returns" pointer to message */ 257 check_fs_errcode_: /* this entry is obsolete name */ 258 convert_status_code_: entry (P_code, shortinfo, longinfo); 259 260 dcl P_code fixed bin (35), 261 shortinfo char (8) aligned, 262 longinfo char (100) aligned; 263 264 code, save_code = P_code; 265 if code = 0 then do; 266 shortinfo = ""; 267 longinfo = ""; 268 return; 269 end; 270 convert_sw = "1"b; 271 272 find: /* Figure out what sort of message to give back */ 273 call hcs_$high_low_seg_count (hi, lo); /* Have to call every time, since high-seg is dynamic */ 274 hi = hi + lo; /* Get highest valid segment number */ 275 if code_format.segno = "000111111111111111"b then /* 077777(8) segno means code comes from system error table */ 276 code_format.segno = bit (binary (baseno (addr (error_table_$)), 18, 0), 18); 277 else if bin (code_format.segno, 18) <= lo /* Don't want to access supervisor segs */ 278 then go to errdoc; 279 else if bin (code_format.segno, 18) > hi then go to errdoc; /* Similar for large values */ 280 else if code_format.segno & "111"b then go to errdoc; /* negative and large codes too */ 281 q = baseptr (code_format.segno); 282 tp = ptr (q, code_format.offset); /* get location of long string message */ 283 284 call condition_ ("any_other", any_other_handler); 285 286 lng = fixed (tp -> strlng, 9) + 1; 287 if convert_sw then 288 do; 289 shortinfo = addrel (tp, -2) -> char8; 290 longinfo = substr (tp -> work_string, 2); 291 return; 292 end; 293 else do; 294 substr (buffer, bi, lng) = substr (tp -> work_string, 2); 295 call reversion_ ("any_other"); 296 go to continue; 297 end; 298 299 errdoc: /* couldn't find code in error_table_ */ 300 call reversion_ ("any_other"); 301 code = save_code; /* may have been diddled */ 302 if code < 0 /* I/O code? */ 303 then call ioa_$rsnnl (" I/O status ^w", retstring, lng, code); 304 else call ioa_$rsnnl (" Code ^d.", retstring, lng, code); 305 /* Insert a blank in front so that retstring can be referenced the same as an acc string */ 306 if convert_sw then do; /* convert_status_code_ case */ 307 if code < 0 308 then shortinfo = "iostatus"; /* Return different short message */ 309 else shortinfo = "xxxxxxxx"; 310 longinfo = substr (retstring, 2); 311 return; 312 end; 313 else do; /* com_err_ case */ 314 tp = addr (retstring); 315 substr (buffer, bi, lng) = substr (tp -> work_string, 2); 316 go to continue; /* continue processing */ 317 end; 318 319 unpack_system_code_: entry (packed_code, bin_code); 320 321 dcl packed_code bit (*) unaligned, 322 bin_code fixed bin (35) aligned; 323 324 if packed_code = "0"b then bin_code = 0; /* if zero, then no error */ 325 else bin_code = binary (packed_code, 35) + 111111111111111000000000000000000b; 326 /* add in the magic constant */ 327 return; 328 329 330 /* condition hander. This handler is ONLY active when convert_status_code_ 331* or com_err_ is attempting to reference the text of the error table. 332* If it is probable that the fault occured as a result of such a reference, 333* we punt picking up text, and will instead generate a "Code xxx" message. */ 334 335 any_other_handler: proc (mc_ptr, cname, coptr, infoptr, continue); 336 337 dcl cname char (*); 338 dcl mc_ptr ptr; 339 dcl coptr ptr; 340 dcl infoptr ptr; 341 dcl continue bit (1); 342 343 mcp = mc_ptr; 344 scup = addr (mc.scu); 345 if cname = "cleanup" then return; /* already squeaky */ 346 if binary (baseno (tp), 18) = binary (scu.tsr, 15) then /* talking about the right segment? */ 347 if cname = "out_of_bounds" | /* is it a reasonable fault? */ 348 cname = "seg_fault_error" | 349 cname = "not_in_read_bracket" | 350 cname = "no_read_permission" then 351 go to errdoc; /* yep - bogus error code */ 352 continue = "1"b; /* not for us */ 353 end; 354 355 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0803.9 com_err_.pl1 >spec>install>1110>com_err_.pl1 61 1 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 62 2 06/22/81 1815.3 com_af_error_info.incl.pl1 >ldd>include>com_af_error_info.incl.pl1 63 3 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 117 4 11/30/78 1227.5 desc_dcls.incl.pl1 >ldd>include>desc_dcls.incl.pl1 118 5 10/26/88 1255.5 std_descriptor_types.incl.pl1 >ldd>include>std_descriptor_types.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. P_code parameter fixed bin(35,0) dcl 260 ref 257 257 264 action_flags 2 000336 automatic structure level 3 dcl 65 set ref 228* active_fnc_sw 000101 automatic bit(1) dcl 52 set ref 122* 129* 136* 143* 150 241 addr builtin function dcl 82 ref 162 165 166 169 170 171 171 233 244 244 248 248 275 275 275 277 279 280 281 282 314 344 addrel builtin function dcl 82 ref 182 289 arg_list_ptr 000122 automatic pointer dcl 55 set ref 145* 149* 155* 181* 212* arg_ptr 000126 automatic pointer dcl 56 set ref 154* 157 171* assign_ 000052 constant entry external dcl 4-22 ref 171 based_code based fixed bin(35,0) dcl 72 ref 157 baseno builtin function dcl 82 ref 275 346 baseptr builtin function dcl 82 ref 281 bce_error$com_err 000010 constant entry external dcl 88 ref 149 149 bi 000112 automatic fixed bin(17,0) dcl 53 set ref 186* 192* 193 193* 195* 202* 202 209 210* 210 217 218* 218 220* 220 223 224* 224 234 294 315 bin builtin function dcl 82 ref 160 277 279 bin_code parameter fixed bin(35,0) dcl 321 set ref 319 324* 325* binary builtin function dcl 82 ref 275 325 346 346 bit builtin function dcl 82 ref 275 bit_dtype constant fixed bin(17,0) initial dcl 5-25 ref 162 buffer 000131 automatic char(256) dcl 58 set ref 191* 192 209* 217* 223* 233 236 294* 315* callername based char packed unaligned dcl 73 ref 191 char8 based char(8) dcl 70 ref 289 cname parameter char packed unaligned dcl 337 ref 335 345 346 346 346 346 code 000115 automatic fixed bin(35,0) dcl 54 set ref 157* 171 171 176 199 208 264* 265 275 275 277 279 280 281 282 301* 302 302* 304* 307 code_format based structure level 1 dcl 76 com_af_error_info based structure level 1 dcl 2-8 com_af_error_info_version_3 constant fixed bin(17,0) initial dcl 2-17 ref 230 condition_ 000012 constant entry external dcl 88 ref 284 condition_info_header based structure level 1 dcl 1-6 continue parameter bit(1) packed unaligned dcl 341 set ref 335 352* convert_sw 000103 automatic bit(1) dcl 52 set ref 200* 270* 287 306 coptr parameter pointer dcl 339 ref 335 cu_$arg_count 000022 constant entry external dcl 88 ref 207 cu_$arg_list_ptr 000016 constant entry external dcl 88 ref 145 cu_$arg_ptr 000020 constant entry external dcl 88 ref 154 180 cu_$generate_call 000024 constant entry external dcl 88 ref 149 decode_descriptor_ 000026 constant entry external dcl 88 ref 155 181 default_restart 2(01) 000336 automatic bit(1) level 4 packed packed unaligned dcl 65 set ref 243* 247* ec 000116 automatic fixed bin(35,0) dcl 54 set ref 154* 180* 251* errmess_lth 114 000336 automatic fixed bin(21,0) level 2 dcl 65 set ref 234* 236 251* errmess_ptr 112 000336 automatic pointer level 2 dcl 65 set ref 233* 251* error_info 000336 automatic structure level 1 dcl 65 set ref 229 244 244 248 248 error_table_$ 000042 external static fixed bin(17,0) dcl 105 set ref 275 error_table_$active_function 000044 external static fixed bin(35,0) dcl 106 ref 241 fixed builtin function dcl 82 ref 286 hcs_$high_low_seg_count 000030 constant entry external dcl 88 ref 272 header 000336 automatic structure level 2 dcl 65 hi 000113 automatic fixed bin(17,0) dcl 53 set ref 272* 274* 274 279 inclength based fixed bin(31,0) dcl 4-19 set ref 162* info based structure level 1 dcl 4-11 info_string 3 000336 automatic varying char(256) level 3 dcl 65 set ref 236* infoptr parameter pointer dcl 340 ref 335 inprec 0(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 4-11 set ref 166* inscale based fixed bin(17,0) level 2 packed packed unaligned dcl 4-11 set ref 165* inscale_prec 000466 automatic fixed bin(35,0) dcl 4-8 set ref 162 165 166 171* intype 000464 automatic fixed bin(17,0) dcl 4-5 set ref 160* 171* ioa_$general_rs 000034 constant entry external dcl 88 ref 212 ioa_$rsnnl 000032 constant entry external dcl 88 ref 302 304 iox_$error_output 000046 external static pointer dcl 107 set ref 251* iox_$put_chars 000036 constant entry external dcl 88 ref 251 len 000107 automatic fixed bin(17,0) dcl 53 set ref 212* 213* 213 213* 215 217 217 218 length 000336 automatic fixed bin(17,0) level 3 in structure "error_info" dcl 65 in procedure "com_err_" set ref 229* length builtin function dcl 82 in procedure "com_err_" ref 192 lng 000110 automatic fixed bin(17,0) dcl 53 set ref 202 286* 290 294 294 302* 304* 315 315 lo 000114 automatic fixed bin(17,0) dcl 53 set ref 272* 274 277 longinfo parameter char(100) dcl 260 set ref 257 257 267* 290* 310* max_errmess_lth 115 000336 automatic fixed bin(21,0) level 2 dcl 65 set ref 235* mc based structure level 1 dcl 3-12 mc_ptr parameter pointer dcl 338 ref 335 343 mcp 000332 automatic pointer dcl 3-10 set ref 343* 344 name_lth 110 000336 automatic fixed bin(17,0) level 2 dcl 65 set ref 180* 181* 182* 190 191 name_ptr 106 000336 automatic pointer level 2 dcl 65 set ref 180* 182 191 ndims 000105 automatic fixed bin(17,0) dcl 53 set ref 155* 181* nl constant char(1) initial dcl 112 ref 223 null builtin function dcl 82 ref 244 244 244 244 248 248 248 248 num based fixed bin(17,0) dcl 71 ref 182 offset 0(18) based bit(18) level 2 packed packed unaligned dcl 76 ref 282 outfo based structure level 1 dcl 4-15 outprec 0(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 4-15 set ref 170* outscale based fixed bin(17,0) level 2 packed packed unaligned dcl 4-15 set ref 169* outscale_prec 000467 automatic fixed bin(35,0) dcl 4-8 set ref 169 170 171* outtype 000465 automatic fixed bin(17,0) dcl 4-5 set ref 168* 171* packed 000104 automatic bit(1) dcl 52 set ref 155* 157 160 181* packed_code parameter bit packed unaligned dcl 321 ref 319 324 325 prec 000130 automatic fixed bin(17,0) dcl 57 set ref 155* 162 166 print_sw 116 000336 automatic bit(1) level 2 dcl 65 set ref 237* 251 ptr builtin function dcl 82 ref 282 q 000120 automatic pointer dcl 55 set ref 281* 282 quiet_restart 2(02) 000336 automatic bit(1) level 4 packed packed unaligned dcl 65 set ref 232* 242* real_fix_bin_1_dtype constant fixed bin(17,0) initial dcl 5-25 ref 157 168 request_abort_ 000456 stack reference condition dcl 84 ref 150 retstring 000231 automatic char(256) packed unaligned dcl 58 set ref 212* 213 217 302* 304* 310 314 reversion_ 000014 constant entry external dcl 88 ref 295 299 rtrim builtin function dcl 82 ref 191 192 save_code 000100 automatic fixed bin(35,0) dcl 51 set ref 176* 231 264* 301 scale 000106 automatic fixed bin(17,0) dcl 53 set ref 155* 165 181* scu 30 based bit(36) array level 2 in structure "mc" packed packed unaligned dcl 3-12 in procedure "com_err_" set ref 344 scu based structure level 1 dcl 3-56 in procedure "com_err_" scup 000334 automatic pointer dcl 3-54 set ref 344* 346 segno based bit(18) level 2 packed packed unaligned dcl 76 set ref 275 275* 277 279 280 281 shortinfo parameter char(8) dcl 260 set ref 257 257 266* 289* 307* 309* signal_ 000040 constant entry external dcl 88 ref 244 248 size builtin function dcl 82 ref 229 status_code 104 000336 automatic fixed bin(35,0) level 3 dcl 65 set ref 231* 241 string builtin function dcl 82 set ref 228* strlng based bit(9) dcl 69 ref 286 substr builtin function dcl 82 set ref 209* 213 217* 217 223* 236 290 294* 294 310 315* 315 suppress_name_sw 000102 automatic bit(1) dcl 52 set ref 122* 130* 137* 143* 185 sys_info$service_system 000050 external static bit(1) dcl 108 ref 148 tp 000124 automatic pointer dcl 55 set ref 282* 286 289 290 294 314* 315 346 tpr 2 based structure level 2 packed packed unaligned dcl 3-56 tsr 2(03) based bit(15) level 3 packed packed unaligned dcl 3-56 ref 346 type 000111 automatic fixed bin(17,0) dcl 53 set ref 155* 157 160 162 162 181* 182 varying_char_dtype constant fixed bin(17,0) initial dcl 5-25 ref 162 182 version 1 000336 automatic fixed bin(17,0) level 3 dcl 65 set ref 230* work_string based char dcl 73 ref 290 294 315 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abx internal static fixed bin(17,0) initial dcl 3-42 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 5-25 apx internal static fixed bin(17,0) initial dcl 3-42 area_dtype internal static fixed bin(17,0) initial dcl 5-25 assign_round_ 000000 constant entry external dcl 4-22 assign_truncate_ 000000 constant entry external dcl 4-22 bbx internal static fixed bin(17,0) initial dcl 3-42 bpx internal static fixed bin(17,0) initial dcl 3-42 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 5-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 5-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 5-25 c_union_dtype internal static fixed bin(17,0) initial dcl 5-25 char_dtype internal static fixed bin(17,0) initial dcl 5-25 char_to_numeric_ 000000 constant entry external dcl 4-22 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 5-25 com_af_error_info_ptr automatic pointer dcl 2-7 condition_info_header_ptr automatic pointer dcl 1-4 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 5-25 entry_dtype internal static fixed bin(17,0) initial dcl 5-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 file_dtype internal static fixed bin(17,0) initial dcl 5-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 5-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 label_dtype internal static fixed bin(17,0) initial dcl 5-25 lbx internal static fixed bin(17,0) initial dcl 3-42 lpx internal static fixed bin(17,0) initial dcl 3-42 offset_dtype internal static fixed bin(17,0) initial dcl 5-25 outclength based fixed bin(31,0) dcl 4-20 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 pointer_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 5-25 sbx internal static fixed bin(17,0) initial dcl 3-42 scux based structure level 1 dcl 3-207 spx internal static fixed bin(17,0) initial dcl 3-42 structure_dtype internal static fixed bin(17,0) initial dcl 5-25 varying_bit_dtype internal static fixed bin(17,0) initial dcl 5-25 NAMES DECLARED BY EXPLICIT CONTEXT. active_fnc_err_ 000130 constant entry external dcl 133 af_suppress_name 000142 constant entry external dcl 140 any_other_handler 001435 constant entry internal dcl 335 ref 284 284 check_fs_errcode_ 001023 constant entry external dcl 257 com_err_ 000105 constant entry external dcl 14 continue 000502 constant label dcl 202 ref 296 316 convert_status_code_ 001013 constant entry external dcl 257 errdoc 001231 constant label dcl 299 ref 277 279 280 346 find 001050 constant label dcl 272 ref 201 join 000152 constant label dcl 145 ref 124 131 138 no_name 000476 constant label dcl 199 ref 187 suppress_name 000116 constant entry external dcl 126 unpack_system_code_ 001377 constant entry external dcl 319 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2072 2146 1560 2102 Length 2460 1560 54 275 311 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME com_err_ 389 external procedure is an external procedure. any_other_handler 66 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME com_err_ 000100 save_code com_err_ 000101 active_fnc_sw com_err_ 000102 suppress_name_sw com_err_ 000103 convert_sw com_err_ 000104 packed com_err_ 000105 ndims com_err_ 000106 scale com_err_ 000107 len com_err_ 000110 lng com_err_ 000111 type com_err_ 000112 bi com_err_ 000113 hi com_err_ 000114 lo com_err_ 000115 code com_err_ 000116 ec com_err_ 000120 q com_err_ 000122 arg_list_ptr com_err_ 000124 tp com_err_ 000126 arg_ptr com_err_ 000130 prec com_err_ 000131 buffer com_err_ 000231 retstring com_err_ 000332 mcp com_err_ 000334 scup com_err_ 000336 error_info com_err_ 000464 intype com_err_ 000465 outtype com_err_ 000466 inscale_prec com_err_ 000467 outscale_prec com_err_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac longbs_to_fx2 tra_ext_1 signal_op shorten_stack ext_entry ext_entry_desc int_entry_desc set_bits_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. assign_ bce_error$com_err condition_ cu_$arg_count cu_$arg_list_ptr cu_$arg_ptr cu_$generate_call decode_descriptor_ hcs_$high_low_seg_count ioa_$general_rs ioa_$rsnnl iox_$put_chars reversion_ signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$ error_table_$active_function iox_$error_output sys_info$service_system LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000104 122 000112 124 000114 126 000115 129 000123 130 000124 131 000126 133 000127 136 000135 137 000137 138 000140 140 000141 143 000147 145 000152 148 000161 149 000164 150 000200 151 000205 154 000206 155 000225 157 000252 160 000263 162 000272 165 000302 166 000305 168 000307 169 000311 170 000313 171 000315 176 000340 180 000342 181 000361 182 000406 185 000415 186 000417 187 000421 190 000422 191 000424 192 000453 193 000467 194 000473 195 000474 199 000476 200 000500 201 000501 202 000502 207 000506 208 000520 209 000522 210 000526 212 000527 213 000574 214 000605 215 000610 217 000612 218 000616 219 000617 220 000620 223 000622 224 000626 228 000627 229 000630 230 000632 231 000634 232 000636 233 000640 234 000642 235 000645 236 000647 237 000657 241 000661 242 000667 243 000671 244 000673 245 000731 247 000732 248 000734 251 000767 254 001006 257 001007 264 001030 265 001034 266 001035 267 001041 268 001045 270 001046 272 001050 274 001061 275 001063 277 001106 279 001111 280 001113 281 001116 282 001123 284 001130 286 001155 287 001161 289 001163 290 001173 291 001202 294 001203 295 001212 296 001230 299 001231 301 001247 302 001251 304 001304 306 001335 307 001337 309 001347 310 001354 311 001360 314 001361 315 001363 316 001372 319 001373 324 001412 325 001423 327 001433 335 001434 343 001450 344 001455 345 001457 346 001464 352 001543 353 001550 ----------------------------------------------------------- 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