Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/tkb-vnp/msgh.bpt
There are no other files named msgh.bpt in the archive.
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
1 !<TKB-VNP>MSGH.BLI.3, 13-Jun-79 07:32:59, Edit by SROBINSON
2 !<SAUTER.TKB20>MSGH.BLI.33, 17-Nov-78 16:10:20, Edit by SROBINSON
3 !<SAUTER.TKB20>MSGH.BLI.32, 28-Sep-78 11:40:01, Edit by SROBINSON
4 !<SAUTER.VNP20>MSGH.BLI.30, 28-Sep-78 07:55:53, Edit by SROBINSON
5 !<SAUTER.VNP20>MSGH.BLI.28, 28-Sep-78 07:34:15, Edit by SROBINSON
6 MODULE MSGH ( ! PRINT MESSAGES
7 IDENT = 'X0.2'
8 ) =
9 BEGIN
10 !
11 !
12 !
13 ! COPYRIGHT (C) 1978, 1979 BY
14 ! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
15 !
16 !
17 ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
18 ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
19 ! INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
20 ! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
21 ! OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
22 ! TRANSFERRED.
23 !
24 !
25 ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
26 ! AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
27 ! CORPORATION.
28 !
29 ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
30 ! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
31 !
32
33 !++
34 ! FACILITY: TKB-20 AND VNP-20
35 !
36 ! ABSTRACT:
37 !
38 !
39 ! THIS MODULE HANDLES PRINTING OF MESSAGES
40 !
41 !
42 ! ENVIRONMENT: TOPS-20 USER MODE
43 !
44 ! AUTHOR: J. SAUTER, CREATION DATE: 14-DEC-77
45 !
46 ! MODIFIED BY:
47 !
48 ! Scott G. Robinson, 28-SEP-78 : VERSION X0.1-2A
49 ! - Fix bug with base 0 conversion diagnosis in OUTNUM
50 !
51 ! Scott G. Robinson, 13-JUN-79 : VERSION X0.2
52 ! - Make all fatal errors terminate the program
53 !
54 ! , : VERSION
55 ! 01 -
56 !--
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
57
58 !<BLF/PAGE>
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
59 !
60 ! TABLE OF CONTENTS:
61 !
62
63 FORWARD ROUTINE
64 PCRLF : NOVALUE, !PRINT CRLF (GLOBAL)
65 OUTSTR : NOVALUE, !PRINT STRING (GLOBAL)
66 OUTNUM : NOVALUE, !PRINT NUMBER
67 ERR_OUTSTR : NOVALUE, !PRINT STRING WITH EDITING
68 ERRMSG : NOVALUE; !PRINT ERROR MESSAGE
69
70 !
71 ! INCLUDE FILES:
72 !
73 ! NONE
74 !
75 ! MACROS:
76 !
77 ! NONE
78 !
79 !
80 ! EQUATED SYMBOLS:
81 !
82 ! NONE
83 !
84 ! OWN STORAGE:
85 !
86 ! NONE
87 !
88 ! EXTERNAL REFERENCES:
89 !
90
91 EXTERNAL ROUTINE
92 OUTPUT : NOVALUE, !SEND CHARS TO I/O DEVICE
93 STOP_PROGRAM : NOVALUE; !TERMINATE PROGRAM EXECUTION
94
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
95 GLOBAL ROUTINE PCRLF (CHAN) : NOVALUE = ! PRINT CRLF
96
97 !++
98 ! FUNCTIONAL DESCRIPTION:
99 !
100 ! PRINT CR AND LF
101 !
102 ! FORMAL PARAMETERS:
103 !
104 ! CHAN - THE CHANNEL ON WHICH TO SEND CRLF
105 !
106 ! IMPLICIT INPUTS:
107 !
108 ! NONE
109 !
110 ! IMPLICIT OUTPUTS:
111 !
112 ! NONE
113 !
114 ! ROUTINE VALUE:
115 !
116 ! NONE
117 !
118 ! SIDE EFFECTS
119 !
120 ! WRITES A CRLF ON THE INDICATED I/O DEVICE
121 !
122 !--
123
124 BEGIN
125 OUTPUT (.CHAN, %O'15');
126 OUTPUT (.CHAN, %O'12');
127 END;
128
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
129 GLOBAL ROUTINE OUTSTR (CHAN, MESSAGE) : NOVALUE = !PRINT STRING
130
131 !++
132 ! FUNCTIONAL DESCRIPTION:
133 !
134 ! PRINT A STRING TERMINATED WITH A NULL
135 !
136 ! FORMAL PARAMETERS:
137 !
138 ! CHAN - THE CHANNEL OVER WHICH TO SEND THE STRING
139 ! MESSAGE - POINTER TO THE STRING
140 !
141 ! IMPLICIT INPUTS:
142 !
143 ! NONE
144 !
145 ! IMPLICIT OUTPUTS:
146 !
147 ! NONE
148 !
149 ! ROUTINE VALUE:
150 !
151 ! NONE
152 !
153 ! SIDE EFFECTS
154 !
155 ! WRITES THE SPECIFIED STRING ON THE I/O DEVICE
156 !
157 !--
158
159 BEGIN
160
161 LOCAL
162 CHAR,
163 CHPTR;
164
165 !
166 CHPTR = CH$PTR (.MESSAGE, -1);
167
168 DO
169 BEGIN
170 CHAR = CH$A_RCHAR (CHPTR);
171
172 IF (.CHAR NEQ 0) THEN OUTPUT (.CHAN, .CHAR);
173
174 END
175 UNTIL (.CHAR EQL 0);
176
177 END;
178
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
179 GLOBAL ROUTINE OUTNUM (CHAN, VALUE, RADIX, LEN) : NOVALUE = !PRINT A NUMBER
180
181 !++
182 ! FUNCTIONAL DESCRIPTION:
183 !
184 ! PRINT A NUMBER. HANDLES NEGATIVE AND RADIX 2 TO 36.
185 ! PADS WITH LEADING ZEROS IF NECESSARY.
186 !
187 ! FORMAL PARAMETERS:
188 !
189 ! CHAN - THE CHANNEL ON WHICH TO SEND THE NUMBER
190 ! VALUE - THE NUMBER TO PRINT
191 ! RADIX - THE PRINT RADIX, USUALLY 8 (OCTAL) OR 10 (DECIMAL).
192 ! LEN - MINIMUM LENGTH OF THE NUMBER, OFTEN 0.
193 !
194 ! IMPLICIT INPUTS:
195 !
196 ! NONE
197 !
198 ! IMPLICIT OUTPUTS:
199 !
200 ! NONE
201 !
202 ! ROUTINE VALUE:
203 !
204 ! NONE
205 !
206 ! SIDE EFFECTS
207 !
208 ! SENDS A STRING REPRESENTING THE NUMBER TO THE I/O DEVICE
209 !
210 !--
211
212 BEGIN
213
214 LOCAL
215 CHAR,
216 LEN1,
217 QUOTIENT,
218 REMAINDER,
219 VAL;
220
221 IF ((.RADIX LSS 2) OR (.RADIX GTR 36))
222 THEN
223 BEGIN
224 OUTSTR (.CHAN, UPLIT (%ASCIZ'??????'));
225 RETURN;
226 END;
227
228 VAL = .VALUE;
229 LEN1 = .LEN;
230
231 IF (.VAL LSS 0)
232 THEN
233 BEGIN
234 OUTPUT (.CHAN, %C'-');
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
235 VAL = -.VAL;
236 LEN1 = .LEN1 - 1;
237 END;
238
239 QUOTIENT = .VAL/.RADIX;
240 REMAINDER = .VAL MOD .RADIX;
241
242 IF (.QUOTIENT NEQ 0)
243 THEN
244 OUTNUM (.CHAN, .QUOTIENT, .RADIX, .LEN1 - 1)
245 ELSE
246 !
247 ! APPEND LEADING ZEROS IF NECESSARY
248 !
249
250 WHILE ((LEN1 = .LEN1 - 1) GTR 0) DO
251 OUTPUT (.CHAN, %C'0');
252
253 CHAR = .REMAINDER + %C'0';
254
255 IF (.CHAR GTR %C'9') THEN CHAR = .CHAR - %C'9' + %C'A';
256
257 OUTPUT (.CHAN, .CHAR);
258 END;
259
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
260 ROUTINE ERR_OUTSTR !PRINT EDITED STRING
261 (CHAN, MESSAGE, ARG1, ARG2, ARG3, ARG4, ARG5) : NOVALUE =
262
263 !++
264 ! FUNCTIONAL DESCRIPTION:
265 !
266 ! PRINT AN EDITED STRING. VALUE SUBSTITUTION IS INDICATED BY
267 ! A % IN THE STRING, AS FOLLOWS:
268 !
269 ! %NX
270 !
271 ! WHERE N IS THE ARGUMENT (1 TO 5) AND X IS THE FORM.
272 ! FORM A = ASCII, D = DECIMAL, O = OCTAL AND V = SYMBOL VALUE.
273 ! USE %% TO PRINT A PERCENT SIGN.
274 !
275 ! FORMAL PARAMETERS:
276 !
277 ! CHAN - THE CHANNEL ON WHICH TO SEND THE EDITED STRING
278 ! MESSAGE - POINTER TO THE STRING TO BE EDITED AND PRINTED
279 ! ARG1:ARG5 - VALUES TO BE SUBSTITUTED INTO THE STRING
280 ! AS NEEDED. ASCII ARGUMENTS ARE POINTERS TO STRINGS;
281 ! OCTAL AND DECIMAL ARE THE VALUES THEMSELVES.
282 ! SYMBOL VALUES ARE PRINTED IN OCTAL, WITH
283 ! SIGN EXTENSION ON THE LOW-ORDER 16 BITS, AND THE
284 ! NEXT HIGHER-ORDER BIT MEANING RELOCATABLE.
285 ! UNUSED ARGUMENTS ARE SET TO ZERO.
286 !
287 ! IMPLICIT INPUTS:
288 !
289 ! NONE
290 !
291 ! IMPLICIT OUTPUTS:
292 !
293 ! NONE
294 !
295 ! ROUTINE VALUE:
296 !
297 ! NONE
298 !
299 ! SIDE EFFECTS
300 !
301 ! SENDS EDITED STRING TO I/O DEVICE
302 !
303 !--
304
305 BEGIN
306
307 LOCAL
308 ARG,
309 CHAR,
310 CHPTR,
311 TEMP_ARG;
312
313 !
314 CHPTR = CH$PTR (.MESSAGE, -1);
315
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
316 DO
317 BEGIN
318 CHAR = CH$A_RCHAR (CHPTR);
319
320 IF (.CHAR NEQ 0)
321 THEN
322
323 IF (.CHAR NEQ %C'%')
324 THEN
325 OUTPUT (.CHAN, .CHAR)
326 ELSE
327 BEGIN !SPECIAL REFERENCE TO A SUBSTITUTION ARG
328 CHAR = CH$A_RCHAR (CHPTR);
329
330 IF (.CHAR EQL %C'%')
331 THEN
332 OUTPUT (.CHAN, .CHAR)
333 ELSE
334 BEGIN
335 ARG = (CASE .CHAR FROM %C'1' TO %C'5' OF
336 SET
337 [%C'1'] : .ARG1;
338 [%C'2'] : .ARG2;
339 [%C'3'] : .ARG3;
340 [%C'4'] : .ARG4;
341 [%C'5'] : .ARG5;
342 TES);
343 CHAR = CH$A_RCHAR (CHPTR);
344
345 SELECTONE .CHAR OF
346 SET
347
348 [%C'A'] : !ASCII STRING
349 OUTSTR (.CHAN, .ARG);
350
351 [%C'D'] : !DECIMAL NUMBER
352 OUTNUM (.CHAN, .ARG, 10, 0);
353
354 [%C'O'] : !OCTAL NUMBER
355 OUTNUM (.CHAN, .ARG, 8, 0);
356
357 [%C'V'] : !SYMBOL VALUE
358 BEGIN
359 TEMP_ARG = (IF (.ARG<15, 1> EQL 0) THEN 0 ELSE -1); !SIGN EXTEND
360 TEMP_ARG<0, 15> = .ARG<0, 15>;
361 OUTNUM (.CHAN, .TEMP_ARG, 8, 0);
362
363 IF (.ARG<16, 1> NEQ 0) THEN OUTSTR (.CHAN, UPLIT (%ASCIZ'-R'));
364
365 END;
366 TES;
367
368 END; !OF NOT JUST %%
369
370 END; !OF % PROCESSING
371
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
372 END
373 UNTIL (.CHAR EQL 0);
374
375 END; !OF ROUTINE ERR_OUTSTR
376
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
377 GLOBAL ROUTINE ERRMSG ! ERROR MESSAGE
378 (CHAN, ERRNO, ARG1, ARG2, ARG3, ARG4, ARG5) : NOVALUE =
379
380 !++
381 ! FUNCTIONAL DESCRIPTION:
382 !
383 ! PRINT AN ERROR MESSAGE WITH UP TO FIVE VARIABLE ARGUMENTS.
384 ! THE ERROR MESSAGES ARE LISTED IN THE HEAD OF THIS MODULE
385 ! WITH THEIR NUMBERS AND THE MEANING OF EACH ARGUMENT.
386 ! UNUSED ARGUMENTS SHOULD BE SET TO ZERO.
387 !
388 ! FORMAL PARAMETERS:
389 !
390 ! CHAN - THE CHANNEL ON WHICH TO SEND THE ERROR MESSAGE
391 ! ERRNO - THE NUMBER OF THE ERROR MESSAGE TO PRINT
392 ! ARG1:ARG5 - THE VARIABLE ARGUMENTS IN THE MESSAGE
393 !
394 ! IMPLICIT INPUTS:
395 !
396 ! NONE
397 !
398 ! IMPLICIT OUTPUTS:
399 !
400 ! NONE
401 !
402 ! ROUTINE VALUE:
403 !
404 ! NONE
405 !
406 ! SIDE EFFECTS
407 !
408 ! SENDS AN EDITED STRING TO THE I/O DEVICE.
409 !
410 !--
411
412 BEGIN
413
414 LOCAL
415 MESSAGE;
416
417 !
418 !
419 !
420 ! HERE ARE THE ERROR MESSAGES, BY ERROR NUMBER.
421 ! A PERCENT SIGN INDICATES ARGUMENT SUBSTITUTION. THE LETTER
422 ! FOLLOWING THE ARGUMENT NUMBER SPECIFIES THE FORMAT: A = ASCII,
423 ! D = DECIMAL, O = OCTAL, V = SYMBOL VALUE.
424 ! %% PRINTS A PERCENT SIGN.
425 !
426 MESSAGE = (CASE .ERRNO FROM 1 TO 40 OF
427 SET
428 [1] : UPLIT (%ASCIZ'? Storage exhausted -- %1A'); !
429 ! !ARG 1 = ROUTINE NAME
430 [2] : UPLIT (%ASCIZ'? Invalid file name: "%2A" -- %1A'); !
431 ! !ARG 1 = ROUTINE NAME,
432 ! ! 2 = FILE NAME
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
433 [3] : UPLIT (%ASCIZ'? OPEN UUO failed for %2A -- %1A'); !
434 ! !ARG 1 = ROUTINE NAME,
435 ! ! 2 = FILE NAME
436 [4] : UPLIT (%ASCIZ'? LOOKUP/ENTER UUO failed for %2A, code = %3O -- %1A'); !
437 ! !ARG 1 = ROUTINE NAME
438 ! ! 2 = FILE NAME
439 ! ! 3 = ERROR CODE
440 [5] : UPLIT (%ASCIZ'? I/O DATA ERROR on %2A, status = %3O -- %1A'); !
441 ! !ARG 1 = ROUTINE NAME
442 ! ! 2 = FILE NAME
443 ! ! 3 = STATUS
444 [6] : UPLIT (%ASCIZ'? Syntax error in command line: "%2A" -- %1A'); !
445 ! !ARG 1 = ROUTINE NAME
446 ! ! 2 = COMMAND LINE
447 [7] : UPLIT (%ASCIZ'? Switches must be associated with a file -- %1A'); !
448 ! !ARG 1 = ROUTINE NAME
449 [8] : UPLIT (%ASCIZ'? Indirect files nested too deep: "%2A" -- %1A'); !
450 ! !ARG 1 = ROUTINE NAME
451 ! ! 2 = COMMAND LINE
452 [9] : UPLIT (%ASCIZ'? Input error or unexpected EOF -- %1A'); !
453 ! !ARG 1 = ROUTINE NAME
454 [10] : UPLIT (%ASCIZ'%% Badly formatted OBJ file %2A -- %1A'); !
455 ! !ARG 1 = ROUTINE NAME
456 ! ! 2 = OBJ FILE NAME
457 [11] : UPLIT (%ASCIZ'%% Checksum error in OBJ file %2A; should be %3O, was %4O -- %1A'); !
458 ! !ARG 1 = ROUTINE NAME
459 ! ! 2 = OBJECT FILE NAME
460 ! ! 3 = COMPUTED CHECKSUM
461 ! ! 4 = CHECKSUM READ
462 [12] : UPLIT (%ASCIZ'%% Object file feature is unsupported -- %1A'); !
463 ! !ARG 1 = ROUTINE NAME
464 [13] : UPLIT (%ASCIZ
465 '%% Global symbol %1A defined in module %2A with value %3V and in module %4A with value %5V');
466 ! !
467 ! !ARG 1 = SYMBOL NAME
468 ! ! 2 = FIRST MODULE NAME
469 ! ! 3 = FIRST VALUE
470 ! ! 4 = SECOND MODULE NAME
471 ! ! 5 = SECOND VALUE
472 !
473 [14] : UPLIT (%ASCIZ'? Complex relocation exceeded stack limit of %3D, file %2A -- %1A'); !
474 ! !ARG 1 = ROUTINE NAME
475 ! ! 2 = FILE NAME
476 ! ! 3 = STACK LIMIT
477 !
478 [15] : UPLIT (%ASCIZ'%% Module %2A multiply defines P-section %3A; flags = %5O, were %4O -- %1A');
479 !
480 ! !ARG 1 = ROUTINE NAME
481 ! ! 2 = MODULE NAME
482 ! ! 3 = PSECT NAME
483 ! ! 4 = OLD FLAGS
484 ! ! 5 = NEW FLAGS
485 !
486 [16] : UPLIT (%ASCIZ'%% Global symbol %1A is undefined'); !
487 ! !ARG 1 = SYMBOL NAME
488 !
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
489 [17] : UPLIT (%ASCIZ'%% Divide by zero when resolving relocation in P-section %2A -- %1A'); !
490 ! !ARG 1 = ROUTINE NAME
491 ! ! 2 = PSECT NAME
492 [18] : UPLIT (%ASCIZ'%% Relocation value %3O truncated to 8 bits in P-section %2A -- %1A'); !
493 ! !ARG 1 = ROUTINE NAME
494 ! ! 2 = PSECT NAME
495 ! ! 3 = VALUE TO BE TRUNCATED
496 !
497 [19] : UPLIT (%ASCIZ'? Second %3A file in command string: "%2A" -- %1A'); !
498 ! !ARG 1 = ROUTINE NAME
499 ! ! 2 = FILE NAME
500 ! ! 3 = ASSUMED TYPE
501 !
502 [20] : UPLIT (%ASCIZ'%% Unspecified output file: "%2A", ignored - %1A'); !
503 ! !ARG 1 = ROUTINE NAME
504 ! ! 2 = FILE NAME
505 !
506 [21] : UPLIT (%ASCIZ'? No input files -- %1A'); !
507 ! !ARG 1 = ROUTINE NAME
508 !
509 [22] : UPLIT (%ASCIZ'%% Partition length of %2O less than task length of %3O -- %1A'); !
510 ! !ARG 1 = ROUTINE NAME
511 ! ! 2 = PARTITION LENGTH
512 ! ! 3 = TASK LENGTH
513 !
514 !
515 [23] : UPLIT (%ASCIZ'%% Only one module allowed in symbol table file %2A -- %1A'); !
516 ! !ARG 1 = ROUTINE NAME
517 ! ! 2 = FILE NAME
518 !
519 !
520 [24] : UPLIT (%ASCIZ'? Error in text file %2A -- %1A'); !
521 ! !ARG 1 = ROUTINE NAME
522 ! ! 2 = FILE NAME
523 !
524 [25] : UPLIT (%ASCIZ'? Invalid address %2O in file %3A -- %1A'); !
525 ! !ARG 1 = ROUTINE NAME
526 ! ! 2 = ADDRESS
527 ! ! 3 = FILE NAME
528 !
529 [26] : UPLIT (%ASCIZ'? Cannot find %3D bytes in system pool in %2A -- %1A'); !
530 ! !ARG 1 = ROUTINE NAME
531 ! ! 2 = FILE NAME
532 ! ! 3 = AMOUNT REQUESTED
533 !
534 [27] : UPLIT (%ASCIZ'? Failure freeing %3D bytes at %4O in system pool in %2A, code %5D -- %1A');
535 ! !ARG 1 = ROUTINE NAME
536 ! ! 2 = FILE NAME
537 ! ! 3 = AMOUNT IN BLOCK
538 ! ! 4 = ADDRESS OF BLOCK
539 ! ! 5 = ERROR CODE (SEE LISTING)
540 !
541 [28] : UPLIT (%ASCIZ'? 22-bit memory management not supported in %2A -- %1A'); !
542 ! !ARG 1 = ROUTINE NAME
543 ! ! 2 = FILE NAME
544 !
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
545 [29] : UPLIT (%ASCIZ'? Symbol %2A has conflicting values in %3A and %4A -- %1A'); !
546 ! !ARG 1 = ROUTINE NAME
547 ! ! 2 = SYMBOL NAME
548 ! ! 3 = SYMBOL TABLE FILE 1
549 ! ! 4 = SYMBOL TABLE FILE 2
550 !
551 !
552 [30] : UPLIT (%ASCIZ'? The Communications Executive has already been loaded into %2A -- %1A'); !
553 ! !ARG 1 = ROUTINE NAME
554 ! ! 2 = KERNEL FILE NAME
555 !
556 [31] : UPLIT (%ASCIZ'? The top of the COMM EXEC is too high: %3O .GT. %4O in %2A -- %1A'); !
557 ! !ARG 1 = ROUTINE NAME
558 ! ! 2 = FILE NAME
559 ! ! 3 = TOP OF COMM EXEC
560 ! ! 4 = MAX EXEC SIZE
561 !
562 [32] : UPLIT (%ASCIZ'%% Global symbol %2A is not defined in %3A -- %1A'); !
563 ! !ARG 1 = ROUTINE NAME
564 ! ! 2 = SYMBOL NAME
565 ! ! 3 = FILE NAME
566 !
567 [33] : UPLIT (%ASCIZ'? Program logical address space (PLAS) is not supported - %1A'); !
568 ! !ARG 1 = ROUTINE NAME
569 !
570 [34] : UPLIT (%ASCIZ'? File %2A size of %3D bytes is larger than max of %4D - %1A'); !
571 ! !ARG 1 = ROUTINE NAME
572 ! ! 2 = FILE NAME
573 ! ! 3 = FILE SIZE
574 ! ! 4 = MAX SIZE
575 [35] : UPLIT (%ASCIZ'? Loading library file %2A overflowed network pool by %3D bytes -- $1A'); !
576 ! !ARG 1 = ROUTINE NAME
577 ! ! 2 = LIBRARY NAME
578 ! ! 3 = OVERFLOW AMOUNT
579 !
580 [36] : UPLIT (%ASCIZ'? DDM %2A is unknown -- %1A'); !
581 ! !ARG 1 = ROUTINE NAME
582 ! ! 2 = DDM NAME
583 !
584 [37] : UPLIT (%ASCIZ'? DCP %2A is unknown -- %1A'); !
585 ! !ARG 1 = ROUTINE NAME
586 ! ! 2 = DLC NAME
587 !
588 [38] : UPLIT (%ASCIZ'? LLC %2A is unknown -- %1A'); !
589 ! !ARG 1 = ROUTINE NAME
590 ! ! 2 = LLC NAME
591 !
592 [39] : UPLIT (%ASCIZ'? Invalid %2A - %3D found -- %1A'); !
593 ! !ARG 1 = Routine Name
594 ! !ARG 2 = Type of construct in error
595 ! !ARG 3 = Value of construct
596 !
597 [40] : UPLIT (%ASCIZ'? Invalid %2A %3A %4A %5O -- %1A');
598 !
599 [INRANGE] : UPLIT (%ASCIZ'? Invalid error'); !ERROR MSG HAS NO TEXT
600 [OUTRANGE] : UPLIT (%ASCIZ'? Illegal error'); !ERROR NUMBER OUT OF RANGE
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
601 TES);
602 PCRLF (.CHAN);
603 ERR_OUTSTR (.CHAN, .MESSAGE, .ARG1, .ARG2, .ARG3, .ARG4, .ARG5);
604 !
605 ! DETERMINE PROCESSING OF ERROR:
606 ! NON-FATAL = CONTINUE PROCESSING
607 ! FATAL = TERMINATE PROGRAM
608 !
609
610 CASE .ERRNO FROM 1 TO 40 OF
611 SET
612
613 [1 TO 9, 14, 19, 21, 24 TO 31, 33 TO 40, OUTRANGE] :
614 BEGIN
615 PCRLF (.CHAN);
616 OUTSTR (.CHAN, UPLIT (%ASCIZ'?Terminating - No Recovery Available for Previous Error'));
617 STOP_PROGRAM ();
618 END;
619
620 [INRANGE] :
621 ;
622 TES;
623
624 END;
625
626 !
627 END
628
629 ELUDOM
630 ! Local Modes:
631 ! Comment Start:!
632 ! Mode:Fundamental
633 ! Auto Save Mode:2
634 ! Comment Column:36
DSK:MSGH.XRF[4,31] 31-Aug-79 14:47
ARG 308 335# 349 352 355 359 360
363
ARG1 261 337 378 603
ARG2 261 338 378 603
ARG3 261 339 378 603
ARG4 261 340 378 603
ARG5 261 341 378 603
CHAN 95 125 126 129 172 179 224
234 244 251 257 261 325 332
349 352 355 361 363 378 602
603 615 616
CHAR 162 170# 172 175 215 253# 255#
257 309 318# 320 323 325 328#
330 332 335 343# 345 373
CHPTR 163 166# 170 310 314# 318 328
343
ERRMSG 68 377*
ERRNO 378 426 610
ERR_OUTSTR 67 260* 603
LEN 179 229
LEN1 216 229# 236# 244 250#
MESSAGE 129 166 261 314 415 426# 603
MSGH 6#
OUTNUM 66 179* 244 352 355 361
OUTPUT 92* 125 126 172 234 251 257
325 332
OUTSTR 65 129* 224 349 363 616
PCRLF 64 95* 602 615
QUOTIENT 217 239# 242 244
RADIX 179 221 239 240 244
REMAINDER 218 240# 253
STOP_PROGRAM 93 617
TEMP_ARG 311 359# 360# 361
VAL 219 228# 231 235# 239 240
VALUE 179 228