*COMDECK COM3NW 
GCR       SPACE  4,10 
**        GCR - GET CONNECT REQUEST.
* 
*         ENTRY  NONE.
* 
*         EXIT   (A) = 0, IF CONNECTION REQUEST MESSAGE INPUT.
*                    = 1, IF NO CONNECTION REQUEST. 
*                    .LT. 0, IF HARDWARE ERROR. 
*                (BUFF) = CONNECTION REQUEST MESSAGE IF INPUT.
* 
*         USES   FLUSH. 
* 
*         CALLS  ERR, FAN, FFN, INP, OUT, R.TAFL, WFP.
  
  
 GCR      ENM    X                 ENTRY/EXIT 
          IF     -DEF,NOS,1 
          RJM    R.TAFL            RELEASE FIELD ACCESS 
          LDC    GCRA              SET OUTPUT BUFFER ADDRESS TO 
          STM    OUTA                CONNECTION SELECT VALUES 
          LDC    BUFF 
          STM    INPA              SET INPUT BUFFER ADDRESS 
          STD    FLUSH             SET FLUSH FLAG 
 GCR01    LDK    FCIP              INQUIRE SELECTED PATH
          RJM    FFN
          ZJN    GCR05             IF ACK RESPONSE
 GCR02    MJN    GCR04             IF HARDWARE ERROR
 GCR03    LCN    NADERRH           ABNORMAL RESPONSE CODE 
 GCR04    RJM    ERR               REPORT ERROR 
          MJN    GCRX              IF FIRM HARDWARE ERROR 
          LDK    FCAB              ABORT TRANSACTION
          RJM    FFN
          MJN    GCR04             IF HARDWARE ERROR
          UJN    GCR01             RESTART TRANSACTION
  
 GCR05    RJM    WFP               WAIT FOR PRIMED
          MJN    GCR04             IF ERROR 
          LDK    FCO8              OUTPUT 8/12
          RJM    FAN
          MJN    GCR04             IF ERROR 
          LDN    GCRAL
          RJM    OUT               OUTPUT SELECT VALUE
          ZJN    GCR06             IF NO ERROR AND NO LENGTH ERROR
          MJN    GCR04             IF ERROR 
          LCN    NADERRJ           PARAMETER LENGTH ERROR 
          UJN    GCR04
  
 GCR06    LDK    FCRY              SEND READY 
          RJM    FFN
          ZJN    GCR08             IF CONNECTION REQUEST FOUND
          MJN    GCR04             IF ERROR 
          LMN    RCNK&RCAK
          NJN    GCR03             IF REPLY ERROR 
          LDN    1                 NO CONNECTION REQUEST
 GCR07    LJM    GCRX 
  
 GCR08    LDK    FCBM              SELECT BINARY
          RJM    FFN
          ZJN    GCR09             IF ACCEPTED
          LJM    GCR02
  
 GCR09    RJM    WFP               WAIT FOR PRIMED
          ZJN    GCR11             IF NO ERROR
 GCR10    LJM    GCR04
  
 GCR11    LDK    FCIB              INPUT BINARY 
          RJM    FAN
          MJN    GCR10             IF ERROR 
          LDK    CNPL 
          RJM    INP               INPUT CONNECT REQUEST
          MJN    GCR10             IF ERROR 
          SBN    CNPL 
          ZJN    GCR07             IF CONNECT MESSAGE INPUT 
          LCN    NADERRI           CONTROL MESSAGE LENGTH ERROR 
          UJN    GCR10
  
 GCRA     VFD    4/0,8/0
          VFD    4/0,8/20B         IGNORE PHYSICAL FROM 
          VFD    4/0,8/1RR+100B    ASCII RH FOR PATH NAME 
          VFD    4/0,8/1RH+100B 
 GCRAL    EQU    *-GCRA 
GCM       SPACE  4,10 
**        GCM - GET CONTROL MESSAGE.
* 
*         ENTRY  (A) LOWER 12 = PATH ID OF SELECT NAME. 
*                    UPPER  6 = TYPE OF COMPARE.
*                (D.T0) = TYPE OF SELECT FUNCTION TO BE USED. 
* 
*         EXIT   (A) = 0, IF CONTROL MESSAGE INPUT. 
*                    = 1, IF NO CONTROL MESSAGE.
*                    .LT. 0, IF HARDWARE ERROR. 
*                (BUFF) = CONTROL MESSAGE IF INPUT. 
*                (D.T5) = BYTES INPUT BEYOND HEADER.
* 
*         USES   D.T0, D.T5, FLUSH. 
* 
*         CALLS  ERR, FAN, FFN, INP, OUT, R.TAFL, WFP.
  
  
 GCM      ENM    X                 ENTRY/EXIT 
          STM    GCMD              SAVE PATH ID 
          SHN    -12               REMOVE PATH ID 
          SHN    5                 POSITION COMPARE TYPE
          ADK    20B               IGNORE PHYSICAL FROM 
          STM    GCMC 
          LDD    D.T0 
          STM    GCMA              SET SELECT FUNCTION TYPE 
          IF     -DEF,NOS,1 
          RJM    R.TAFL            RELEASE FIELD ACCESS 
          LDC    GCMB              SET OUTPUT BUFFER ADDRESS TO 
          STM    OUTA                MESSAGE SELECT VALUES
          LDC    BUFF 
          STM    INPA              SET INPUT BUFFER ADDRESS 
          STD    FLUSH             SET FLUSH FLAG 
 GCM01    LDC    0
 GCMA     EQU    *-1               TYPE OF SELECT FUNCTION
          RJM    FFN
          ZJN    GCM05             IF ACK RESPONSE
 GCM02    MJN    GCM04             IF HARDWARE ERROR
 GCM03    LCN    NADERRH           ABNORMAL RESPONSE CODE 
 GCM04    RJM    ERR               REPORT ERROR 
          MJN    GCM07             IF FIRM HARDWARE ERROR 
          LDK    FCAB              ABORT TRANSACTION
          RJM    FFN
          MJN    GCM04             IF HARDWARE ERROR
          UJN    GCM01             RESTART TRANSACTION
  
 GCM05    RJM    WFP               WAIT FOR PRIMED
          MJN    GCM04             IF ERROR 
          LDK    FCO8              OUTPUT 8/12
          RJM    FAN
          MJN    GCM04             IF ERROR 
          LDN    GCMAL
          RJM    OUT               OUTPUT SELECT VALUE
          ZJN    GCM06             IF NO ERROR AND NO LENGTH ERROR
          MJN    GCM04             IF ERROR 
          LCN    NADERRJ           PARAMETER LENGTH ERROR 
          UJN    GCM04
  
 GCM06    LDK    FCRY              SEND READY 
          RJM    FFN
          ZJN    GCM08             IF CONTROL MESSAGE FOUND 
          MJN    GCM04             IF ERROR 
          LMN    RCNK&RCAK
          NJN    GCM03             IF REPLY ERROR 
          LDN    1                 NO CONTROL MESSAGE 
 GCM07    LJM    GCMX 
  
 GCM08    LDK    FCBM              SELECT BINARY
          RJM    FFN
          ZJN    GCM09             IF ACCEPTED
          LJM    GCM02
  
 GCM09    RJM    WFP               WAIT FOR PRIMED
          ZJN    GCM11             IF NO ERROR
 GCM10    LJM    GCM04
  
 GCM11    LDK    FCIB              INPUT BINARY 
          RJM    FAN
          MJN    GCM10             IF ERROR 
          LDK    CMGL 
          RJM    INP               INPUT CONTROL MESSAGE
          MJN    GCM10             IF ERROR 
          SBN    2*HDRLEN 
          PJN    GCM12             IF CONTROL MESSAGE INPUT 
          LCN    NADERRI           CONTROL MESSAGE LENGTH ERROR 
          UJN    GCM10
  
 GCM12    STD    D.T5              SAVE BYTES INPUT 
 GCM13    LDK    FCRY              SEND READY 
          RJM    FFN
          PJN    GCM14             IF NO HARDWARE ERROR 
          RJM    ERR               REPORT ERROR 
          MJN    GCM15             IF FIRM HARDWARE ERROR 
          UJN    GCM13             RETRY READY
  
 GCM14    LDN    0                 NORMAL RETURN
 GCM15    LJM    GCM07
  
 GCMB     VFD    4/0,8/0           PHYSICAL FROM
 GCMC     VFD    4/0,8/0
          VFD    4/0,8/1RR+100B    ASCII R FOR PATH NAME
 GCMD     VFD    4/0,8/0           PATH ID
 GCMAL    EQU    *-GCMB 
PTH       SPACE  4,10 
**        PTH - OBTAIN PATH STATUS TABLE. 
* 
*         ENTRY  NONE.
* 
*         EXIT   (A) = 0, NORMAL RETURN.
*                    .LT. 0, ERROR RETURN.
* 
*         USES   FLUSH. 
* 
*         CALLS  ERR, FAN, FFN, INP, WFP. 
  
  
 PTH      ENM    X                 ENTRY/EXIT 
 PTH1     LDK    FCST              READ PATH STATUS TABLE 
          RJM    FFN
          ZJN    PTH4              IF ACK RESPONSE
          LMN    RCFL&RCAK
          ZJN    PTH4              IF PATH FLUSHED
 PTH2     MJN    PTH3              IF HARDWARE ERROR
          LCN    NADERRH           ABNORMAL RESPONSE CODE 
 PTH3     RJM    ERR               REPORT ERROR 
          MJN    PTHX              IF FIRM HARDWARE ERROR 
          UJN    PTH1              RETRY
  
 PTH4     LDK    FCBM              SELECT BINARY
          RJM    FFN
          NJN    PTH2              IF ERROR 
          RJM    WFP               WAIT FOR PRIMED
          MJN    PTH3              IF ERROR 
          LDK    FCI8              INPUT 8/12 
          RJM    FAN
          MJN    PTH3              IF ERROR 
          LDC    BUFF 
          STM    INPA              SET INPUT BUFFER ADDRESS 
          STD    FLUSH             SET FLUSH INPUT
          LDK    PSLN 
          RJM    INP               INPUT PATH STATUS TABLE
          MJN    PTH3              IF ERROR 
          SBK    PSLN 
          ZJN    PTH5              IF ENTIRE PATH STATUS INPUT
          LCN    NADERRK           TRANSFER LENGTH ERROR
          UJN    PTH3 
  
 PTH5     LJM    PTHX 
