User Tools

Site Tools


cdc:nos2.source:nam5871:nvfiips

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
  1. *DECK NVFIIPS
  2. USETEXT TEXTNVF
  3. USETEXT TEXTSS
  4. USETEXT TXTANVF
  5. USETEXT TXTAPSS
  6. PROC NVFIIPS;
  7. # TITLE NVFIIPS - INITIALIZE PID STATUS. #
  8.  
  9. BEGIN
  10. #
  11. ** NVFIIPS - INITIALIZE PID STATUS.
  12. *
  13. * C. J. BRION 83/12/12.
  14. * P. A. MURRAY 84/03/19.
  15. *
  16. * THIS ROUTINE IS PART OF THE INITIALIZATION PROCESS FOR NVF.
  17. * ITS JOB IS TO ISSUE A MACREL SPIDA CALL IN ORDER TO INSURE
  18. * THAT ALL INTERHOST NHP PID ACCESS IS UNAVAILABLE UNTIL THE
  19. * APPROPRIATE LOGICAL LINK STATUS MESSAGES ARE RECEIVED. ADDITIONAL
  20. * SPIDA CALLS MAY BE ISSUED TO INSURE THAT ANY INTRAHOST LOGICAL
  21. * LINKS ARE AVAILABLE.
  22. *
  23. * PROC NVFIIPS
  24. *
  25. * ENTRY NONE.
  26. *
  27. * EXIT ONE OR MORE SPIDA CALLS HAVE BEEN ISSUED.
  28. *
  29. #
  30.  
  31.  
  32. #
  33. **** PROC NVFUPRP - XREF LIST.
  34. #
  35. XREF
  36. BEGIN
  37. PROC NVFUMQE; # MAKE QUEUE ENTRY #
  38. PROC SPIDA; # MACREL SETPIDA I/F ROUTINE #
  39. PROC MACHID; # MACREL GET MACHID ROUTINE #
  40. END
  41.  
  42.  
  43. ARRAY HOSTPIDB[00:00] S(1);
  44. BEGIN
  45. ITEM HOSTPRE C(00,42,01); # FIELD FOR HOST PREFIX #
  46. ITEM HOSTID U(00,48,12); # FIELD FOR MACHINE ID #
  47. ITEM HOSTPID C(00,42,03); # ACTUAL HOST PID #
  48. END
  49.  
  50. #
  51. ** PIDMSG - PID NHP LOG FILE MESSAGE ARRAY.
  52. #
  53.  
  54. ARRAY PIDMSG [00:00] S(5);
  55. BEGIN
  56. ITEM PUM$PFCSFC U(00,00,16) = [HOPLG];
  57. ITEM PUM$MSG1 C(01,00,05) = ["PID: "];
  58. ITEM PUM$PID C(01,30,03);
  59. ITEM PUM$MSG2 C(01,48,22) = [", NHP PATH - AVAILABLE"];
  60. ITEM PUM$ZBYT U(04,00,60) = [0];
  61. END
  62.  
  63. #
  64. ** SPIDBLK - SETPIDA PARAMETER BLOCK.
  65. *
  66. * THIS PARAMETER BLOCK DEFINES THE SETPIDA FUNCTION PARAMETERS
  67. * FOR SETTING ALL NHP CONNECTED PIDS UNAVAILABLE.
  68. #
  69.  
  70. ARRAY SPIDBLK [00:00] S(2);
  71. BEGIN
  72. ITEM SPI$FC U(00,00,12) = [1]; # SET NW STATUS FC #
  73. ITEM SPI$NP U(00,12,12) = [1]; # NUMBER PIDS = 1 #
  74. ITEM SPI$NW U(00,24,12) = [1]; # NHP NW ID #
  75. ITEM SPI$RES1 U(00,36,23) = [0]; # RESERVED #
  76. ITEM SPI$CBIT B(00,59,01) = [TRUE]; # COMPLETE BIT #
  77. ITEM SPI$PID C(01,00,03); # PID NAME, *** = ALL PIDS #
  78. ITEM SPI$RES2 U(01,18,38) = [0]; # RESERVED #
  79. ITEM SPI$ST U(01,56,04); # NETWORK STATUS #
  80. END
  81.  
  82. ITEM BLKADDR I; # SPIDA PARM BLK ADDR CELL #
  83. ITEM LLORD I; # LLINK ORDINAL IN A PID ENTRY#
  84. ITEM NUMLL I; # NUMBER OF LLINKS FOR A PID #
  85. ITEM PORD I; # PID ORDINAL IN PATHPID TABLE#
  86.  
  87.  
  88. CONTROL EJECT;
  89.  
  90.  
  91. #
  92. * ISSUE SPIDA CALL TO SET ALL NHP PIDS TO UNAVAILABLE.
  93. #
  94.  
  95. BLKADDR = LOC(SPIDBLK[0]);
  96. SPI$PID[0] = "***";
  97. SPI$ST[0] = 0;
  98. SPIDA(BLKADDR);
  99.  
  100. #
  101. * CONSTRUCT PID NAME OF HOST FROM MACHINE ID.
  102. #
  103.  
  104. MACHID(HOSTPIDB);
  105. HOSTPRE="M";
  106. #
  107. * CHECK FOR PID WITH HOST PID NAME. IF FOUND, SET 1 ACTIVE LLINK
  108. #
  109.  
  110. IF LLPIDL NQ 0
  111. THEN
  112. BEGIN
  113. FOR PORD = 0 STEP ((LLP$LLCNT[PORD] * PIDLLSIZ$) + 1) WHILE
  114. PORD LS LLPIDL
  115. DO
  116. IF HOSTPID EQ LLP$PNAME[PORD] THEN
  117. BEGIN
  118. LLP$ACLL[PORD] = LLP$ACLL[PORD] + 1;
  119. PUM$PID[0] = LLP$PNAME[PORD];
  120. SPI$PID[0] = LLP$PNAME[PORD];
  121. SPI$ST[0] = PIDOPST$;
  122. SPIDA(BLKADDR);
  123. NVFUMQE(P<OTQ>,PIDMSG[0],APPCMD,0,5);
  124. END
  125. END
  126.  
  127.  
  128. END # NVFIIPS #
  129. TERM
cdc/nos2.source/nam5871/nvfiips.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator