*DECK NS$KDD
USETEXT HOC$NS
USETEXT LIN$NS
PROC NS$KDD(REASON); # ISSUE HOP COMMAND DIAGNOSTIC #
# TITLE NS$KDD - ISSUE HOP COMMAND DIAGNOSTIC. #
BEGIN # NS$KDD #
#
** NS$KDD - ISSUE HOP COMMAND DIAGNOSTIC.
*
* J.C. LEE 1981
*
* THIS ROUTINE ISSUES HOP COMMAND DIAGNOSTIC.
*
* PROC NS$KDD(REASON)
*
* ENTRY:
* REASON - HOP COMMAND ERROR REASON CODE:
* 0 - NO ERROR.
* 1 - SYNTAX ERROR.
* 2 - UNRECOGNIZABLE COMMAND VERB.
* 3 - ILLEGAL PARAMETER.
* 4 - NPU NOT CONFIGURED.
* 5 - NPU NOT SPECIFIED.
* 6 - NLF NOT SPECIFIED.
* 7 - NLF NOT AVAILABLE.
* 8 - NPU ACTIVE, CANNOT ACTION.
* 9 - BAD NLF FILE FORMAT.
*
* EXIT:
* NONE.
*
* METHOD:
* USE REASON CODE AS INDEX TO A TABLE OF HOP COMMAND MESSAGES.
* CALL NS$TKD TO TRANSFER THE INDEXED LINE TO *KDB*.
*
#
ITEM REASON S:HOPCMDERR;
$BEGIN
XREF
BEGIN
PROC NS$DBG; # TRACE CALL #
END
$END
XREF
BEGIN
PROC NS$TKD; # TRANSFER LINE TO KDB #
END
DEF L$HCD # 4 #; # SIZE OF DIAGNOSTIC MESSAGE #
DEF MAX$NMSGS # 9 #; # MAXIMUM NUMBER OF DIAGNOSTIC #
ARRAY ILLHOPCMD[1:MAX$NMSGS]S(L$HCD);
BEGIN # HOP COMMAND ERROR DIAGNOSTICS #
ITEM HCD$LNHDR U(00,00,60); # LINE HEADER WORD #
ITEM HCD$LNID U(00,00,24) = [MAX$NMSGS(LIN$IDENT)]; # LINE ID#
ITEM HCD$LNSIZE U(00,42,18) = [MAX$NMSGS(L$HCD)]; # LINE SIZE #
ITEM HCD$ERROR C(01,00,28) = [ # K DISPLAY ERROR DIAGNOSTICS #
"SYNTAX ERROR.",
"UNRECOGNIZED COMMAND.",
"ILLEGAL PARAMETER.",
"NPU IS NOT CONFIGURED.",
"NPU IS NOT SPECIFIED.",
"NLF IS NOT SPECIFIED.",
"NLF IS NOT AVAILABLE.",
"NPU IS ACTIVE,TRY LATER.",
"BAD NLF FILE FORMAT.",
];
ITEM HCD$END U(03,48,12) = [MAX$NMSGS(0)]; # LINE TERMINATOR#
END
CONTROL EJECT;
$BEGIN
NS$DBG("KDD"); # TRACE CALL #
$END
IF REASON LQ MAX$NMSGS
THEN # VALID REASON CODE #
BEGIN # ISSUE DIAGNOSTIC #
NS$TKD(ILLHOPCMD[REASON],L$HCD,1);
END
RETURN;
END # NS$KDD #
TERM