cdc:nos2.source:nam5871:np_resp
Table of Contents
NP$RESP
Table Of Contents
- [00012] PROC NP$RESP
- [00086] PROC NP$DBG
- [00088] PROC NP$GSM
- [00089] PROC NP$ON
- [00091] PROC NP$SN
Source Code
- NP$RESP.txt
- *DECK NP$RESP
- USETEXT AIPDEF
- USETEXT NP$MODE
- USETEXT NP$NWL
- USETEXT NP$STAT
- *IF DEF,XFR
- USETEXT NX$ACBF
- *ENDIF
- *IF,DEF,DEBUG
- USETEXT NP$DB
- *ENDIF
- PROC NP$RESP;
- *IF DEF,IMS
- #
- *1DC NP$RESP
- *
- * 1. PROC NAME AUTHOR DATE
- * NP$RESP S.KRULEVITCH 77/3/21
- *
- * 2. FUNCTIONAL DESCRIPTION
- * THIS ROUTINE PROCESSES THE EXPECTED RESPONSE FROM NIP.
- *
- * 3. METHOD USED
- * NIP RESPONSE IS EXPECTED IN AIP"S WORKLIST AFTER THE HEADER
- * WORDS. NP$RESP RESETS THE NP$NWL HEADER WORD AND TABLE
- * POINTER WORDS: NEXT AND SPACE$LEFT. THE POSSIBLE WORKLIST
- * RESPONSES ARE TREATED AS FOLLOWS:
- *
- * A NETON RESPONSE IS TREATED IN NP$ON.
- *
- * FOR A GET/GETL/GTFL/GETF RESPONSE, NP$RESP WILL PASS THE
- * APPLICATION BLOCK HEADER OF THE DATA MESSAGE TO THE APPLICATION
- * HEADER ADDRESS (HA). NP$RESP WILL LOG THE MESSAGE ON AIP
- * DEBUG FILE VIA ROUTINE NP$DBG. IF STAT IS DEFINED
- * THEN THE NUMBER OF MESSAGES OF A SPECIFIC ABT IS INCREMENTED.
- *
- * FOR A GETSM RESPONSE, THE SMB POINTERS ARE UPDATED AND THE
- * NEXTSMLEN WORD ( WHICH SPECIFIES THE LENGTH
- * OF THE NEXT SUPERVISORY MESSAGE IN NIP"S FIELD LENGTH WAITING
- * FOR ROOM IN THIS APPLICATION"S SMB) IS SET.
- * IF THE APPLICATION HAD PREVIOUSLY REQUESTED A SUPERVISOR
- * MESSAGE, THEN NP$GSM IS CALLED. LTAA IS SET TO ZERO, AND
- * DEFER$GSM IS SET TO FALSE.
- *
- * IF THE DOWNLINE BUFFER FEATURE IS IN USE, RESET THE WORKLIST
- * TABLE POINTER WORDS FOR THE APPLICATION-SUPPLIED DOWNLINE
- * BUFFER.
- *
- * 4. ENTRY CONDITIONS
- * AWL$NEXT[NHDR] - AWL WORD COUNT.
- * LOC$HA - LOCATION FOR THE HEADER ADDRESS.
- *
- * 5. EXIT CONDITIONS
- * HA - CONTAINS ABH IF THERE WAS A GET/GETL/GETF.
- * NEXTSMLEN - ZERO IF NO SUPERVISORY MESSAGES AVAILABLE FOR USER.
- * OTHERWISE, LENGTH OF THE NEXT MESSAGE.
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * AIPDEF NP$CRT NP$DB NP$MODE
- * NP$NWL NP$STAT
- *
- * 7. ROUTINES CALLED
- * NP$GSM
- * NP$DBG
- * NP$ON
- * NP$SN - INCREMENTS STATISTICS COUNTER
- *
- * 8. DAYFILE MESSAGES
- * NONE
- *
- #
- *ENDIF
- BEGIN
- # #
- *CALL NP$CRT
- # #
- # ROUTINE CALLED: #
- # #
- XREF
- BEGIN
- *IF DEF,DEBUG
- PROC NP$DBG; #OUTPUT MESSAGE TO ZZZZZDN #
- *ENDIF
- PROC NP$GSM; #DELIVERS A SUP MSG TO APP #
- PROC NP$ON; #PROCESSES NETON RESPONSE #
- *IF DEF,STAT
- PROC NP$SN; #INCREMENTS STATISTICS COUNTER#
- *ENDIF
- END
- ITEM
- I I, #TEMPORARY VARIABLE #
- J; # TEMPORARY VARIABLE #
- BASED ARRAY MEM[0:O"77777"] S(1);
- ITEM
- HA I (0); #HEADER AREA #
- #**********************************************************************#
- # #
- # NP$RESP EXECUTION BEGINS HERE #
- # #
- *CALL NP$RST
- FOR I=NEXT WHILE N$AWL[0] NQ 0
- DO
- BEGIN
- IF N$GETAWL[0] NQ 0
- THEN
- BEGIN # GET/GETL/GETF/GETFL AWL RESPONSE #
- P<MEM> = LOC$HA;
- HA[0] = ABH[I+1];
- *IF DEF,DEBUG
- NP$DBG; # WRITE TO ZZZZZDN FILE #
- *ENDIF
- *IF DEF,STAT
- J = TYPE"INB" + ABH$ABT[I+1];
- NP$SN(J); # UPDATE STATISTICS #
- *ENDIF
- N$GETAWL[0] = 0;
- TEST I;
- END
- I = I + AWLESIZE; # GMM AWL ALWAYS 2ND AWL ENTRY #
- IF N$GMMAWL[0] NQ 0
- THEN # GETMM AWL RESPONSE #
- BEGIN
- GMBFOOT = GMBFOOT + GMM$NW[I+1]; # UPDATE FOOT OF DATA BUF #
- GMBLN = GMM$ALN[I+1]; # LIST NUMBER OF DATA IN AIP QUEUE #
- *IF,DEF,STAT
- STAT[TYPE"GMD"] = STAT[TYPE"GMD"] + GMM$NM[I];
- STAT[TYPE"GMWD"] = STAT[TYPE"GMWD"] + GMM$NW[I+1];
- *ENDIF
- N$GMMAWL[0] = 0; # END GETMM PROCESING #
- END
- IF N$GSMAWL[0] NQ 0
- THEN # GSM AWL RESPONSE #
- BEGIN
- I = I + AWLESIZE; # GSM AWL ALWAYS 3RD AWL ENTRY #
- *IF,DEF,STAT
- STAT[TYPE"GSD"] = STAT[TYPE"GSD"] + GMM$NM[I];
- STAT[TYPE"GSWD"] = STAT[TYPE"GSWD"] + ABH$TLC[I+1];
- *ENDIF
- FOOT = FOOT + ABH$TLC[I+1]; # UPDATE FOOT PTR OF SMB #
- NEXTSMLEN = NWL$RC[I+1]; # SIZE OF NEXT AVAIL SM #
- N$AWL[0] = 0; # END AWL PROCESSING #
- IF DEFER$GSM
- THEN
- BEGIN
- NP$GSM; # SEND SM TO APPLICATION #
- LTAA = 0;
- DEFER$GSM = FALSE;
- END
- TEST I;
- END
- IF N$NETONAWL[0] NQ 0
- THEN # NETON AWL RESPONSE #
- BEGIN
- NP$ON;
- N$AWL[0] = 0; # END AWL PROCESSING #
- END
- *IF DEF,XFR
- IF N$XFRAWL[0] NQ 0
- THEN
- BEGIN
- NET$AWL$XFR = NWL$RC[NEXT] ;
- N$AWL[0] = 0 ;
- END
- *ENDIF
- END #END FOR LOOP #
- IF DOWNUSE
- THEN # DOWNLINE BUFFER FEATURE IS IN USE #
- BEGIN
- P<WORKLIST> = LOC$APBUF; # POINT WORKLIST TO APPL BUFFER #
- NEXT = 0;
- SPACE$LEFT = AB$SIZE[0];
- END
- RETURN;
- END #NP$RESP#
- TERM
cdc/nos2.source/nam5871/np_resp.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator