*DECK NS$N09
USETEXT NAT$NS
USETEXT PFC$NS
USETEXT SMB$NS
USETEXT SMD$NS
PROC NS$N09(ERRCODE); # PROCESS NPU/DT/N (LOAD NDCB) #
# TITLE NS$N09 - PROCESS NPU/DT/N (LOAD NDCB). #
BEGIN # NS$N09 #
#
** NS$N09 - PROCESS NPU/DT/N (LOAD NDCB).
*
* J.C. LEE 1981
*
* THIS ROUTINE PROCESS NPU/DT/N (LOAD NDCB).
*
* PROC NS$N09(ERRCODE)
*
* ENTRY:
* NPU TABLE ORDINAL.
*
* EXIT:
* ERRCODE.
*
* METHOD:
* CLEAR ERRCODE.
* CLEAR NPU/DT/R RETRY COUNT.
* FORMAT NPU/DT/C.
* SEND NPU/DT/C.
* RELEASE TSB FOR DUMP NDCB RESPONSE.
* UPDATE NPU-ACTIVITY TABLE (NAT)
* PROCESS NEXT XPCB DIRECTIVE.
*
#
ITEM ERRCODE U; # ERROR CODE #
$BEGIN
XREF
BEGIN
PROC NS$DBG; # TRACE PROCEDURE CALL #
END
$END
XREF
BEGIN
PROC NETPUT; # NETPUT #
PROC NS$FBH; # FORMAT ABH #
PROC NS$XPD; # PROCESS NEXT XPCB DIRECTIVE #
PROC RETTSB; # RETURN TSB #
END
CONTROL EJECT;
$BEGIN
NS$DBG("N09"); # TRACE CALL #
$END
ERRCODE = 0;
NAT$RETRYS[0] = 0;
NS$FBH(LNPUDTSC,TRUE); # FORMAT ABH #
PFCSFC[0] = NPUDT; # FORMAT NPU/DT/C (STARTC) #
NPUPO[0] = NAT$PN[0];
NPUSP[0] = NAT$SPN[0];
NPULS[0] = NAT$LSN[0];
NPUCC[0] = CMDCODE"CC$STRTC";
NETPUT(ABH$WORD,SMB$BUFFER); # SEND STARTC COMMAND #
RETTSB(NAT$SMTSBN[0]); # RELEASE TSB FOR DUMP NDCB RESP#
NAT$SMTSBN[0] = 0; # UPDATE NAT #
NS$XPD(ERRCODE); # PROCESS NEXT XPCB DIRECTIVE #
RETURN;
END # NS$N09 #
TERM