*DECK DODPR 
USETEXT COMCBEG 
USETEXT COMADEF 
USETEXT COMACBF 
USETEXT COMACBX 
USETEXT COMAFET 
    PROC DODPR; 
# TITLE DODPR - DECIDE ON DEVICE PROCESSING ROUTINE.  # 
  
      BEGIN  # DODPR #
  
# 
**    DODPR - DECIDE ON DEVICE PROCESSING ROUTINE.
* 
*     DODPR DECIDES WHICH ROUTINES TO CALL IN ORDER TO KEEP 
*     FILE TRANSFER PROCESSING IN PROGRESS. 
* 
*     PROC DODPR
* 
*     ENTRY      <FTTENT> = FWA FTT ENTRY.
*                <XFRHOLD> = FWA FILE TRANSFER STATUS TABLE.
* 
* 
*     EXIT       NONE.
* 
* 
* 
* 
*     PROCESS    IF TWO BUFFER I/O
*                THEN 
*                  PROCESS INPUT AND OUTPUT EXTENTS.
*                  WHILE CVT OUTPUT SPACE IS AVAILABLE
*                    AND DATA TRANSFER IN PROGRESS
*                    AND (CVT INPUT IS AVAILABLE
*                    OR (CVT STATE IS NOT NORMAL
*                    AND INPUT EXTENT EXISTS))
*                  THEN 
*                    PROCESS CONVERSION.
*                    PROCESS INPUT AND OUTPUT EXTENTS.
*                    IF SENDING FILE
*                      CHECK FOR POSSIBLE QUIT (LEVEL 7 MESSAGE)
*                ELSE 
*                  PROCESS ONE BUFFER I/O.
*                  IF SENDING FILE
*                    CHECK FOR POSSIBLE QUIT (LEVEL 7 MESSAGE)
*                PERFORM ANY INPUT I/O REQUESTS.
*                PERFORM ANY OUTPUT I/O REQUESTS. 
*                RETURN.
* 
****  PROC DODPR - XREF LIST BEGIN. 
# 
  
      XREF
        BEGIN 
        PROC CHASE;                  # PROCESS ONE BUFFER I/O # 
        PROC CVT;                    # PERFORM DATA CONVERSIONS # 
        PROC EXTENTS;                # PROCESS EXTENTS #
        PROC GETLEV7;                # GET LEVEL 7 MESSAGE #
        PROC INREQ;                  # ISSUE INPUT I/O REQUESTS # 
        PROC OUTREQ;                 # ISSUE OUTPUT I/O REQUESTS #
        END 
  
# 
****  PROC DODPR - XREF LIST END. 
# 
  
CONTROL EJECT;
  
      IF FTTCVTMODE 
      THEN
        BEGIN 
        EXTENTS;
        ASLONGAS OUTBLKBYT NE 0 
                 AND FTTSTATE EQ S"DATAXFRPRG"
                 AND (INBLKBYT NE 0 
                      OR (CVTSTATE NE 0 
                          AND INDATSTATE NE DSNULL))
        DO
          BEGIN 
          CVT(XFRHOLD); 
          EXTENTS;
          IF NSUP$IBIT AND FTTDIRECN EQ SEND
          THEN
            BEGIN 
            GETLEV7;
            END 
          END 
        END 
  
      ELSE
        BEGIN 
        CHASE;
        IF NSUP$IBIT AND FTTDIRECN EQ SEND
        THEN
          BEGIN 
          GETLEV7;
          END 
        END 
  
      INREQ;
      OUTREQ; 
  
      RETURN; 
  
      END  # DODPR #
  
    TERM
