*DECK SUPRPLY 
USETEXT COMCBEG 
USETEXT COMRAPL 
USETEXT COMRQUE 
PROC SUPRPLY; 
# TITLE SUPRPLY - INITIATE SUPERVISORY REPLY .  # 
  
      BEGIN  # SUPRPLY #
  
# 
**    SUPRPLY - INITIATE SUPERVISORY REPLY. 
* 
*     INITIATE SUPERVISORY REPLY. 
* 
*     PROC SUPRPLY. 
* 
*     ENTRY   - APL$HEADER IS BASED AREA CONTAINING APPLICATION TABLE.
*               QU$ADDRESS IS BASED AREA CONTAINING MESSAGE.
* 
*     EXIT    - SUPERVISORY MESSAGE IS IN QUEUE.
* 
*     PROCESS - SET QUEUE TYPE TO ASYNC SUPERVISORY MESSAGE.
*               QUEUE SUPERVISORY MESSAGE.
*               IF OUTSTANDING NETWAIT
*               THEN: 
*                 IF NETWAIT ALLOWS IMMEDIATE RETURN
*                 THEN: 
*                   GENERATE NETWAIT UCP REPLY QUEUE ENTRY
*                   RETURN NSUP REPLY.
*               RETURN. 
# 
  
# 
****  PROC SUPRPLY - XREF LIST BEGIN. 
# 
      XREF
        BEGIN 
        PROC GENWAIT;                # GENERATE NETWAIT UCP REPLY QUE # 
        PROC QUEUE;                  # QUEUE #
        PROC DEQUEUE;                # DEQUEUE #
        PROC RTNNSUP;                # RETURN NSUP REPLY #
        END 
  
# 
****  PROC SUPRPLY - XREF LIST END. 
# 
  
  
CONTROL EJECT;
  
      QU$TYPE = QT$UCPMSGR; 
      QU$ERRLGL = FALSE;
      QU$SUPAPAD = P<APL$HEADER>; 
      QUEUE(LOC(APL$MSGQ)); 
      APL$MSGCNT = APL$MSGCNT + 1;
      IF APL$WAIT NE 0
      THEN
        BEGIN  # OUTSTANDING NETWAIT #
        IF NOT APL$WFLAG
        THEN
          BEGIN  # PERFORM IMMEDIATE RETURN # 
          GENWAIT;
          RTNNSUP;
          END 
  
        END 
  
      RETURN; 
      END  # SUPRPLY #
  
      TERM
