COMPILATION LISTING OF SEGMENT !BBBJZjXlNKwgHn 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 1036.6 mst Sat Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 6* * * 7* *********************************************************** */ 8 9 /* format: style4,declareind10,dclind10,idind20,indattr,delnl,insnl,ifthenstmt */ 10 11 tape_error_data: 12 proc; 13 14 /* HISTORY COMMENTS: 15* 1) change(86-09-08,Farley), approve(86-07-18,MCR7439), 16* audit(86-09-24,Fawcett), install(86-10-20,MR12.0-1189): 17* Data Segment used for interpreting tape error status. Code was copied 18* from disk_error_data.cds. 19* 2) change(87-07-07,Farley), approve(87-07-17,MCR7733), 20* audit(87-07-31,Fawcett), install(87-07-31,MR12.1-1051): 21* Added "backspace" flag to 13/10 (ID Burst write errors) status. 22* END HISTORY COMMENTS */ 23 24 dcl 1 cdsa like cds_args aligned auto; 25 dcl xnames (1) char (32) aligned auto init ("*"); 26 27 dcl 1 data based (tempp (1)) aligned, 28 2 maj_array (0:19) like tape_error_data, 29 2 sub_array (nsub) like tape_error_interp; 30 31 dcl nsub fixed bin, /* number of substatuses */ 32 charwds fixed bin, /* number of words of characters allocated */ 33 tempp (2) ptr, /* temp segs pointers */ 34 i fixed bin, /* iteration variable */ 35 rcode fixed bin (35), /* error code */ 36 nulldescriprel bit (18) aligned, /* rel ptr to null char string */ 37 teirel bit (18) aligned, /* rel pointer to interpretation data */ 38 tsdrel bit (18) aligned; /* rel pointer to charactr string */ 39 40 dcl get_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)), 41 release_temp_segments_ 42 entry (char (*), (*) ptr, fixed bin (35)), 43 create_data_segment_ 44 entry (ptr, fixed bin (35)), 45 com_err_ entry options (variable); 46 47 dcl copy_chars (charwds) fixed bin (35) based; 48 /* structure for copying characters */ 49 50 dcl ( 51 NRETRIES init (8), 52 NONE init (0), 53 ONCE init (1) 54 ) fixed bin (5) static options (constant); 55 56 dcl (addr, addrel, bin, bit, divide, hbound, index, length, null, rel, size, translate, string, unspec) 57 builtin; 58 59 dcl cleanup condition; 60 1 1 /* Begin include file ...... tape_error_interp.incl.pl1 */ 1 2 1 3 /* format: style4,declareind10,dclind10,idind20,indattr,delnl,insnl */ 1 4 1 5 /* Breakdown of tape error status. */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-02-24,Farley), approve(86-07-18,MCR7439), 1 9* audit(86-08-18,Fawcett), install(86-10-20,MR12.0-1189): 1 10* Created from disk_error_interp.incl.pl1. 1 11* END HISTORY COMMENTS */ 1 12 1 13 dcl tape_error_data$ ext; /* tape error status data segment */ 1 14 1 15 dcl tedp ptr; /* pointer to major status structure */ 1 16 1 17 dcl 1 tape_error_data (0:19) aligned based (tedp), /* major status array */ 1 18 ( 2 interp bit (18), /* pointer to substatus data for this major status */ 1 19 2 namep bit (18) 1 20 ) unal; /* rel pointer to major status description */ 1 21 1 22 dcl taperap ptr; /* pointer to substatus array */ 1 23 1 24 dcl 1 tape_status_interp_array 1 25 (100) like tape_error_interp based (taperap) aligned; 1 26 /* array of substatus interpretations */ 1 27 1 28 dcl taperp ptr; /* pointer to error interpretation data */ 1 29 1 30 dcl 1 tape_error_interp based (taperp) aligned, /* substatus interpretation structure */ 1 31 ( 2 bitson bit (6), /* substatus bits which must be ON */ 1 32 2 bitmask bit (6), /* substatus bits which must be checked */ 1 33 2 max_retries fixed bin (5), /* maximum no. of retries for this error */ 1 34 2 get_detail bit (1), /* "1"b if detailed status needed */ 1 35 2 expect_special bit (1), /* "1"b if special status expected */ 1 36 2 end_of_file bit (1), /* "1"b if EOF status */ 1 37 2 end_of_tape bit (1), /* "1"b if EOT status */ 1 38 2 bad_density bit (1), /* "1"b if invalid density */ 1 39 2 backspace bit (1), /* "1"b backspace before retry */ 1 40 2 bad_dev bit (1), /* "1"b if device is inoperative */ 1 41 2 bad_path bit (1), /* "1"b if tape data path is defective */ 1 42 2 pad1 bit (10), 1 43 2 namep bit (18), /* rel pointer to substatus description */ 1 44 2 pad2 bit (18) 1 45 ) unal; 1 46 1 47 dcl tsdp ptr; /* pointer to status description */ 1 48 1 49 dcl 1 tape_status_descrip 1 50 based (tsdp) aligned, /* status description string */ 1 51 ( 2 lth fixed bin (8), /* length of string */ 1 52 2 chr char (32 refer (tape_status_descrip.lth)) 1 53 ) unal; /* status description string */ 1 54 1 55 dcl POWER_OFF fixed bin internal static options (constant) init (16); 1 56 dcl CHAN_STAT fixed bin internal static options (constant) init (17); 1 57 dcl CENTRAL_STAT fixed bin internal static options (constant) init (18); 1 58 dcl SYS_FAULT fixed bin internal static options (constant) init (19); 1 59 1 60 /* End of include file ...... tape_error_interp.incl.pl1 */ 61 62 2 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 2 2 2 3 dcl 1 cds_args based aligned, 2 4 2 sections (2), 2 5 3 p ptr, /* pointer to data for text/static section */ 2 6 3 len fixed bin (18), /* size of text/static section */ 2 7 3 struct_name char (32), /* name of declared structure for this section */ 2 8 2 seg_name char (32), /* name to create segment by */ 2 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 2 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 2 11 2 switches, /* control switches */ 2 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 2 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 2 14 3 have_text bit (1) unal, /* ON if text section given */ 2 15 3 have_static bit (1) unal, /* ON if static section given */ 2 16 3 pad bit (32) unal; 2 17 2 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 2 19 2 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 63 64 65 tempp (*) = null (); 66 67 on cleanup call clean_up; 68 69 call get_temp_segments_ ("tape_error_data", tempp, rcode); 70 if rcode ^= 0 then do; 71 call com_err_ (rcode, "tape_error_data", "get_temp_segments_"); 72 goto nl_exit; 73 end; 74 75 tedp = tempp (1); 76 tsdp = tempp (2); 77 78 nsub = 1; 79 taperp = addr (data.sub_array (1)); 80 charwds = 0; 81 82 nulldescriprel = allocate_tsd (""); 83 teirel = compute_rel (tedp, taperp); 84 tsdrel = allocate_tsd ("error"); 85 do i = 0 to hbound (data.maj_array, 1); 86 data.maj_array (i).interp = teirel; 87 data.maj_array (i).namep = tsdrel; 88 end; 89 call set_substat ("XXXXXX", NONE, "", ""); 90 91 call set_majstat (0, "Device Ready"); 92 call set_substat ("000000", NONE, "Ready", ""); 93 call set_substat ("XX0XX1", NONE, "Write protected", ""); 94 call set_substat ("000X1X", NONE, "Positioned at BOT", ""); 95 call set_substat ("XXX1XX", NONE, "Nine track handler", ""); 96 call set_substat ("010X0X", NONE, "Two bit fill", ""); 97 call set_substat ("100X0X", NONE, "Four bit fill", ""); 98 call set_substat ("110X0X", NONE, "Six bit fill", ""); 99 call set_substat ("001100", NONE, "ASCII alert", ""); 100 101 call set_majstat (1, "Device Busy"); 102 call set_substat ("000001", NONE, "Tape rewinding", "special"); 103 call set_substat ("000010", NRETRIES, "Alternate channel in control", ""); 104 call set_substat ("000100", NONE, "Device loading", "special"); 105 call set_substat ("100000", NONE, "Device reserved", "bad_dev"); 106 107 call set_majstat (2, "Device Attention"); 108 call set_substat ("00XX01", NONE, "Write protected", ""); 109 call set_substat ("000010", NONE, "No such tape handler", "bad_dev"); 110 call set_substat ("0XX10X", NONE, "Handler in standby", "bad_dev"); 111 call set_substat ("0X1X0X", NONE, "Handler check", "bad_dev,detail"); 112 call set_substat ("01XX00", NONE, "Blank tape on write", "bad_dev,detail"); 113 114 call set_majstat (3, "Device Data Alert"); 115 call set_substat ("000001", NRETRIES, "Transfer timing alert", "backspace"); 116 call set_substat ("000010", NONE, "Blank tape on read", "eot"); 117 call set_substat ("XXXX11", NONE, "Bit detected during erase", "bad_dev,detail"); 118 call set_substat ("XXX1XX", NRETRIES, "Transmission parity alert", "backspace"); 119 call set_substat ("XX1XXX", NRETRIES, "Lateral parity alert", "backspace"); 120 call set_substat ("X1XXXX", NRETRIES, "Longitudinal parity alert", "backspace"); 121 call set_substat ("1XXXXX", NONE, "End of tape mark detected", "eot"); 122 123 call set_majstat (4, "End of File"); 124 call set_substat ("001111", NONE, "7 track EOF", "eof"); 125 call set_substat ("010011", NONE, "9 track EOF", "eof"); 126 call set_substat ("111111", NONE, "Data alert condition", ""); 127 128 call set_majstat (5, "Command Reject"); 129 call set_substat ("000000", NONE, "Invalid density", "bad_density"); 130 call set_substat ("000XX1", NONE, "Invalid operation code", ""); 131 call set_substat ("000X1X", NONE, "Invalid device code", ""); 132 call set_substat ("0001XX", NONE, "Invalid IDCW parity", ""); 133 call set_substat ("001000", NONE, "Positioned at BOT", ""); 134 call set_substat ("010000", NONE, "Forward read after write", ""); 135 call set_substat ("100000", NONE, "Nine track error", ""); 136 137 call set_majstat (10, "Controller Attention"); 138 call set_substat ("000001", NONE, "Configuration switch error", "bad_path"); 139 call set_substat ("000010", NONE, "Multiple devices", ""); 140 call set_substat ("000011", NONE, "Illegal device number", ""); 141 call set_substat ("001000", NONE, "Incompatible mode", "bad_density"); 142 call set_substat ("001100", NONE, "TCA malfunction (0)", "bad_path,detail"); 143 call set_substat ("001101", NONE, "TCA malfunction (1)", "bad_path,detail"); 144 call set_substat ("010000", NONE, "MTH malfunction", "bad_dev,detail"); 145 call set_substat ("010001", NONE, "Multiple BOT", "bad_dev"); 146 147 call set_majstat (11, "Controller Data Alert"); 148 call set_substat ("000001", NRETRIES, "Transmission parity alert", "bad_path,backspace"); 149 call set_substat ("000010", NONE, "Inconsistent command", ""); 150 call set_substat ("000011", NRETRIES, "Sum check error", "bad_path,detail"); 151 call set_substat ("000100", NRETRIES, "Byte locked out", "bad_path"); 152 call set_substat ("001000", NRETRIES, "ID Burst write error", "backspace,detail"); 153 call set_substat ("001001", NRETRIES, "Preamble error", "backspace"); 154 call set_substat ("001010", NRETRIES, "T&D error", ""); 155 call set_substat ("010000", NRETRIES, "Multi-track error", "backspace"); 156 call set_substat ("010001", NRETRIES, "Skew error", "backspace"); 157 call set_substat ("010010", NRETRIES, "Postamble error", "backspace"); 158 call set_substat ("010011", NRETRIES, "NRZI CCC error", "backspace"); 159 call set_substat ("010100", NRETRIES, "Code alert", "backspace"); 160 call set_substat ("100000", NRETRIES, "Marginal condition", "backspace"); 161 162 call set_majstat (13, "Controller Command Reject"); 163 call set_substat ("000000", NONE, "Indeterminate Density", "bad_density"); 164 call set_substat ("000001", NONE, "Illegal procedure", ""); 165 call set_substat ("000010", NONE, "Illegal logical channel", ""); 166 call set_substat ("000011", NONE, "Illegal suspended logical chnl", "special"); 167 call set_substat ("000100", NONE, "Continue bit not set", ""); 168 169 call set_majstat (POWER_OFF, "power off"); 170 call set_substat ("XXXXXX", NRETRIES, "", "bad_path"); 171 172 call set_majstat (CHAN_STAT, "chan stat"); 173 call set_substat ("001000", ONCE, "connect while busy", ""); 174 call set_substat ("010000", ONCE, "illeg chan instruct", ""); 175 call set_substat ("011000", ONCE, "incorrect DCW", ""); 176 call set_substat ("100000", ONCE, "incomplete instruct seq", "bad_path"); 177 call set_substat ("110000", NRETRIES, "PSI parity err", "bad_path"); 178 call set_substat ("111000", NRETRIES, "parity err, I/O bus to chan", "bad_path"); 179 call set_substat ("XXXXXX", NRETRIES, "", "bad_path"); 180 181 call set_majstat (CENTRAL_STAT, "central stat"); 182 call set_substat ("001000", ONCE, "LPW tally runout", "bad_path"); 183 call set_substat ("010000", ONCE, "two TDCW's in a row", "bad_path"); 184 call set_substat ("011000", ONCE, "boundary error", "bad_path"); 185 call set_substat ("100000", ONCE, "A.E. change in restricted mode", "bad_path"); 186 call set_substat ("101000", ONCE, "IDCW in restricted mode", "bad_path"); 187 call set_substat ("110000", ONCE, "char pos/size discrepancy", "bad_path"); 188 call set_substat ("111000", ONCE, "parity err, data from chan", "bad_path"); 189 call set_substat ("XXXXXX", NRETRIES, "", "bad_path"); 190 191 call set_majstat (SYS_FAULT, "system fault"); 192 call set_substat ("XXXXXX", ONCE, "", "bad_path"); 193 194 taperp -> copy_chars = tempp (2) -> copy_chars; /* copy the characters now. */ 195 196 nsub = nsub - 1; /* back down one */ 197 198 do i = 0 to hbound (data.maj_array, 1); 199 call relocate_rel (data.maj_array (i).namep); 200 end; 201 202 do i = 1 to nsub; 203 call relocate_rel (data.sub_array (i).namep); 204 end; 205 206 cdsa.sections (1).p = tempp (1); 207 cdsa.sections (1).len = size (data) + charwds; 208 cdsa.sections (1).struct_name = "data"; 209 210 cdsa.seg_name = "tape_error_data"; 211 cdsa.num_exclude_names = 1; 212 cdsa.exclude_array_ptr = addr (xnames); 213 214 string (cdsa.switches) = "0"b; 215 cdsa.switches.have_text = "1"b; 216 217 call create_data_segment_ (addr (cdsa), rcode); 218 if rcode ^= 0 then call com_err_ (rcode, "tape_error_data", "create_data_segment_"); 219 220 nl_exit: 221 call clean_up; 222 return; 223 224 clean_up: 225 proc; 226 if tempp (1) ^= null () then do; 227 call release_temp_segments_ ("tape_error_data", tempp, rcode); 228 if rcode ^= 0 then call com_err_ (rcode, "tape_error_data", "release_temp_segments_"); 229 end; 230 return; 231 end clean_up; 232 233 set_majstat: 234 proc (mjs, descrip); /* proc to fill in major status array */ 235 236 dcl mjs fixed bin, /* major status */ 237 descrip char (*) aligned; /* major status description */ 238 239 if mjs > hbound (data.maj_array, 1) then do; 240 call com_err_ (0, "tape_error_data", "The bounds of the major status array have been exceeded."); 241 call com_err_ (0, "tape_error_data", "Current value = ^d, must be at least ^d.", 242 hbound (data.maj_array, 1), mjs); 243 go to nl_exit; 244 end; 245 data.maj_array (mjs).interp = compute_rel (tedp, taperp); 246 data.maj_array (mjs).namep = allocate_tsd (descrip); 247 248 return; 249 end set_majstat; 250 251 set_substat: 252 proc (stat, retry, descrip, errs); /* proc to allocate tape_error_interp structure */ 253 254 dcl stat char (6) aligned, 255 retry fixed bin (5), 256 descrip char (*) aligned, 257 errs char (*) aligned; 258 259 unspec (tape_error_interp) = "0"b; 260 261 tape_error_interp.bitson = bit (translate (stat, "0", "X"), 6); 262 tape_error_interp.bitmask = bit (translate (stat, "10", "0X"), 6); 263 tape_error_interp.max_retries = retry; 264 if descrip ^= "" 265 then tape_error_interp.namep = allocate_tsd (descrip); 266 else tape_error_interp.namep = nulldescriprel; 267 268 call seterr (errs, "backspace", tape_error_interp.backspace); 269 call seterr (errs, "bad_density", tape_error_interp.bad_density); 270 call seterr (errs, "bad_dev", tape_error_interp.bad_dev); 271 call seterr (errs, "bad_path", tape_error_interp.bad_path); 272 call seterr (errs, "detail", tape_error_interp.get_detail); 273 call seterr (errs, "eof", tape_error_interp.end_of_file); 274 call seterr (errs, "eot", tape_error_interp.end_of_tape); 275 call seterr (errs, "special", tape_error_interp.expect_special); 276 277 nsub = nsub + 1; /* Count one more. */ 278 taperp = addr (data.sub_array (nsub)); 279 280 return; 281 end set_substat; 282 283 seterr: 284 proc (errstring, errname, errbit); /* procedure to set error bit */ 285 286 dcl errstring char (*) aligned, 287 errname char (*) aligned, 288 errbit bit (1) unal; 289 290 if index (errstring, errname) > 0 then errbit = "1"b; 291 292 return; 293 end seterr; 294 295 allocate_tsd: 296 proc (descrip) returns (bit (18) aligned); /* procedure to allocate character string */ 297 298 dcl descrip char (*) aligned; 299 300 dcl old_tsdp ptr, 301 chlth fixed bin; 302 303 tape_status_descrip.lth = length (descrip); 304 tape_status_descrip.chr = descrip; 305 306 chlth = divide (length (descrip), 4, 17, 0) + 1; 307 charwds = charwds + chlth; 308 old_tsdp = tsdp; 309 tsdp = addrel (tsdp, chlth); 310 311 return (compute_rel (tempp (2), old_tsdp)); 312 end allocate_tsd; 313 314 compute_rel: 315 proc (basep, strucp) returns (bit (18) aligned); /* procedure to compute relative offset */ 316 317 dcl basep ptr, /* pointer to database */ 318 strucp ptr; /* pointer to structure */ 319 320 return (bit (bin (bin (rel (strucp), 18) - bin (rel (basep), 18), 18), 18)); 321 end compute_rel; 322 323 relocate_rel: 324 proc (relp); /* proc to relocate name pointers */ 325 326 dcl relp bit (18) unal; /* name relative pointer */ 327 328 relp = bit (bin (bin (relp, 18) + bin (rel (taperp), 18), 18), 18); 329 330 return; 331 end relocate_rel; 332 end tape_error_data; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0826.7 !BBBJZjXlNKwgHn.pl1 >special_ldd>install>MR12.3-1114>tape_error_data.cds 61 1 10/21/86 1251.6 tape_error_interp.incl.pl1 >ldd>include>tape_error_interp.incl.pl1 63 2 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.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. CENTRAL_STAT 000045 constant fixed bin(17,0) initial dcl 1-57 set ref 181* CHAN_STAT 000003 constant fixed bin(17,0) initial dcl 1-56 set ref 172* NONE 000055 constant fixed bin(5,0) initial dcl 50 set ref 89* 92* 93* 94* 95* 96* 97* 98* 99* 102* 104* 105* 108* 109* 110* 111* 112* 116* 117* 121* 124* 125* 126* 129* 130* 131* 132* 133* 134* 135* 138* 139* 140* 141* 142* 143* 144* 145* 149* 163* 164* 165* 166* 167* NRETRIES 000057 constant fixed bin(5,0) initial dcl 50 set ref 103* 115* 118* 119* 120* 148* 150* 151* 152* 153* 154* 155* 156* 157* 158* 159* 160* 170* 177* 178* 179* 189* ONCE 000056 constant fixed bin(5,0) initial dcl 50 set ref 173* 174* 175* 176* 182* 183* 184* 185* 186* 187* 188* 192* POWER_OFF 000000 constant fixed bin(17,0) initial dcl 1-55 set ref 169* SYS_FAULT 000046 constant fixed bin(17,0) initial dcl 1-58 set ref 191* addr builtin function dcl 56 ref 79 212 217 217 278 addrel builtin function dcl 56 ref 309 backspace 0(23) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 268* bad_density 0(22) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 269* bad_dev 0(24) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 270* bad_path 0(25) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 271* basep parameter pointer dcl 317 ref 314 320 bin builtin function dcl 56 ref 320 320 320 328 328 328 bit builtin function dcl 56 ref 261 262 320 328 bitmask 0(06) based bit(6) level 2 packed packed unaligned dcl 1-30 set ref 262* bitson based bit(6) level 2 packed packed unaligned dcl 1-30 set ref 261* cds_args based structure level 1 dcl 2-3 cdsa 000100 automatic structure level 1 dcl 24 set ref 217 217 charwds 000156 automatic fixed bin(17,0) dcl 31 set ref 47 80* 194 207 307* 307 chlth 000246 automatic fixed bin(17,0) dcl 300 set ref 306* 307 309 chr 0(09) based char level 2 packed packed unaligned dcl 1-49 set ref 304* cleanup 000172 stack reference condition dcl 59 ref 67 com_err_ 000020 constant entry external dcl 40 ref 71 218 228 240 241 copy_chars based fixed bin(35,0) array dcl 47 set ref 194* 194 create_data_segment_ 000016 constant entry external dcl 40 ref 217 data based structure level 1 dcl 27 set ref 207 descrip parameter char dcl 298 in procedure "allocate_tsd" ref 295 303 304 306 descrip parameter char dcl 236 in procedure "set_majstat" set ref 233 246* descrip parameter char dcl 254 in procedure "set_substat" set ref 251 264 264* divide builtin function dcl 56 ref 306 end_of_file 0(20) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 273* end_of_tape 0(21) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 274* errbit parameter bit(1) packed unaligned dcl 286 set ref 283 290* errname parameter char dcl 286 ref 283 290 errs parameter char dcl 254 set ref 251 268* 269* 270* 271* 272* 273* 274* 275* errstring parameter char dcl 286 ref 283 290 exclude_array_ptr 42 000100 automatic pointer level 2 dcl 24 set ref 212* expect_special 0(19) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 275* get_detail 0(18) based bit(1) level 2 packed packed unaligned dcl 1-30 set ref 272* get_temp_segments_ 000012 constant entry external dcl 40 ref 69 have_text 44(02) 000100 automatic bit(1) level 3 packed packed unaligned dcl 24 set ref 215* hbound builtin function dcl 56 ref 85 198 239 241 241 i 000164 automatic fixed bin(17,0) dcl 31 set ref 85* 86 87* 198* 199* 202* 203* index builtin function dcl 56 ref 290 interp based bit(18) array level 3 packed packed unaligned dcl 27 set ref 86* 245* len 2 000100 automatic fixed bin(18,0) array level 3 dcl 24 set ref 207* length builtin function dcl 56 ref 303 306 lth based fixed bin(8,0) level 2 packed packed unaligned dcl 1-49 set ref 303* 304 1-49 maj_array based structure array level 2 dcl 27 set ref 85 198 239 241 241 max_retries 0(12) based fixed bin(5,0) level 2 packed packed unaligned dcl 1-30 set ref 263* mjs parameter fixed bin(17,0) dcl 236 set ref 233 239 241* 245 246 namep 0(18) based bit(18) array level 3 in structure "data" packed packed unaligned dcl 27 in procedure "tape_error_data" set ref 87* 199* 246* namep 25 based bit(18) array level 3 in structure "data" packed packed unaligned dcl 27 in procedure "tape_error_data" set ref 203* namep 1 based bit(18) level 2 in structure "tape_error_interp" packed packed unaligned dcl 1-30 in procedure "tape_error_data" set ref 264* 266* nsub 000155 automatic fixed bin(17,0) dcl 31 set ref 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 78* 196* 196 202 207 277* 277 278 null builtin function dcl 56 ref 65 226 nulldescriprel 000166 automatic bit(18) dcl 31 set ref 82* 266 num_exclude_names 40 000100 automatic fixed bin(17,0) level 2 dcl 24 set ref 211* old_tsdp 000244 automatic pointer dcl 300 set ref 308* 311* p 000100 automatic pointer array level 3 dcl 24 set ref 206* rcode 000165 automatic fixed bin(35,0) dcl 31 set ref 69* 70 71* 217* 218 218* 227* 228 228* rel builtin function dcl 56 ref 320 320 328 release_temp_segments_ 000014 constant entry external dcl 40 ref 227 relp parameter bit(18) packed unaligned dcl 326 set ref 323 328* 328 retry parameter fixed bin(5,0) dcl 254 ref 251 263 sections 000100 automatic structure array level 2 dcl 24 seg_name 30 000100 automatic char(32) level 2 dcl 24 set ref 210* size builtin function dcl 56 ref 207 stat parameter char(6) dcl 254 ref 251 261 262 string builtin function dcl 56 set ref 214* strucp parameter pointer dcl 317 ref 314 320 struct_name 3 000100 automatic char(32) array level 3 dcl 24 set ref 208* sub_array 24 based structure array level 2 dcl 27 set ref 79 278 switches 44 000100 automatic structure level 2 dcl 24 set ref 214* tape_error_data based structure array level 1 dcl 1-17 tape_error_interp based structure level 1 dcl 1-30 set ref 259* tape_status_descrip based structure level 1 dcl 1-49 taperp 000204 automatic pointer dcl 1-28 set ref 79* 83* 194 245* 259 261 262 263 264 266 268 269 270 271 272 273 274 275 278* 328 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 1-30 tedp 000200 automatic pointer dcl 1-15 set ref 75* 83* 245* 1-17 1-17 1-17 teirel 000167 automatic bit(18) dcl 31 set ref 83* 86 tempp 000160 automatic pointer array dcl 31 set ref 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 65* 69* 75 76 79 85 86 87 194 198 199 203 206 207 226 227* 239 241 241 245 246 278 311* translate builtin function dcl 56 ref 261 262 tsdp 000206 automatic pointer dcl 1-47 set ref 76* 303 304 308 309* 309 1-49 1-49 1-49 tsdrel 000170 automatic bit(18) dcl 31 set ref 84* 87 unspec builtin function dcl 56 set ref 259* xnames 000145 automatic char(32) initial array dcl 25 set ref 25* 212 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. exclude_names based char(32) array packed unaligned dcl 2-18 tape_error_data$ 000022 external static fixed bin(17,0) dcl 1-13 tape_status_interp_array based structure array level 1 dcl 1-24 taperap 000202 automatic pointer dcl 1-22 NAMES DECLARED BY EXPLICIT CONTEXT. allocate_tsd 004303 constant entry internal dcl 295 ref 82 84 246 264 clean_up 003371 constant entry internal dcl 224 ref 67 220 compute_rel 004347 constant entry internal dcl 314 ref 83 245 311 nl_exit 003363 constant label dcl 220 ref 72 243 relocate_rel 004371 constant entry internal dcl 323 ref 199 203 set_majstat 003463 constant entry internal dcl 233 ref 91 101 107 114 123 128 137 147 162 169 172 181 191 set_substat 003633 constant entry internal dcl 251 ref 89 92 93 94 95 96 97 98 99 102 103 104 105 108 109 110 111 112 115 116 117 118 119 120 121 124 125 126 129 130 131 132 133 134 135 138 139 140 141 142 143 144 145 148 149 150 151 152 153 154 155 156 157 158 159 160 163 164 165 166 167 170 173 174 175 176 177 178 179 182 183 184 185 186 187 188 189 192 seterr 004250 constant entry internal dcl 283 ref 268 269 270 271 272 273 274 275 tape_error_data 001153 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 7730 7754 7615 7740 Length 13404 7615 24 3413 113 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tape_error_data 462 external procedure is an external procedure. on unit on line 67 64 on unit clean_up 96 internal procedure is called by several nonquick procedures. set_majstat internal procedure shares stack frame of external procedure tape_error_data. set_substat internal procedure shares stack frame of external procedure tape_error_data. seterr internal procedure shares stack frame of external procedure tape_error_data. allocate_tsd internal procedure shares stack frame of external procedure tape_error_data. compute_rel internal procedure shares stack frame of external procedure tape_error_data. relocate_rel internal procedure shares stack frame of external procedure tape_error_data. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tape_error_data 000100 cdsa tape_error_data 000145 xnames tape_error_data 000155 nsub tape_error_data 000156 charwds tape_error_data 000160 tempp tape_error_data 000164 i tape_error_data 000165 rcode tape_error_data 000166 nulldescriprel tape_error_data 000167 teirel tape_error_data 000170 tsdrel tape_error_data 000200 tedp tape_error_data 000202 taperap tape_error_data 000204 taperp tape_error_data 000206 tsdp tape_error_data 000244 old_tsdp allocate_tsd 000246 chlth allocate_tsd THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op ext_entry int_entry set_chars_eis index_chars_eis any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ get_temp_segments_ release_temp_segments_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 001152 25 001160 65 001170 67 001203 69 001225 70 001252 71 001254 72 001307 75 001310 76 001312 78 001314 79 001316 80 001321 82 001322 83 001325 84 001327 85 001334 86 001341 87 001344 88 001350 89 001352 91 001357 92 001370 93 001377 94 001410 95 001420 96 001433 97 001444 98 001455 99 001467 101 001500 102 001512 103 001525 104 001535 105 001550 107 001563 108 001574 109 001605 110 001617 111 001634 112 001651 114 001665 115 001700 116 001714 117 001726 118 001742 119 001756 120 001775 121 002011 123 002023 124 002035 125 002050 126 002064 128 002074 129 002105 130 002122 131 002132 132 002145 133 002155 134 002165 135 002175 137 002206 138 002221 139 002233 140 002244 141 002254 142 002270 143 002307 144 002323 145 002340 147 002354 148 002364 149 002402 150 002412 151 002427 152 002442 153 002461 154 002476 155 002507 156 002523 157 002541 158 002556 159 002573 160 002610 162 002627 163 002637 164 002653 165 002663 166 002673 167 002705 169 002720 170 002730 172 002737 173 002746 174 002756 175 002771 176 003002 177 003014 178 003027 179 003041 181 003050 182 003060 183 003073 184 003105 185 003120 186 003132 187 003144 188 003156 189 003170 191 003177 192 003206 194 003215 196 003224 198 003226 199 003233 200 003243 202 003245 203 003255 204 003265 206 003267 207 003271 208 003276 210 003301 211 003304 212 003306 214 003310 215 003311 217 003313 218 003326 220 003363 222 003367 224 003370 226 003376 227 003403 228 003427 230 003462 233 003463 239 003474 240 003500 241 003531 243 003575 245 003576 246 003606 248 003632 251 003633 259 003651 261 003655 262 003674 263 003715 264 003722 266 003752 268 003755 269 004005 270 004035 271 004063 272 004111 273 004137 274 004165 275 004213 277 004241 278 004242 280 004247 283 004250 290 004266 292 004302 295 004303 303 004314 304 004317 306 004330 307 004334 308 004335 309 004336 311 004340 314 004347 320 004351 323 004371 328 004373 330 004415 Object Segment >special_ldd>install>MR12.3-1114>tape_error_data Created on 11/11/89 1036.8 mst Sat by Hirneisen.SysMaint.a using create_data_segment_, Version II of Thursday, November 20, 1986 Object Text Defs Link Symb Static Start 0 0 1140 1162 1172 1172 Length 1422 1140 22 10 214 0 2 Definitions: segname: tape_error_data symb|0 symbol_table No Links. ----------------------------------------------------------- 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