Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/tkb-vnp/mcor.bpt
There are no other files named mcor.bpt in the archive.
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

   1	!<TKB-VNP>MCOR.BLI.2,  5-Mar-79 10:33:06, Edit by SROBINSON
   2	!<SAUTER.TKB20>MCOR.BLI.22, 17-Jan-79 14:24:21, Edit by SROBINSON
   3	!<SAUTER.TKB20>MCOR.BLI.20, 16-Dec-78 10:34:12, Edit by SROBINSON
   4	!<SAUTER.TKB20>MCOR.BLI.17, 15-Dec-78 10:33:21, Edit by SROBINSON
   5	!<SAUTER.TKB20>MCOR.BLI.15, 24-Nov-78 10:19:32, Edit by SROBINSON
   6	!<SAUTER.TKB20>MCOR.BLI.13, 17-Nov-78 16:12:22, Edit by SROBINSON
   7	!<SAUTER.TKB20>MCOR.BLI.12,  6-Oct-78 12:24:08, Edit by SROBINSON
   8	!<SAUTER.VNP20>MCOR.BLI.3, 22-Sep-78 07:03:56, Edit by SROBINSON
   9	MODULE MCOR (					!MAKE CORE IMAGE
  10			IDENT = 'X0.1-5'
  11			) =
  12	BEGIN
  13	!
  14	!
  15	!
  16	! COPYRIGHT (C) 1978, 1979 BY
  17	! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
  18	!
  19	!
  20	! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
  21	! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
  22	! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
  23	! COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
  24	! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
  25	! TRANSFERRED.
  26	!
  27	!
  28	! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
  29	! AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
  30	! CORPORATION.
  31	!
  32	! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
  33	! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
  34	!
  35	
  36	!++
  37	! FACILITY: VNP-20
  38	!
  39	! ABSTRACT:
  40	!
  41	!
  42	! THIS MODULE PROCESSES CORE IMAGES (KERNEL AND TASK) FOR VNP20
  43	!
  44	!
  45	! ENVIRONMENT: TOPS-20 USER MODE
  46	!
  47	! AUTHOR: J. SAUTER, CREATION DATE: 30-MAY-78
  48	!
  49	! MODIFIED BY:
  50	!
  51	!	Scott G. Robinson, 21-SEP-78: VERSION X0.1-2A
  52	!	- Add routine GETSYM_3 for adding NSP symbols to VALUES array
  53	!
  54	!	Scott G. Robinson, 24-NOV-78: VERSION X0.1-3A, X0.1-4A
  55	!	- Add symbols for NTL block usage
  56	!	- Add symbols for NRM data base usage
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

  57	!
  58	!	Scott G. Robinson, 5-MAR-79 : VERSION X0.1-5
  59	!	- Add symbol PD_NSP to those extracted in GETSYM_1
  60	!
  61	! 	, : VERSION
  62	! 01	-
  63	!--
  64	
  65	!<BLF/PAGE>
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

  66	!
  67	! TABLE OF CONTENTS:
  68	!
  69	
  70	FORWARD ROUTINE
  71	    RCOR : NOVALUE,				!READ CORE IMAGE
  72	    WCOR : NOVALUE,				!WRITE CORE IMAGE
  73	    FCOR : NOVALUE,				!FREE CORE IMAGE
  74	    DEL_MODU,					!DELETE A MODULE
  75	    DEL_PSECT,					!DELETE A PSECT
  76	    DEL_GLOBAL,					!DELETE A GLOBAL
  77	    GETSYM : NOVALUE,				!READ SYMBOLS INTO VALUE BLOCK
  78	    GETSYM_1 : NOVALUE,				!FIRST HALF OF SYMBOLS
  79	    GETSYM_2 : NOVALUE,				!SECOND HALF OF SYMBOLS
  80	    GETSYM_3 : NOVALUE;				!LOAD NSP SYMBOLS
  81	
  82	!
  83	! INCLUDE FILES:
  84	!
  85	
  86	LIBRARY 'VNP-LIB.L36';
  87	
  88	!REQUIRE 'BLOCKH.REQ';				!PREPARE TO DEFINE STORAGE BLOCKS
  89	!REQUIRE 'FILE.REQ';				!DEFINE FILE BLOCK
  90	!REQUIRE 'FILSW.REQ';				!DEFINE FILE SWITCHES
  91	!REQUIRE 'GLOBL.REQ';				!DEFINE GLOBAL BLOCK
  92	!REQUIRE 'MODU.REQ';				!DEFINE MODULE BLOCK
  93	!REQUIRE 'PSECT.REQ';				!DEFINE PSECT BLOCK
  94	!REQUIRE 'VNPVAL.REQ';				!VALUE BLOCK FOR VNP20
  95	!REQUIRE 'LLC.REQ';				!DEFINE LLC BLOCK
  96	!REQUIRE 'DLC.REQ';				!DEFINE DLC BLOCK
  97	!REQUIRE 'DDM.REQ';				!DEFINE DDM BLOCK
  98	!REQUIRE 'BLOCKT.REQ';				!END OF DEFINING STORAGE BLOCKS
  99	!REQUIRE 'TSKDEF.REQ';				!DEFINE TASK OFFSETS
 100	!
 101	! MACROS:
 102	!
 103	!	NONE
 104	!
 105	! EQUATED SYMBOLS:
 106	!
 107	
 108	LITERAL
 109	    DEBUG = 0;
 110	
 111	!
 112	! OWN STORAGE:
 113	!
 114	!	NONE
 115	!
 116	! EXTERNAL REFERENCES:
 117	!
 118	
 119	EXTERNAL ROUTINE
 120	    ATOR50 : NOVALUE,				!CONVERT ASCII TO RADIX50_11
 121	    R50TOA : NOVALUE,				!CONVERT RADIX50_11 TO ASCII
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 122	    OPEN,					!OPEN A FILE
 123	    CLOSE : NOVALUE,				!CLOSE A FILE
 124	    INPUT,					!READ FROM A FILE
 125	    OUTPUT : NOVALUE,				!WRITE ON A FILE
 126	    RSTB : NOVALUE,				!READ SYMBOL TABLE
 127	    PCRLF : NOVALUE,				!PRINT CR THEN LF
 128	    OUTSTR : NOVALUE,				!PRINT A STRING
 129	    OUTNUM : NOVALUE,				!PRINT A NUMBER
 130	    ERROR : NOVALUE,				!SIGNAL PROGRAMMING ERROR
 131	    ERRMSG : NOVALUE,				!ERROR MESSAGE
 132	    SYM_VAL,					!OBTAIN VALUE OF A SYMBOL
 133	    GETSTG,					!GET STORAGE FROM FREE LIST
 134	    GETBLK,					!GET A BLOCK OF STORAGE
 135	    FRESTG : NOVALUE,				!RETURN STORAGE TO FREE LIST
 136	    FREBLK : NOVALUE,				!RETURN A BLOCK OF STORAGE
 137	    FND_CHAIN,					!"FIND" AN ITEM IN A CHAIN
 138	    DEL_PTRS : NOVALUE;				!DELETE CHAIN BLOCKS
 139	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 140	GLOBAL ROUTINE RCOR (FILE_PTR, FILE_CHAN, CORE_LEN) : NOVALUE = 	!READ CORE IMAGE
 141	
 142	!++
 143	! FUNCTIONAL DESCRIPTION:
 144	!
 145	!	READ A CORE IMAGE FOR CORE IMAGE BUILDER (VNP20)
 146	!	 THIS INCLUDES THE KERNEL AND TASK IMAGES.
 147	!
 148	! FORMAL PARAMETERS:
 149	!
 150	!	FILE_PTR - POINTER TO THE FILE BLOCK WHICH DESCRIBES
 151	!	 THE CORE IMAGE FILE TO BE READ
 152	!	FILE_CHAN - THE CHANNEL NUMBER TO USE WHEN READING THE FILE.
 153	!	CORE_LEN - LENGTH OF THE CORE IMAGE, IN 8-BIT BYTES.
 154	!
 155	! IMPLICIT INPUTS:
 156	!
 157	!	NONE
 158	!
 159	! IMPLICIT OUTPUTS:
 160	!
 161	!	FILLS THE 'CORE_IMAGE' ARRAY WITH THE CORE IMAGE
 162	!	 AND STORES POINTERS IN THE FILE BLOCK
 163	!
 164	! ROUTINE VALUE:
 165	!
 166	!	NONE
 167	!
 168	! SIDE EFFECTS
 169	!
 170	!	OPENS, READS AND CLOSES THE SPECIFIED FILE
 171	!	 OBTAINS TWO ARRAYS FROM FREE SPACE
 172	!
 173	!--
 174	
 175	    BEGIN
 176	
 177	    BIND
 178		ROUTINE_NAME = UPLIT (%ASCIZ'RCOR');
 179	
 180	    MAP
 181		FILE_PTR : REF FILE_BLOCK;
 182	
 183	    LOCAL
 184		CHAR,
 185		CORE_IMAGE : REF VECTOR,
 186		CORE_WORD,
 187		LABEL_IMAGE : REF VECTOR [1024],
 188		LOCN,
 189		READ_DONE;
 190	
 191	!
 192	! GET SPACE FOR THE CORE IMAGE AND LABELS FROM FREE STORAGE
 193	!
 194	
 195	    IF ((CORE_IMAGE = GETSTG (.CORE_LEN/4)) EQL 0)
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 196	    THEN
 197		ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
 198	    ELSE
 199		BEGIN
 200	
 201		IF ((LABEL_IMAGE = GETSTG (1024)) EQL 0)
 202		THEN
 203		    ERRMSG (0, 1, ROUTINE_NAME, 0, 0, 0, 0)
 204		ELSE
 205		    BEGIN
 206	!
 207	! CLEAR THE CORE ARRAY, SO ANY LOCATIONS NOT FILLED WILL BE
 208	!  ZERO.
 209	!
 210	
 211		    INCR COUNTER FROM 0 TO ((.CORE_LEN/4) - 1) DO
 212			CORE_IMAGE [.COUNTER] = 0;
 213	
 214	!
 215	! OPEN THE FILE CONTAINING THE KERNEL.
 216	!
 217	
 218		    IF (OPEN (.FILE_CHAN, FILE_PTR [FILE_NAME], 2, 0, UPLIT (%ASCIZ'TSK')) NEQ 0)
 219		    THEN
 220			BEGIN				!SUCCESSFUL INPUT OPEN
 221			READ_DONE = 0;
 222			LOCN = 0;
 223	!
 224	! RECORD THE LABEL BLOCK SEPARATELY
 225	!
 226	
 227			INCR COUNTER FROM 0 TO 1023 DO
 228			    LABEL_IMAGE [.COUNTER] = INPUT (.FILE_CHAN);
 229	
 230	!
 231	! READ THE DATA INTO THE CORE IMAGE ARRAY
 232	!
 233	
 234			WHILE (.READ_DONE EQL 0) DO
 235			    BEGIN
 236			    CHAR = INPUT (.FILE_CHAN);
 237	
 238			    IF (.CHAR LSS 0)
 239			    THEN
 240				READ_DONE = -1
 241			    ELSE
 242				BEGIN
 243				CORE_WORD = .CORE_IMAGE [.LOCN/4];
 244				CORE_WORD<(CASE (.LOCN AND 3) FROM 0 TO 3 OF
 245					SET
 246					[0] : 18;
 247					[1] : 26;
 248					[2] : 0;
 249					[3] : 8;
 250					TES), 8> = .CHAR;
 251				CORE_IMAGE [.LOCN/4] = .CORE_WORD;
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 252				LOCN = .LOCN + 1;
 253	
 254				IF (.LOCN GTR .CORE_LEN) THEN READ_DONE = -1;
 255	
 256				END;
 257	
 258			    END;
 259	
 260	!
 261	! NOW STORE POINTERS TO THE CORE IMAGE AND LABEL IMAGE IN THE FILE
 262	!  BLOCK, FOR CONVENIENT REFERENCE.
 263	!
 264			FILE_PTR [FILE_CORE] = .CORE_IMAGE;
 265			FILE_PTR [FILE_CORE_LEN] = .CORE_LEN;
 266			FILE_PTR [FILE_LABEL] = .LABEL_IMAGE;
 267			CLOSE (.FILE_CHAN);
 268			END;
 269	
 270		    END;
 271	
 272		END;
 273	
 274	    END;					!OF RCOR
 275	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 276	GLOBAL ROUTINE WCOR (FILE_CHAN, FILE_PTR) : NOVALUE = 	!WRITE CORE IMAGE
 277	
 278	!++
 279	! FUNCTIONAL DESCRIPTION:
 280	!
 281	!	WRITE A CORE IMAGE FOR THE CORE IMAGE BUILDER (VNP20).
 282	!
 283	! FORMAL PARAMETERS:
 284	!
 285	!	FILE_CHAN - THE CHANNEL NUMBER TO USE WHEN READING THE FILE.
 286	!	FILE_PTR - POINTER TO THE FILE BLOCK WHICH DESCRIBES
 287	!	 THE CORE IMAGE FILE TO BE READ
 288	!
 289	! IMPLICIT INPUTS:
 290	!
 291	!	NONE
 292	!
 293	! IMPLICIT OUTPUTS:
 294	!
 295	!	NONE
 296	!
 297	! ROUTINE VALUE:
 298	!
 299	!	NONE
 300	!
 301	! SIDE EFFECTS
 302	!
 303	!	OPENS, WRITES AND CLOSES THE SPECIFIED FILE
 304	!
 305	!--
 306	
 307	    BEGIN
 308	
 309	    BIND
 310		ROUTINE_NAME = UPLIT (%ASCIZ'WCOR');
 311	
 312	    MAP
 313		FILE_PTR : REF FILE_BLOCK;
 314	
 315	    LOCAL
 316		CORE_IMAGE : REF VECTOR,
 317		LABEL_IMAGE : REF VECTOR [1024],
 318		CHAR,
 319		CORE_LEN,
 320		CORE_WORD,
 321		LOCN,
 322		WRITE_DONE;
 323	
 324	!
 325	! OPEN THE FILE WHICH IS TO CONTAIN THE CORE IMAGE
 326	!
 327	
 328	    IF (OPEN (.FILE_CHAN, FILE_PTR [FILE_NAME], 2, 1, UPLIT (%ASCIZ'SYS')) NEQ 0)
 329	    THEN
 330		BEGIN					!SUCCESSFUL OUTPUT OPEN
 331		CORE_IMAGE = .FILE_PTR [FILE_CORE];
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 332		CORE_LEN = .FILE_PTR [FILE_CORE_LEN];
 333		LABEL_IMAGE = .FILE_PTR [FILE_LABEL];
 334		WRITE_DONE = 0;
 335		LOCN = 0;
 336	!
 337	! FIRST WRITE OUT THE LABEL BLOCK
 338	!
 339	
 340		INCR COUNTER FROM 0 TO 1023 DO
 341		    OUTPUT (.FILE_CHAN, .LABEL_IMAGE [.COUNTER]);
 342	
 343	!
 344	! WRITE THE DATA FROM THE CORE IMAGE ARRAY
 345	!
 346	
 347		WHILE (.WRITE_DONE EQL 0) DO
 348		    BEGIN
 349		    CORE_WORD = .CORE_IMAGE [.LOCN/4];
 350		    CHAR = .CORE_WORD<(CASE (.LOCN AND 3) FROM 0 TO 3 OF
 351			    SET
 352			    [0] : 18;
 353			    [1] : 26;
 354			    [2] : 0;
 355			    [3] : 8;
 356			    TES), 8>;
 357		    OUTPUT (.FILE_CHAN, .CHAR);
 358		    LOCN = .LOCN + 1;
 359	
 360		    IF (.LOCN GEQ .CORE_LEN) THEN WRITE_DONE = -1;
 361	
 362		    END;
 363	
 364		CLOSE (.FILE_CHAN);
 365		END;
 366	
 367	    END;					!OF WCOR
 368	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 369	GLOBAL ROUTINE FCOR (FILE_PTR) : NOVALUE = 	!FREE CORE IMAGE
 370	
 371	!++
 372	! FUNCTIONAL DESCRIPTION:
 373	!
 374	!	PURGE A CORE IMAGE - DISCARD ITS FILE BLOCK AND ALL THAT
 375	!	 IT POINTS TO.
 376	!
 377	! FORMAL PARAMETERS:
 378	!
 379	!	FILE_PTR - POINTER TO THE FILE BLOCK WHICH DESCRIBES
 380	!	 THE CORE IMAGE FILE TO BE FREED
 381	!
 382	! IMPLICIT INPUTS:
 383	!
 384	!	NONE
 385	!
 386	! IMPLICIT OUTPUTS:
 387	!
 388	!	NONE
 389	!
 390	! ROUTINE VALUE:
 391	!
 392	!	NONE
 393	!
 394	! SIDE EFFECTS
 395	!
 396	!	RETURNS SPACE TO FREE STORAGE
 397	!
 398	!--
 399	
 400	    BEGIN
 401	
 402	    BIND
 403		ROUTINE_NAME = UPLIT (%ASCIZ'FCOR');
 404	
 405	    MAP
 406		FILE_PTR : REF FILE_BLOCK;
 407	
 408	    LOCAL
 409		CORE_IMAGE : REF VECTOR,
 410		LABEL_IMAGE : REF VECTOR [1024],
 411		CORE_LEN;
 412	
 413	!
 414	! EXTRACT POINTERS AND SO ON FROM THE FILE BLOCK
 415	!
 416	    LABEL_IMAGE = .FILE_PTR [FILE_LABEL];
 417	    CORE_LEN = .FILE_PTR [FILE_CORE_LEN];
 418	    CORE_IMAGE = .FILE_PTR [FILE_CORE];
 419	!
 420	! FREE THE CORE IMAGE AND THE LABEL IMAGE
 421	!
 422	
 423	    IF (.CORE_LEN NEQ 0) THEN FRESTG (.CORE_IMAGE, .CORE_LEN/4);
 424	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 425	    IF (.LABEL_IMAGE NEQ 0) THEN FRESTG (.LABEL_IMAGE, 1024);
 426	
 427	!
 428	! SCAN THROUGH THE SYMBOL TABLE, FREEING IT.
 429	!
 430	    FND_CHAIN (.FILE_PTR [FILE_DOWN], DEL_MODU, 0);
 431	!
 432	! NOW FREE THE CHAIN BLOCKS
 433	!
 434	    DEL_PTRS (.FILE_PTR [FILE_DOWN]);
 435	!
 436	! NEW FREE THE FILE BLOCK ITSELF
 437	!
 438	    FREBLK (.FILE_PTR);
 439	!
 440	    END;					!OF FCOR
 441	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 442	ROUTINE DEL_MODU (MODU_PTR, UNUSED) = 		!DELETE A MODULE
 443	
 444	!++
 445	! FUNCTIONAL DESCRIPTION:
 446	!
 447	!	DELETE A MODULE AFTER DELETEING THE PSECTS IT POINTS TO.
 448	!	 USED IN CALL TO FND_CHAIN.
 449	!
 450	! FORMAL PARAMETERS:
 451	!
 452	!	MODU_PTR - POINTER TO THE MODULE BLOCK TO BE DELETED
 453	!	UNUSED - NOT USED
 454	!
 455	! IMPLICIT INPUTS:
 456	!
 457	!	NONE
 458	!
 459	! IMPLICIT OUTPUTS:
 460	!
 461	!	NONE
 462	!
 463	! ROUTINE VALUE:
 464	!
 465	!	ALWAYS 0 TO CONTINUE THE SCAN
 466	!
 467	! SIDE EFFECTS
 468	!
 469	!	RETURNS SPACE TO FREE STORAGE
 470	!
 471	!--
 472	
 473	    BEGIN
 474	
 475	    BIND
 476		ROUTINE_NAME = UPLIT (%ASCIZ'DEL_MODU');
 477	
 478	    MAP
 479		MODU_PTR : REF MODU_BLOCK;
 480	
 481	!
 482	! FREE ALL THE PSECTS FIRST
 483	!
 484	
 485	    IF (.MODU_PTR [MODU_PSECTS] NEQ 0)
 486	    THEN
 487		BEGIN
 488		FND_CHAIN (.MODU_PTR [MODU_PSECTS], DEL_PSECT, 0);
 489		DEL_PTRS (.MODU_PTR [MODU_PSECTS]);
 490		END;
 491	
 492	!
 493	! FREE ALL THE GLOBALS NEXT
 494	!
 495	
 496	    IF (.MODU_PTR [MODU_GLOBALS] NEQ 0)
 497	    THEN
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 498		BEGIN
 499		FND_CHAIN (.MODU_PTR [MODU_GLOBALS], DEL_GLOBAL, 0);
 500		DEL_PTRS (.MODU_PTR [MODU_GLOBALS]);
 501		END;
 502	
 503	!
 504	! NOW FREE THE MODULE BLOCK
 505	!
 506	    FREBLK (.MODU_PTR);
 507	!
 508	! ALWAYS RETURN 0 TO CONTINUE THE SCAN
 509	!
 510	    0
 511	    END;					!OF DEL_MODU
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 512	ROUTINE DEL_PSECT (PSECT_PTR, UNUSED) = 	!DELETE A PSECT
 513	
 514	!++
 515	! FUNCTIONAL DESCRIPTION:
 516	!
 517	!	DELETE A PSECT AFTER DELETEING THE GLOBALS IT POINTS TO.
 518	!	 USED IN CALL TO FND_CHAIN.
 519	!
 520	! FORMAL PARAMETERS:
 521	!
 522	!	PSECT_PTR - POINTER TO THE PSECT BLOCK TO BE DELETED
 523	!	UNUSED - NOT USED
 524	!
 525	! IMPLICIT INPUTS:
 526	!
 527	!	NONE
 528	!
 529	! IMPLICIT OUTPUTS:
 530	!
 531	!	NONE
 532	!
 533	! ROUTINE VALUE:
 534	!
 535	!	ALWAYS 0 TO CONTINUE THE SCAN
 536	!
 537	! SIDE EFFECTS
 538	!
 539	!	RETURNS SPACE TO FREE STORAGE
 540	!
 541	!--
 542	
 543	    BEGIN
 544	
 545	    BIND
 546		ROUTINE_NAME = UPLIT (%ASCIZ'DEL_PSECT');
 547	
 548	    MAP
 549		PSECT_PTR : REF PSECT_BLOCK;
 550	
 551	!
 552	! FREE ALL THE GLOBALS FIRST
 553	!
 554	    FND_CHAIN (.PSECT_PTR [PSECT_GLOBALS], DEL_GLOBAL, 0);
 555	!
 556	! FREE THE POINTERS
 557	!
 558	    DEL_PTRS (.PSECT_PTR [PSECT_GLOBALS]);
 559	!
 560	! NOW FREE THE PSECT BLOCK
 561	!
 562	    FREBLK (.PSECT_PTR);
 563	!
 564	! ALWAYS RETURN 0 TO CONTINUE THE SCAN
 565	!
 566	    0
 567	    END;					!OF DEL_PSECT
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 568	ROUTINE DEL_GLOBAL (GLOBAL_PTR, UNUSED) = 	!DELETE A GLOBAL
 569	
 570	!++
 571	! FUNCTIONAL DESCRIPTION:
 572	!
 573	!	DELETE A GLOBAL BLOCK.
 574	!	 USED IN CALL TO FND_CHAIN.
 575	!
 576	! FORMAL PARAMETERS:
 577	!
 578	!	GLOBAL_PTR - POINTER TO THE GLOBAL BLOCK TO BE DELETED
 579	!	UNUSED - NOT USED
 580	!
 581	! IMPLICIT INPUTS:
 582	!
 583	!	NONE
 584	!
 585	! IMPLICIT OUTPUTS:
 586	!
 587	!	NONE
 588	!
 589	! ROUTINE VALUE:
 590	!
 591	!	ALWAYS 0 TO CONTINUE THE SCAN
 592	!
 593	! SIDE EFFECTS
 594	!
 595	!	RETURNS SPACE TO FREE STORAGE
 596	!
 597	!--
 598	
 599	    BEGIN
 600	
 601	    BIND
 602		ROUTINE_NAME = UPLIT (%ASCIZ'DEL_GLOBAL');
 603	
 604	    MAP
 605		GLOBAL_PTR : REF GLOBL_BLOCK;
 606	
 607	!
 608	! FREE THE GLOBAL BLOCK.
 609	!
 610	    FREBLK (.GLOBAL_PTR);
 611	!
 612	! ALWAYS RETURN 0 TO CONTINUE THE SCAN
 613	!
 614	    0
 615	    END;					!OF DEL_GLOBAL
 616	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 617	GLOBAL ROUTINE GETSYM (KERNEL_FILE, CEX_FILE, RSXMS_FILE, NETMS_FILE, VALUES) : NOVALUE =
 618							!FETCH SYMBOL VALUES
 619	
 620	!++
 621	! FUNCTIONAL DESCRIPTION:
 622	!
 623	!	FETCH SYMBOL VALUES FROM THE VARIOUS SYMBOL TABLES, CHECKING
 624	!	 FOR CONSISTENCY.  THIS IS DONE ONCE RATHER THAN WHENEVER
 625	!	 A SYMBOL VALUE IS NEEDED BECAUSE LOOKING UP A SYMBOL IS
 626	!	 QUITE SLOW.
 627	!
 628	! FORMAL PARAMETERS:
 629	!
 630	!	KERNEL_FILE - FILE BLOCK FOR THE KERNEL
 631	!	CEX_FILE - FILE BLOCK FOR THE COMM EXEC
 632	!	RSXMS_FILE - FILE BLOCK FOR THE EXEMC SYMBOLS
 633	!	NETMS_FILE - FILE BLOCK FOR THE NETLIB SYMBOLS
 634	!	VALUES - BLOCK INTO WHICH TO STORE SYMBOL VALUES
 635	!
 636	! IMPLICIT INPUTS:
 637	!
 638	!	THE SYMBOL VALUES IN THE SYMBOL TABLES
 639	!
 640	! IMPLICIT OUTPUTS:
 641	!
 642	!	NONE
 643	!
 644	! ROUTINE VALUE:
 645	!
 646	!	NONE
 647	!
 648	! SIDE EFFECTS
 649	!
 650	!	FILLS IN SYMBOLS IN 'VALUES'
 651	!
 652	!--
 653	
 654	    BEGIN
 655	
 656	    BIND
 657		ROUTINE_NAME = UPLIT (%ASCIZ'GETSYM');
 658	
 659	    MAP
 660		KERNEL_FILE : REF FILE_BLOCK,
 661		CEX_FILE : REF FILE_BLOCK,
 662		RSXMS_FILE : REF FILE_BLOCK,
 663		NETMS_FILE : REF FILE_BLOCK,
 664		VALUES : REF VNPVAL_BLOCK;
 665	
 666	!
 667	! BECAUSE OF LIMITATIONS IN THE BLISS-36 COMPILER THIS ROUTINE HAS
 668	!  BEEN DIVIDED INTO THREE PARTS.
 669	!
 670	    GETSYM_1 (.KERNEL_FILE, .CEX_FILE, .RSXMS_FILE, .NETMS_FILE, .VALUES);
 671	    GETSYM_2 (.KERNEL_FILE, .CEX_FILE, .RSXMS_FILE, .NETMS_FILE, .VALUES);
 672	    GETSYM_3 (.NETMS_FILE, .VALUES);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 673	
 674	    IF (.VALUES [P_LGTH] NEQ SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'P.LGTH'), 0))
 675	    THEN
 676		ERRMSG (0, 29,
 677		    ROUTINE_NAME, UPLIT (%ASCIZ'P.LGTH'), KERNEL_FILE [FILE_NAME], RSXMS_FILE [FILE_NAME], 0);
 678	
 679	    IF (SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$FRKHD'), 0) NEQ SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$FRKHD'), 0))
 680	    THEN
 681		ERRMSG (0, 29, ROUTINE_NAME, UPLIT (%ASCIZ'$FRKHD'), KERNEL_FILE [FILE_NAME], CEX_FILE [FILE_NAME], 0)
 682	
 683	    ;
 684	
 685	    IF (SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$HEADR'), 0) NEQ SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$HEADR'), 0))
 686	    THEN
 687		ERRMSG (0, 29, ROUTINE_NAME, UPLIT (%ASCIZ'$HEADR'), KERNEL_FILE [FILE_NAME], CEX_FILE [FILE_NAME], 0)
 688	
 689	    ;
 690	
 691	    IF (SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$INTX1'), 0) NEQ SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$INTX1'), 0))
 692	    THEN
 693		ERRMSG (0, 29, ROUTINE_NAME, UPLIT (%ASCIZ'$INTX1'), KERNEL_FILE [FILE_NAME], CEX_FILE [FILE_NAME], 0)
 694	
 695	    ;
 696	    END;					!OF GETSYM
 697	
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 698	ROUTINE GETSYM_1 (KERNEL_FILE, CEX_FILE, RSXMS_FILE, NETMS_FILE, VALUES) : NOVALUE = 	!FETCH SYMBOL VALUES
 699	
 700	!++
 701	! FUNCTIONAL DESCRIPTION:
 702	!
 703	!	FETCH THE FIRST HALF OF THE SYMBOLS
 704	!
 705	! FORMAL PARAMETERS:
 706	!
 707	!	KERNEL_FILE - FILE BLOCK FOR THE KERNEL
 708	!	CEX_FILE - FILE BLOCK FOR THE COMM EXEC
 709	!	RSXMS_FILE - FILE BLOCK FOR THE EXEMC SYMBOLS
 710	!	NETMS_FILE - FILE BLOCK FOR THE NETLIB SYMBOLS
 711	!	VALUES - BLOCK INTO WHICH TO STORE SYMBOL VALUES
 712	!
 713	! IMPLICIT INPUTS:
 714	!
 715	!	THE SYMBOL VALUES IN THE SYMBOL TABLES
 716	!
 717	! IMPLICIT OUTPUTS:
 718	!
 719	!	NONE
 720	!
 721	! ROUTINE VALUE:
 722	!
 723	!	NONE
 724	!
 725	! SIDE EFFECTS
 726	!
 727	!	FILLS IN SYMBOLS IN 'VALUES'
 728	!
 729	!--
 730	
 731	    BEGIN
 732	
 733	    BIND
 734		ROUTINE_NAME = UPLIT (%ASCIZ'GETSYM_1');
 735	
 736	    MAP
 737		KERNEL_FILE : REF FILE_BLOCK,
 738		CEX_FILE : REF FILE_BLOCK,
 739		RSXMS_FILE : REF FILE_BLOCK,
 740		NETMS_FILE : REF FILE_BLOCK,
 741		VALUES : REF VNPVAL_BLOCK;
 742	
 743	    VALUES [CRAVL] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$CRAVL'), 0);
 744	    VALUES [EXSIZ] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$EXSIZ'), 0);
 745	    VALUES [POOL] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$POOL '), 0);
 746	    VALUES [FMASK] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$FMASK'), 0);
 747	    VALUES [SYSIZ] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$SYSIZ'), 0);
 748	    VALUES [PARHD] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$PARHD'), 0);
 749	    VALUES [TSKHD] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$TSKHD'), 0);
 750	    VALUES [CLKHD] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$CLKHD'), 0);
 751	    VALUES [DEVHD] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$DEVHD'), 0);
 752	    VALUES [ABTIM] = SYM_VAL (.KERNEL_FILE, UPLIT (%ASCIZ'$ABTIM'), 0);
 753	    VALUES [PDVTA] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$PDVTA'), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 754	    VALUES [SLTTA] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$SLTTA'), 0);
 755	    VALUES [LLCTA] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$LLCTA'), 0);
 756	    VALUES [PDVNM] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$PDVNM'), 0);
 757	    VALUES [SLTNM] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$SLTNM'), 0);
 758	    VALUES [CCBLH] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$CCBLH'), 0);
 759	    VALUES [SDBLH] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$SDBLH'), 0);
 760	    VALUES [RDBLH] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$RDBLH'), 0);
 761	    VALUES [NTLPT] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$NTLPT'), 0);
 762	    VALUES [NBIAS] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$NBIAS'), 0);
 763	    VALUES [QBIAS] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$QBIAS'), 0);
 764	    VALUES [QSTRT] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$QSTRT'), 0);
 765	    VALUES [NSPNM] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$NSPNM'), 0);
 766	    VALUES [NTNAM] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$NTNAM'), 0);
 767	    VALUES [HOST] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$HOST '), 0);
 768	    VALUES [NODID] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$NODID'), 0);
 769	    VALUES [CEAVL] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$CEAVL'), 0);
 770	    VALUES [CCBRT] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$CCBRT'), 0);
 771	    VALUES [CTCMP] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$CTCMP'), 0);
 772	    VALUES [DDENB] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$DDENB'), 0);
 773	    VALUES [INTSX] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$INTSX'), 0);
 774	    VALUES [LLCRS] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$LLCRS'), 0);
 775	    VALUES [MVFBF] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$MVFBF'), 0);
 776	    VALUES [MVTBF] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$MVTBF'), 0);
 777	    VALUES [PDDSP] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'$PDDSP'), 0);
 778	    VALUES [PD_NSP] = SYM_VAL (.CEX_FILE, UPLIT (%ASCIZ'PD$NSP'), 0);
 779	    VALUES [P_LGTH] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.LGTH'), 0);
 780	    VALUES [P_LNK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.LNK '), 0);
 781	    VALUES [P_PRI] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.PRI '), 0);
 782	    VALUES [P_IOC] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.IOC '), 0);
 783	    VALUES [P_NAM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.NAM '), 0);
 784	    VALUES [P_SUB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.SUB '), 0);
 785	    VALUES [P_MAIN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.MAIN'), 0);
 786	    VALUES [P_REL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.REL '), 0);
 787	    VALUES [P_SIZE] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.SIZE'), 0);
 788	    VALUES [P_WAIT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.WAIT'), 0);
 789	    VALUES [P_BUSY] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.BUSY'), 0);
 790	    VALUES [P_TCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.TCB '), 0);
 791	    VALUES [P_STAT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.STAT'), 0);
 792	    VALUES [P_HDR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.HDR '), 0);
 793	    VALUES [P_PRO] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.PRO '), 0);
 794	    VALUES [P_ATT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'P.ATT '), 0);
 795	    VALUES [FE_EXT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.EXT'), 0);
 796	    VALUES [FE_MUP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.MUP'), 0);
 797	    VALUES [FE_EXV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.EXV'), 0);
 798	    VALUES [FE_DRV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.DRV'), 0);
 799	    VALUES [FE_PLA] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.PLA'), 0);
 800	    VALUES [FE_CAL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.CAL'), 0);
 801	    VALUES [FE_PKT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.PKT'), 0);
 802	    VALUES [FE_EXP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.EXP'), 0);
 803	    VALUES [FE_LSI] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.LSI'), 0);
 804	    VALUES [FE_CEX] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.CEX'), 0);
 805	    VALUES [FE_NLG] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.NLG'), 0);
 806	    VALUES [FE_NLG] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'FE.NLG'), 0);
 807	    VALUES [PS_OUT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.OUT'), 0);
 808	    VALUES [PS_CKP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.CKP'), 0);
 809	    VALUES [PS_CKR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.CKR'), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 810	    VALUES [PS_CHK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.CHK'), 0);
 811	    VALUES [PS_FXD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.FXD'), 0);
 812	    VALUES [PS_PER] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.PER'), 0);
 813	    VALUES [PS_LIO] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.LIO'), 0);
 814	    VALUES [PS_NSF] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.NSF'), 0);
 815	    VALUES [PS_COM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.COM'), 0);
 816	    VALUES [PS_PIC] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.PIC'), 0);
 817	    VALUES [PS_SYS] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.SYS'), 0);
 818	    VALUES [PS_DRV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.DRV'), 0);
 819	    VALUES [PS_DEL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.DEL'), 0);
 820	    VALUES [PS_APR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'PS.APR'), 0);
 821	    VALUES [T_PRI] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.PRI '), 0);
 822	    VALUES [T_NAM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.NAM '), 0);
 823	    VALUES [T_RCVL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.RCVL'), 0);
 824	    VALUES [T_ASTL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.ASTL'), 0);
 825	    VALUES [T_TCBL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.TCBL'), 0);
 826	    VALUES [T_STAT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.STAT'), 0);
 827	    VALUES [T_ST2] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.ST2 '), 0);
 828	    VALUES [T_ST3] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.ST3 '), 0);
 829	    VALUES [T_DPRI] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.DPRI'), 0);
 830	    VALUES [T_LBN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.LBN '), 0);
 831	    VALUES [T_LDV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.LDV '), 0);
 832	    VALUES [T_PCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.PCB '), 0);
 833	    END;					!OF GETSYM_1
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 834	ROUTINE GETSYM_2 (KERNEL_FILE, CEX_FILE, RSXMS_FILE, NETMS_FILE, VALUES) : NOVALUE = 	!FETCH SYMBOL VALUES
 835	
 836	!++
 837	! FUNCTIONAL DESCRIPTION:
 838	!
 839	!	FETCH THE SECOND HALF OF THE SYMBOLS
 840	!
 841	! FORMAL PARAMETERS:
 842	!
 843	!	KERNEL_FILE - FILE BLOCK FOR THE KERNEL
 844	!	CEX_FILE - FILE BLOCK FOR THE COMM EXEC
 845	!	RSXMS_FILE - FILE BLOCK FOR THE EXEMC SYMBOLS
 846	!	NETMS_FILE - FILE BLOCK FOR THE NETLIB SYMBOLS
 847	!	VALUES - BLOCK INTO WHICH TO STORE SYMBOL VALUES
 848	!
 849	! IMPLICIT INPUTS:
 850	!
 851	!	THE SYMBOL VALUES IN THE SYMBOL TABLES
 852	!
 853	! IMPLICIT OUTPUTS:
 854	!
 855	!	NONE
 856	!
 857	! ROUTINE VALUE:
 858	!
 859	!	NONE
 860	!
 861	! SIDE EFFECTS
 862	!
 863	!	FILLS IN SYMBOLS IN 'VALUES'
 864	!
 865	!--
 866	
 867	    BEGIN
 868	
 869	    BIND
 870		ROUTINE_NAME = UPLIT (%ASCIZ'GETSYM_2');
 871	
 872	    MAP
 873		KERNEL_FILE : REF FILE_BLOCK,
 874		CEX_FILE : REF FILE_BLOCK,
 875		RSXMS_FILE : REF FILE_BLOCK,
 876		NETMS_FILE : REF FILE_BLOCK,
 877		VALUES : REF VNPVAL_BLOCK;
 878	
 879	    VALUES [T_MXSZ] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.MXSZ'), 0);
 880	    VALUES [T_LGTH] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T.LGTH'), 0);
 881	    VALUES [H_HDLN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'H.HDLN'), 0);
 882	    VALUES [H_WND] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'H.WND '), 0);
 883	    VALUES [H_GARD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'H.GARD'), 0);
 884	    VALUES [H_NLUN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'H.NLUN'), 0);
 885	    VALUES [H_LUN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'H.LUN '), 0);
 886	    VALUES [TS_EXE] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.EXE'), 0);
 887	    VALUES [TS_RDN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.RDN'), 0);
 888	    VALUES [TS_MSG] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.MSG'), 0);
 889	    VALUES [TS_NRP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.NRP'), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 890	    VALUES [TS_RUN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.RUN'), 0);
 891	    VALUES [TS_OUT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.OUT'), 0);
 892	    VALUES [TS_CKP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.CKP'), 0);
 893	    VALUES [TS_CKR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'TS.CKR'), 0);
 894	    VALUES [T2_AST] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.AST'), 0);
 895	    VALUES [T2_DST] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.DST'), 0);
 896	    VALUES [T2_CHK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.CHK'), 0);
 897	    VALUES [T2_CKD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.CKD'), 0);
 898	    VALUES [T2_BFX] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.BFX'), 0);
 899	    VALUES [T2_FXD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.FXD'), 0);
 900	    VALUES [T2_TIO] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.TIO'), 0);
 901	    VALUES [T2_CAF] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.CAF'), 0);
 902	    VALUES [T2_HLT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.HLT'), 0);
 903	    VALUES [T2_ABO] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.ABO'), 0);
 904	    VALUES [T2_STP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.STP'), 0);
 905	    VALUES [T2_SPN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.SPN'), 0);
 906	    VALUES [T2_WFR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T2.WFR'), 0);
 907	    VALUES [T3_ACP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.ACP'), 0);
 908	    VALUES [T3_PMD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.PMD'), 0);
 909	    VALUES [T3_REM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.REM'), 0);
 910	    VALUES [T3_PRV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.PRV'), 0);
 911	    VALUES [T3_MCR] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.MCR'), 0);
 912	    VALUES [T3_SLV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.SLV'), 0);
 913	    VALUES [T3_CLI] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.CLI'), 0);
 914	    VALUES [T3_RST] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.RST'), 0);
 915	    VALUES [T3_NSD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.NSD'), 0);
 916	    VALUES [T3_CAL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.CAL'), 0);
 917	    VALUES [T3_ROV] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.ROV'), 0);
 918	    VALUES [T3_NET] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'T3.NET'), 0);
 919	    VALUES [D_LNK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.LNK '), 0);
 920	    VALUES [D_UCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.UCB '), 0);
 921	    VALUES [D_NAM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.NAM '), 0);
 922	    VALUES [D_UNIT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.UNIT'), 0);
 923	    VALUES [D_UCBL] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.UCBL'), 0);
 924	    VALUES [D_DSP] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.DSP '), 0);
 925	    VALUES [D_MSK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.MSK '), 0);
 926	    VALUES [D_PCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'D.PCB '), 0);
 927	    VALUES [S_LHD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'S.LHD '), 0);
 928	    VALUES [S_VCT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'S.VCT '), 0);
 929	    VALUES [S_FRK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'S.FRK '), 0);
 930	    VALUES [U_DCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.DCB '), 0);
 931	    VALUES [U_RED] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.RED '), 0);
 932	    VALUES [U_CW1] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.CW1 '), 0);
 933	    VALUES [U_CW2] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.CW2 '), 0);
 934	    VALUES [U_CW3] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.CW3 '), 0);
 935	    VALUES [U_CW4] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.CW4 '), 0);
 936	    VALUES [U_SCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'U.SCB '), 0);
 937	    VALUES [C_LNK] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.LNK '), 0);
 938	    VALUES [C_RSV] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.RSV '), 0);
 939	    VALUES [C_BID] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.BID '), 0);
 940	    VALUES [C_NSP] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.NSP '), 0);
 941	    VALUES [C_LIN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.LIN '), 0);
 942	    VALUES [C_STA] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.STA '), 0);
 943	    VALUES [C_FNC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.FNC '), 0);
 944	    VALUES [C_MOD] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.MOD '), 0);
 945	    VALUES [C_STS] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.STS '), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

 946	    VALUES [C_BUF1] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.BUF1'), 0);
 947	    VALUES [C_CNT1] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.CNT1'), 0);
 948	    VALUES [C_FLG1] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.FLG1'), 0);
 949	    VALUES [C_BUF2] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.BUF2'), 0);
 950	    VALUES [C_CNT2] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.CNT2'), 0);
 951	    VALUES [C_FLG2] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'C.FLG2'), 0);
 952	    VALUES [CB_CCB] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'CB.CCB'), 0);
 953	    VALUES [CB_RDB] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'CB.RDB'), 0);
 954	    VALUES [Z_DSP] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.DSP '), 0);
 955	    VALUES [Z_SCH] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.SCH '), 0);
 956	    VALUES [Z_NAM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.NAM '), 0);
 957	    VALUES [Z_LLN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.LLN '), 0);
 958	    VALUES [Z_FLG] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.FLG '), 0);
 959	    VALUES [Z_PCB] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.PCB '), 0);
 960	    VALUES [Z_DAT] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'Z.DAT '), 0);
 961	    VALUES [ZF_DDM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.DDM'), 0);
 962	    VALUES [ZF_DLC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.DLC'), 0);
 963	    VALUES [ZF_LLC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.LLC'), 0);
 964	    VALUES [ZF_MFL] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.MFL'), 0);
 965	    VALUES [ZF_KMX] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.KMX'), 0);
 966	    VALUES [ZF_MUX] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.MUX'), 0);
 967	    VALUES [ZF_LMC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.LMC'), 0);
 968	    VALUES [ZF_TIM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'ZF.TIM'), 0);
 969	    VALUES [CLK_LNK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.LNK '), 0);
 970	    VALUES [CLK_RQT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.RQT '), 0);
 971	    VALUES [CLK_EFN] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.EFN '), 0);
 972	    VALUES [CLK_TCB] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.TCB '), 0);
 973	    VALUES [CLK_TIM] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.TIM '), 0);
 974	    VALUES [CLK_LGTH] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.LGTH'), 0);
 975	    VALUES [CLK_MRKT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.MRKT'), 0);
 976	    VALUES [CLK_SCHD] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.SCHD'), 0);
 977	    VALUES [CLK_SSHT] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.SSHT'), 0);
 978	    VALUES [CLK_SYST] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.SYST'), 0);
 979	    VALUES [CLK_SYTK] = SYM_VAL (.RSXMS_FILE, UPLIT (%ASCIZ'C.SYTK'), 0);
 980	    VALUES [LR_STS] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LR.STS'), 0);
 981	    VALUES [LS_CEX] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LS.CEX'), 0);
 982	    VALUES [LS_CXO] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LS.CXO'), 0);
 983	    VALUES [LS_UNF] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LS.UNF'), 0);
 984	    VALUES [L_FLG] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.FLG '), 0);
 985	    VALUES [L_DDM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.DDM '), 0);
 986	    VALUES [L_DLC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.DLC '), 0);
 987	    VALUES [L_DDS] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.DDS '), 0);
 988	    VALUES [L_DLM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.DLM '), 0);
 989	    VALUES [L_DLS] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.DLS '), 0);
 990	    VALUES [L_CTL] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.CTL '), 0);
 991	    VALUES [L_UNT] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.UNT '), 0);
 992	    VALUES [L_LEN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'L.LEN '), 0);
 993	    VALUES [LF_TIM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.TIM'), 0);
 994	    VALUES [LF_MTP] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.MTP'), 0);
 995	    VALUES [LF_DLO] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.DLO'), 0);
 996	    VALUES [LF_MDC] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.MDC'), 0);
 997	    VALUES [LF_ENA] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.ENA'), 0);
 998	    VALUES [LF_MFL] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.MFL'), 0);
 999	    VALUES [LF_REA] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.REA'), 0);
1000	    VALUES [LF_UNL] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.UNL'), 0);
1001	    VALUES [LF_RDY] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.RDY'), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

1002	    VALUES [LF_ACT] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'LF.ACT'), 0);
1003	    END;					!OF GETSYM_2
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

1004	ROUTINE GETSYM_3 (NETMS_FILE, VALUES) : NOVALUE = 	!GET SYMBOLS FOR NSP OPERATIONS
1005	
1006	!++
1007	! FUNCTIONAL DESCRIPTION:
1008	!
1009	!	FETCH SOME SYMBOLS FROM THE NSP FILES
1010	!
1011	! FORMAL PARAMETERS:
1012	!
1013	!	NETMS_FILE - FILE WITH NSP SYMBOLS
1014	!	VALUES - BLOCK INTO WHICH TO STORE SYMBOL VALUES
1015	!
1016	! IMPLICIT INPUTS:
1017	!
1018	!	THE SYMBOL VALUES IN THE SYMBOL TABLES
1019	!
1020	! IMPLICIT OUTPUTS:
1021	!
1022	!	NONE
1023	!
1024	! ROUTINE VALUE:
1025	!
1026	!	NONE
1027	!
1028	! SIDE EFFECTS
1029	!
1030	!	FILLS IN SYMBOLS IN 'VALUES'
1031	!
1032	!--
1033	
1034	    BEGIN
1035	
1036	    BIND
1037		ROUTINE_NAME = UPLIT (%ASCIZ'GETSYM_3');
1038	
1039	    MAP
1040		NETMS_FILE : REF FILE_BLOCK,
1041		VALUES : REF VNPVAL_BLOCK;
1042	
1043	!
1044	! LOAD UP THE PHYSICAL LINK DIRECTORY SYMBOLS
1045	!
1046	    VALUES [PLD_OFFSET] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'N$PLD '), 0) + 2;
1047	    VALUES [PLD_LEN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'P$LEN '), 0);
1048	    VALUES [PLD_UP] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'PF$UP '), 0);
1049	    VALUES [PLD_WT] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'PS$WT '), 0);
1050	    VALUES [PLD_LST] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'P$LST '), 0);
1051	    VALUES [PLD_TIM] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'P$TIM '), 0);
1052	    VALUES [PLD_CHN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'P$CHN '), 0);
1053	!
1054	! LOAD UP THE PASSWORD DATA BASE SYMBOLS
1055	!
1056	    VALUES [PSW_OFFSET] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'N$VER '), 0) + 2;
1057	    VALUES [PSW_LEN] = 8;
1058	    VALUES [PSW_XMT_OFFSET] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'V$XMT '), 0);
1059	    VALUES [PSW_RCV_OFFSET] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'V$RCV '), 0);
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

1060	    VALUES [PSW_FLG_OFFSET] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'V$FLG '), 0);
1061	    VALUES [PSW_XMT_FLAG] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'VF$XMT'), 0);
1062	    VALUES [PSW_RCV_FLAG] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'VF$RCV'), 0);
1063	!
1064	! LOAD THE NRM DATA BASE SYMBOLS
1065	!
1066	    VALUES [TCB_LEN] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'TCBLEN'), 0);
1067	    VALUES [TCB_START] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'R$TCB '), 0) + 2;
1068	    VALUES [TCB_Q] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'R$TCQ '), 0);
1069	    VALUES [TCB_LINK] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'T.LNK '), 0);
1070	    VALUES [TCB_OLINK] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'T.OLNK'), 0);
1071	    VALUES [TCB_FLAGS] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'T.FLG '), 0);
1072	    VALUES [TF_DEA] = SYM_VAL (.NETMS_FILE, UPLIT (%ASCIZ'TF.DEA'), 0);
1073	    END;					!OF GETSYM_3
1074	END
1075	
1076	ELUDOM
1077	! Local Modes:
1078	! Comment Column:36
1079	! Comment Start:!
1080	! Mode:Fundamental
1081	! Auto Save Mode:2
1082	! Word Abbrev Mode:1
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

ABTIM		 752
ATOR50		 120*
CB_CCB		 952
CB_RDB		 953
CCBLH		 758
CCBRT		 770
CEAVL		 769
CEX_FILE	 617	 661	 670	 671	 679	 681	 685
		 687	 691	 693	 698	 738	 753	 754
		 755	 756	 757	 758	 759	 760	 761
		 762	 763	 764	 765	 766	 767	 768
		 769	 770	 771	 772	 773	 774	 775
		 776	 777	 778	 834	 874
CHAR		 184	 236#	 238	 250	 318	 350#	 357
CLKHD		 750
CLK_EFN		 971
CLK_LGTH	 974
CLK_LNK		 969
CLK_MRKT	 975
CLK_RQT		 970
CLK_SCHD	 976
CLK_SSHT	 977
CLK_SYST	 978
CLK_SYTK	 979
CLK_TCB		 972
CLK_TIM		 973
CLOSE		 123	 267	 364
CORE_IMAGE	 185	 195#	 212#	 243	 251#	 264	 316
		 331#	 349	 409	 418#	 423
CORE_LEN	 140	 195	 211	 254	 265	 319	 332#
		 360	 411	 417#	 423
CORE_WORD	 186	 243#	 244#	 251	 320	 349#	 350
COUNTER		 211	 212	 227	 228	 340	 341
CRAVL		 743
CTCMP		 771
C_BID		 939
C_BUF1		 946
C_BUF2		 949
C_CNT1		 947
C_CNT2		 950
C_FLG1		 948
C_FLG2		 951
C_FNC		 943
C_LIN		 941
C_LNK		 937
C_MOD		 944
C_NSP		 940
C_RSV		 938
C_STA		 942
C_STS		 945
DDENB		 772
DEL_GLOBAL	  76	 499	 554	 568*
DEL_MODU	  74	 430	 442*
DEL_PSECT	  75	 488	 512*
DEL_PTRS	 138	 434	 489	 500	 558
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

DEVHD		 751
D_DSP		 924
D_LNK		 919
D_MSK		 925
D_NAM		 921
D_PCB		 926
D_UCBL		 923
D_UCB		 920
D_UNIT		 922
ERRMSG		 131	 197	 203	 676	 681	 687	 693
ERROR		 130
EXSIZ		 744
FCOR		  73	 369*
FE_CAL		 800
FE_CEX		 804
FE_DRV		 798
FE_EXP		 802
FE_EXT		 795
FE_EXV		 797
FE_LSI		 803
FE_MUP		 796
FE_NLG		 805	 806
FE_PKT		 801
FE_PLA		 799
FILE_BLOCK	 181	 313	 406	 660	 661	 662	 663
		 737	 738	 739	 740	 873	 874	 875
		 876	1040
FILE_CHAN	 140	 218	 228	 236	 267	 276	 328
		 341	 357	 364
FILE_CORE	 264	 331	 418
FILE_CORE_LEN	 265	 332	 417
FILE_DOWN	 430	 434
FILE_LABEL	 266	 333	 416
FILE_NAME	 218	 328	 677	 681	 687	 693
FILE_PTR	 140	 181	 218	 264#	 265#	 266#	 276
		 313	 328	 331	 332	 333	 369	 406
		 416	 417	 418	 430	 434	 438
FMASK		 746
FND_CHAIN	 137	 430	 488	 499	 554
FREBLK		 136	 438	 506	 562	 610
FRESTG		 135	 423	 425
GETBLK		 134
GETSTG		 133	 195	 201
GETSYM		  77	 617*
GETSYM_1	  78	 670	 698*
GETSYM_2	  79	 671	 834*
GETSYM_3	  80#	 672	1004*
GLOBAL_PTR	 568	 605	 610
GLOBL_BLOCK	 605
HOST		 767
H_GARD		 883
H_HDLN		 881
H_LUN		 885
H_NLUN		 884
H_WND		 882
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

INPUT		 124	 228	 236
INTSX		 773
KERNEL_FILE	 617	 660	 670	 671	 674	 677	 679
		 681	 685	 687	 691	 693	 698	 737
		 743	 744	 745	 746	 747	 748	 749
		 750	 751	 752	 834	 873
LABEL_IMAGE	 187	 201#	 228#	 266	 317	 333#	 341
		 410	 416#	 425
LF_ACT		1002
LF_DLO		 995
LF_ENA		 997
LF_MDC		 996
LF_MFL		 998
LF_MTP		 994
LF_RDY		1001
LF_REA		 999
LF_TIM		 993
LF_UNL		1000
LLCRS		 774
LLCTA		 755
LOCN		 188	 222#	 243	 244	 251	 252#	 254
		 321	 335#	 349	 350	 358#	 360
LR_STS		 980
LS_CEX		 981
LS_CXO		 982
LS_UNF		 983
L_CTL		 990
L_DDM		 985
L_DDS		 987
L_DLC		 986
L_DLM		 988
L_DLS		 989
L_FLG		 984
L_LEN		 992
L_UNT		 991
MCOR		   9#
MODU_BLOCK	 479
MODU_GLOBALS	 496	 499	 500
MODU_PSECTS	 485	 488	 489
MODU_PTR	 442	 479	 485	 488	 489	 496	 499
		 500	 506
MVFBF		 775
MVTBF		 776
NBIAS		 762
NETMS_FILE	 617	 663	 670	 671	 672	 698	 740
		 834	 876	 937	 938	 939	 940	 941
		 942	 943	 944	 945	 946	 947	 948
		 949	 950	 951	 952	 953	 954	 955
		 956	 957	 958	 959	 960	 961	 962
		 963	 964	 965	 966	 967	 968	 980
		 981	 982	 983	 984	 985	 986	 987
		 988	 989	 990	 991	 992	 993	 994
		 995	 996	 997	 998	 999	1000	1001
		1002	1004	1040	1046	1047	1048	1049
		1050	1051	1052	1056	1058	1059	1060
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

		1061	1062	1066	1067	1068	1069	1070
		1071	1072
NODID		 768
NSPNM		 765
NTLPT		 761
NTNAM		 766
OPEN		 122	 218	 328
OUTNUM		 129
OUTPUT		 125	 341	 357
OUTSTR		 128
PARHD		 748
PCRLF		 127
PDDSP		 777
PDVNM		 756
PDVTA		 753
PD_NSP		 778
PLD_CHN		1052
PLD_LEN		1047
PLD_LST		1050
PLD_OFFSET	1046
PLD_TIM		1051
PLD_UP		1048
PLD_WT		1049
POOL		 745
PSECT_BLOCK	 549
PSECT_GLOBALS	 554	 558
PSECT_PTR	 512	 549	 554	 558	 562
PSW_FLG_OFFSET	1060
PSW_LEN		1057
PSW_OFFSET	1056
PSW_RCV_FLAG	1062
PSW_RCV_OFFSET	1059
PSW_XMT_FLAG	1061
PSW_XMT_OFFSET	1058
PS_APR		 820
PS_CHK		 810
PS_CKP		 808
PS_CKR		 809
PS_COM		 815
PS_DEL		 819
PS_DRV		 818
PS_FXD		 811
PS_LIO		 813
PS_NSF		 814
PS_OUT		 807
PS_PER		 812
PS_PIC		 816
PS_SYS		 817
P_ATT		 794
P_BUSY		 789
P_HDR		 792
P_IOC		 782
P_LGTH		 674	 779
P_LNK		 780
P_MAIN		 785
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

P_NAM		 783
P_PRI		 781
P_PRO		 793
P_REL		 786
P_SIZE		 787
P_STAT		 791
P_SUB		 784
P_TCB		 790
P_WAIT		 788
QBIAS		 763
QSTRT		 764
R50TOA		 121
RCOR		  71	 140*
RDBLH		 760
READ_DONE	 189	 221#	 234	 240#	 254#
ROUTINE_NAME	 178#	 197	 203	 310#	 403#	 476#	 546#
		 602#	 657#	 677	 681	 687	 693	 734#
		 870#	1037#
RSTB		 126
RSXMS_FILE	 617	 662	 670	 671	 677	 698	 739
		 779	 780	 781	 782	 783	 784	 785
		 786	 787	 788	 789	 790	 791	 792
		 793	 794	 795	 796	 797	 798	 799
		 800	 801	 802	 803	 804	 805	 806
		 807	 808	 809	 810	 811	 812	 813
		 814	 815	 816	 817	 818	 819	 820
		 821	 822	 823	 824	 825	 826	 827
		 828	 829	 830	 831	 832	 834	 875
		 879	 880	 881	 882	 883	 884	 885
		 886	 887	 888	 889	 890	 891	 892
		 893	 894	 895	 896	 897	 898	 899
		 900	 901	 902	 903	 904	 905	 906
		 907	 908	 909	 910	 911	 912	 913
		 914	 915	 916	 917	 918	 919	 920
		 921	 922	 923	 924	 925	 926	 927
		 928	 929	 930	 931	 932	 933	 934
		 935	 936	 969	 970	 971	 972	 973
		 974	 975	 976	 977	 978	 979
SDBLH		 759
SLTNM		 757
SLTTA		 754
SYM_VAL		 132	 674	 679	 685	 691	 743	 744
		 745	 746	 747	 748	 749	 750	 751
		 752	 753	 754	 755	 756	 757	 758
		 759	 760	 761	 762	 763	 764	 765
		 766	 767	 768	 769	 770	 771	 772
		 773	 774	 775	 776	 777	 778	 779
		 780	 781	 782	 783	 784	 785	 786
		 787	 788	 789	 790	 791	 792	 793
		 794	 795	 796	 797	 798	 799	 800
		 801	 802	 803	 804	 805	 806	 807
		 808	 809	 810	 811	 812	 813	 814
		 815	 816	 817	 818	 819	 820	 821
		 822	 823	 824	 825	 826	 827	 828
		 829	 830	 831	 832	 879	 880	 881
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

		 882	 883	 884	 885	 886	 887	 888
		 889	 890	 891	 892	 893	 894	 895
		 896	 897	 898	 899	 900	 901	 902
		 903	 904	 905	 906	 907	 908	 909
		 910	 911	 912	 913	 914	 915	 916
		 917	 918	 919	 920	 921	 922	 923
		 924	 925	 926	 927	 928	 929	 930
		 931	 932	 933	 934	 935	 936	 937
		 938	 939	 940	 941	 942	 943	 944
		 945	 946	 947	 948	 949	 950	 951
		 952	 953	 954	 955	 956	 957	 958
		 959	 960	 961	 962	 963	 964	 965
		 966	 967	 968	 969	 970	 971	 972
		 973	 974	 975	 976	 977	 978	 979
		 980	 981	 982	 983	 984	 985	 986
		 987	 988	 989	 990	 991	 992	 993
		 994	 995	 996	 997	 998	 999	1000
		1001	1002	1046	1047	1048	1049	1050
		1051	1052	1056	1058	1059	1060	1061
		1062	1066	1067	1068	1069	1070	1071
		1072
SYSIZ		 747
S_FRK		 929
S_LHD		 927
S_VCT		 928
T2_ABO		 903
T2_AST		 894
T2_BFX		 898
T2_CAF		 901
T2_CHK		 896
T2_CKD		 897
T2_DST		 895
T2_FXD		 899
T2_HLT		 902
T2_SPN		 905
T2_STP		 904
T2_TIO		 900
T2_WFR		 906
T3_ACP		 907
T3_CAL		 916
T3_CLI		 913
T3_MCR		 911
T3_NET		 918
T3_NSD		 915
T3_PMD		 908
T3_PRV		 910
T3_REM		 909
T3_ROV		 917
T3_RST		 914
T3_SLV		 912
TCB_FLAGS	1071
TCB_LEN		1066
TCB_LINK	1069
TCB_OLINK	1070
TCB_Q		1068
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

TCB_START	1067
TF_DEA		1072
TSKHD		 749
TS_CKP		 892
TS_CKR		 893
TS_EXE		 886
TS_MSG		 888
TS_NRP		 889
TS_OUT		 891
TS_RDN		 887
TS_RUN		 890
T_ASTL		 824
T_DPRI		 829
T_LBN		 830
T_LDV		 831
T_LGTH		 880
T_MXSZ		 879
T_NAM		 822
T_PCB		 832
T_PRI		 821
T_RCVL		 823
T_ST2		 827
T_ST3		 828
T_STAT		 826
T_TCBL		 825
UNUSED		 442	 512	 568
U_CW1		 932
U_CW2		 933
U_CW3		 934
U_CW4		 935
U_DCB		 930
U_RED		 931
U_SCB		 936
VALUES		 617	 664	 670	 671	 672	 674	 698
		 741	 743#	 744#	 745#	 746#	 747#	 748#
		 749#	 750#	 751#	 752#	 753#	 754#	 755#
		 756#	 757#	 758#	 759#	 760#	 761#	 762#
		 763#	 764#	 765#	 766#	 767#	 768#	 769#
		 770#	 771#	 772#	 773#	 774#	 775#	 776#
		 777#	 778#	 779#	 780#	 781#	 782#	 783#
		 784#	 785#	 786#	 787#	 788#	 789#	 790#
		 791#	 792#	 793#	 794#	 795#	 796#	 797#
		 798#	 799#	 800#	 801#	 802#	 803#	 804#
		 805#	 806#	 807#	 808#	 809#	 810#	 811#
		 812#	 813#	 814#	 815#	 816#	 817#	 818#
		 819#	 820#	 821#	 822#	 823#	 824#	 825#
		 826#	 827#	 828#	 829#	 830#	 831#	 832#
		 834	 877	 879#	 880#	 881#	 882#	 883#
		 884#	 885#	 886#	 887#	 888#	 889#	 890#
		 891#	 892#	 893#	 894#	 895#	 896#	 897#
		 898#	 899#	 900#	 901#	 902#	 903#	 904#
		 905#	 906#	 907#	 908#	 909#	 910#	 911#
		 912#	 913#	 914#	 915#	 916#	 917#	 918#
		 919#	 920#	 921#	 922#	 923#	 924#	 925#
		 926#	 927#	 928#	 929#	 930#	 931#	 932#
		DSK:MCOR.XRF[4,31]               31-Aug-79 14:45

		 933#	 934#	 935#	 936#	 937#	 938#	 939#
		 940#	 941#	 942#	 943#	 944#	 945#	 946#
		 947#	 948#	 949#	 950#	 951#	 952#	 953#
		 954#	 955#	 956#	 957#	 958#	 959#	 960#
		 961#	 962#	 963#	 964#	 965#	 966#	 967#
		 968#	 969#	 970#	 971#	 972#	 973#	 974#
		 975#	 976#	 977#	 978#	 979#	 980#	 981#
		 982#	 983#	 984#	 985#	 986#	 987#	 988#
		 989#	 990#	 991#	 992#	 993#	 994#	 995#
		 996#	 997#	 998#	 999#	1000#	1001#	1002#
		1004	1041	1046#	1047#	1048#	1049#	1050#
		1051#	1052#	1056#	1057#	1058#	1059#	1060#
		1061#	1062#	1066#	1067#	1068#	1069#	1070#
		1071#	1072#
VNPVAL_BLOCK	 664	 741	 877	1041
WCOR		  72	 276*
WRITE_DONE	 322	 334#	 347	 360#
ZF_DDM		 961
ZF_DLC		 962
ZF_KMX		 965
ZF_LLC		 963
ZF_LMC		 967
ZF_MFL		 964
ZF_MUX		 966
ZF_TIM		 968
Z_DAT		 960
Z_DSP		 954
Z_FLG		 958
Z_LLN		 957
Z_NAM		 956
Z_PCB		 959
Z_SCH		 955