*DECK     NVFADQE 
USETEXT TEXTNVF;
USETEXT TEXTSS; 
USETEXT TXTANVF;
USETEXT TXTAPSS;
USETEXT TXTSUSS;
PROC NVFADQE; 
# TITLE  NVFADQE  DISPATCH A-A PROCESS QUEUE ENTRIES #
  
      BEGIN  # NVFADQE #
  
# 
**    NVFADQE - DISPATCH A-A PROCESS QUEUE ENTRIES. 
* 
*     C. BRION          82/06/03, 83/04/22, 83/12/12. 
* 
*     THIS PROCEDURE IS THE MAIN DISPATCHER FOR THE A-A PROCESS.
* 
*     PROC NVFADQE
* 
*     ENTRY:  
*       AAINPQ - A-A INPUT QUEUE ENTRIES. 
* 
*     EXIT: 
*       THE AAINPQ WILL BE EXHAUSTED OF ENTRIES.
* 
# 
  
      CONTROL EJECT;
  
# 
****  PROC NVFADQE XREF LIST
# 
  
      XREF
        BEGIN 
        PROC SSTRQE;                     # SS-REMOVE QUEUE ENTRY #
        PROC NVFARVD;                    # A-A PROCESS VCB DATA # 
        PROC NVFAACC;                    # PROCESS CR/ACC SM #
        PROC NVFATAC;                    # TERMINATE A-A CONNECTION # 
        PROC SSTAQE;                     # SS-ALLOCATE QUEUE ENTRY #
        PROC NVFASPC;                    # SWITCH PENDING CONNECTIONS # 
        END 
  
# 
****
# 
  
      ITEM I            I;               # LOOP VAR # 
  
# 
*     AASWT - SWITCH FOR ROUTING THE A-A SMS. 
# 
  
      SWITCH AASWT:CTQSTAT
        AACRACC:SACC,                    # CR/ACC SM #
        AACRCB:SCB,                      # CR/CB SM # 
        AACRRCN:SRCN,                    # CR/RCN SM #
        AACRIAP:SIAP,                    # CR/IAP SM #
        AACRRAP:SRAP,                    # CR/RAP SM #
        AANETN:SNETN,                    # NET/ON/N SM #
        AANETA:SNETA,                    # NET/ON/A SM #
        AAFAIAP:SFAI,                    # FAI/APP/N SM # 
        AAINAC:SINA;                     # FC/INACT SM #
  
  
# 
*     DISPATCH ENTRIES FROM THE AAINPQ TO THE APPROPRIATE ROUTINE.
# 
  
      FOR I = 0 WHILE AAQL NQ 0 
      DO
        BEGIN 
        SSTRQE(P<AAINPQ>,WCBUF,ABHBUF,MSGBUF);
        GOTO AASWT[WCB$SMID[0]];
  
AACRACC:  
        NVFAACC;
        GOTO ENDCASE; 
  
AACRCB: 
AACRRCN:  
AAINAC: 
        NVFATAC;
        GOTO ENDCASE; 
  
AACRIAP:  
AAFAIAP:  
        SSTAQE(P<OUTSMQ>,WCBUF,ABHBUF,MSGBUF);
        GOTO ENDCASE; 
  
AACRRAP:  
        SSTAQE(P<INSMQ>,WCBUF,ABHBUF,MSGBUF); 
        GOTO ENDCASE; 
AANETN: 
AANETA: 
        NVFASPC;
        GOTO ENDCASE; 
  
ENDCASE:  
        END 
  
# 
*     CALL PROC NVFARVD TO PROCESS ENTRIES FROM THE VCB RECEIVE DATA
*     QUEUE - AAVCBRDQ. 
# 
  
      FOR I = 0 WHILE AAVCLNGTH NQ 0
      DO
        BEGIN 
        SSTRQE(P<AAVCBRDQ>,WCBUF,ABHBUF,MSGBUF);
        NVFARVD;
        END 
  
# 
*     REMOVE QUEUE ENTRIES FROM AALPID RETURN FUNCTION QUEUE AND
*     ENTER INTO THE LPIDFXQ SO AS TO CAUSE THE OUTCALL REQUEST 
*     OVERLAY TO BE LOADED IF NEEDED AND NVFAIAP EXECUTED.
# 
      FOR I = 0 WHILE AALPIDL NQ 0
      DO
        BEGIN 
        SSTRQE(P<AALPID>,WCBUF,ABHBUF,MSGBUF);
        SSTAQE(P<LPIDFXQ>,WCBUF,ABHBUF,MSGBUF); 
        END 
  
      END # NVFADQE # 
 TERM 
