cdc:nos2.source:nam5871:nvfiips
Table of Contents
NVFIIPS
Table Of Contents
- [00006] PROC NVFIIPS
- [00007] NVFIIPS - INITIALIZE PID STATUS.
- [00011] INITIALIZE PID STATUS.
- [00037] PROC NVFUMQE
- [00038] PROC SPIDA
- [00039] PROC MACHID
- [00051] PIDMSG - PID NHP LOG FILE MESSAGE ARRAY.
- [00064] SPIDBLK - SETPIDA PARAMETER BLOCK.
Source Code
- NVFIIPS.txt
- *DECK NVFIIPS
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXTANVF
- USETEXT TXTAPSS
- PROC NVFIIPS;
- # TITLE NVFIIPS - INITIALIZE PID STATUS. #
- BEGIN
- #
- ** NVFIIPS - INITIALIZE PID STATUS.
- *
- * C. J. BRION 83/12/12.
- * P. A. MURRAY 84/03/19.
- *
- * THIS ROUTINE IS PART OF THE INITIALIZATION PROCESS FOR NVF.
- * ITS JOB IS TO ISSUE A MACREL SPIDA CALL IN ORDER TO INSURE
- * THAT ALL INTERHOST NHP PID ACCESS IS UNAVAILABLE UNTIL THE
- * APPROPRIATE LOGICAL LINK STATUS MESSAGES ARE RECEIVED. ADDITIONAL
- * SPIDA CALLS MAY BE ISSUED TO INSURE THAT ANY INTRAHOST LOGICAL
- * LINKS ARE AVAILABLE.
- *
- * PROC NVFIIPS
- *
- * ENTRY NONE.
- *
- * EXIT ONE OR MORE SPIDA CALLS HAVE BEEN ISSUED.
- *
- #
- #
- **** PROC NVFUPRP - XREF LIST.
- #
- XREF
- BEGIN
- PROC NVFUMQE; # MAKE QUEUE ENTRY #
- PROC SPIDA; # MACREL SETPIDA I/F ROUTINE #
- PROC MACHID; # MACREL GET MACHID ROUTINE #
- END
- ARRAY HOSTPIDB[00:00] S(1);
- BEGIN
- ITEM HOSTPRE C(00,42,01); # FIELD FOR HOST PREFIX #
- ITEM HOSTID U(00,48,12); # FIELD FOR MACHINE ID #
- ITEM HOSTPID C(00,42,03); # ACTUAL HOST PID #
- END
- #
- ** PIDMSG - PID NHP LOG FILE MESSAGE ARRAY.
- #
- ARRAY PIDMSG [00:00] S(5);
- BEGIN
- ITEM PUM$PFCSFC U(00,00,16) = [HOPLG];
- ITEM PUM$MSG1 C(01,00,05) = ["PID: "];
- ITEM PUM$PID C(01,30,03);
- ITEM PUM$MSG2 C(01,48,22) = [", NHP PATH - AVAILABLE"];
- ITEM PUM$ZBYT U(04,00,60) = [0];
- END
- #
- ** SPIDBLK - SETPIDA PARAMETER BLOCK.
- *
- * THIS PARAMETER BLOCK DEFINES THE SETPIDA FUNCTION PARAMETERS
- * FOR SETTING ALL NHP CONNECTED PIDS UNAVAILABLE.
- #
- ARRAY SPIDBLK [00:00] S(2);
- BEGIN
- ITEM SPI$FC U(00,00,12) = [1]; # SET NW STATUS FC #
- ITEM SPI$NP U(00,12,12) = [1]; # NUMBER PIDS = 1 #
- ITEM SPI$NW U(00,24,12) = [1]; # NHP NW ID #
- ITEM SPI$RES1 U(00,36,23) = [0]; # RESERVED #
- ITEM SPI$CBIT B(00,59,01) = [TRUE]; # COMPLETE BIT #
- ITEM SPI$PID C(01,00,03); # PID NAME, *** = ALL PIDS #
- ITEM SPI$RES2 U(01,18,38) = [0]; # RESERVED #
- ITEM SPI$ST U(01,56,04); # NETWORK STATUS #
- END
- ITEM BLKADDR I; # SPIDA PARM BLK ADDR CELL #
- ITEM LLORD I; # LLINK ORDINAL IN A PID ENTRY#
- ITEM NUMLL I; # NUMBER OF LLINKS FOR A PID #
- ITEM PORD I; # PID ORDINAL IN PATHPID TABLE#
- CONTROL EJECT;
- #
- * ISSUE SPIDA CALL TO SET ALL NHP PIDS TO UNAVAILABLE.
- #
- BLKADDR = LOC(SPIDBLK[0]);
- SPI$PID[0] = "***";
- SPI$ST[0] = 0;
- SPIDA(BLKADDR);
- #
- * CONSTRUCT PID NAME OF HOST FROM MACHINE ID.
- #
- MACHID(HOSTPIDB);
- HOSTPRE="M";
- #
- * CHECK FOR PID WITH HOST PID NAME. IF FOUND, SET 1 ACTIVE LLINK
- #
- IF LLPIDL NQ 0
- THEN
- BEGIN
- FOR PORD = 0 STEP ((LLP$LLCNT[PORD] * PIDLLSIZ$) + 1) WHILE
- PORD LS LLPIDL
- DO
- IF HOSTPID EQ LLP$PNAME[PORD] THEN
- BEGIN
- LLP$ACLL[PORD] = LLP$ACLL[PORD] + 1;
- PUM$PID[0] = LLP$PNAME[PORD];
- SPI$PID[0] = LLP$PNAME[PORD];
- SPI$ST[0] = PIDOPST$;
- SPIDA(BLKADDR);
- NVFUMQE(P<OTQ>,PIDMSG[0],APPCMD,0,5);
- END
- END
- END # NVFIIPS #
- TERM
cdc/nos2.source/nam5871/nvfiips.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator