*DECK FFSLCSH 
USETEXT TEXTFFS;
      PROC FFSLCSH (TRIG);
*CALL COPYRITE
# TITLE FFSLCSH - CONNECTION (MANAGEMENT LAYER) STATE (TABLE) HANDLER # 
  
      BEGIN                          # FFSLCSH                        # 
  
# 
**    FFSLCSH - CONNECTION (MANAGEMENT LAYER) STATE (TABLE) HANDLER 
* 
*     TET TRAN                         02/88
* 
*     FFSLCSH IS THE MAIN HANDLER FOR THE FTP CONNECTION MANGEMENT
*     LAYER STATE TABLE.
* 
*     ENTRY   TRIGGER    - CURRENT TRIGGER TO THIS LAYER'S STATE TABLE
*             FCM$CUR$ST - THE CURRENT STATE OF THIS LAYER
* 
*     EXIT    FCM$TRIG   - WILL CONTAIN THE CURRENT TRIGGER 
*             FCM$LST$ST - WILL CONTAIN THE OLD VALUE OF FCM$CUR$ST 
*             FCM$CUR$ST - WILL BE ADVANCD TO THE NEXT STATE ACCORDING
*                          TO THE STATE TABLE 
* 
*     NOTE
* 
*     . FCM$TRIG, FCM$LST$ST, AND FCM$CUR$ST WILL ONLY BE UPDATED 
*       AFTER *ACTION* FROM THE STATE TABLE IS SUCCESSFULLY PERFORMED 
# 
  
# 
****  PROC FFSLCSH - XREF LIST
# 
      XREF
        BEGIN 
        FUNC FFSBCNE B;                # BOOLEAN - CONNECTION EXISTS ?# 
        PROC FFSEABT;                  # DAYFILE ERROR MSG THEN ABORT # 
        PROC FFSEEFS;                  # TELL NAME TO END FILE SERVER # 
        PROC FFSIIMB;                  # INITIALIZE *MBT*             # 
        PROC FFSLTRP;                  # TCP REQUEST PROCESSOR        # 
        PROC FFSSPFN;                  # NAM - PROCESS FNT SLAVE SM   # 
        PROC FFSSSNA;                  # NAM - SPAWN NEW APPICATIION  # 
        PROC FFSUCDA;                  # CONVERT DISPLAY TO ASCII     # 
        PROC FFSUCIA;                  # CONVERT IP ADDRESS           # 
        PROC FFSUDFN;                  # DISCONNECT FROM NETWORK      # 
        FUNC GETJSN U;                 # GET THE JSN FOR THIS PROGRAM # 
        PROC MESSAGE;                  # NOS MESSAGE MACRO            # 
        PROC MOVE;                     # MOVE (NUMWORDS, FROM, TO)    # 
        PROC NETUCAC;                  # COPY AN ASCII CHARACTER      # 
        PROC NETUCAD;                  # CONVERT ASCII TO DISPLAY     # 
        FUNC XCDD    C(10);            # CONVERT INTEGER TO DECML CHAR# 
        END 
  
# 
*     LOCAL DEFS
# 
      DEF TWOBLWDS     #"                    "#;
  
# 
*     LOCAL VARIABLE DECLARATIONS 
# 
  
      ITEM ASCII$CR     U=X"0D0000000000000"; 
      ITEM ASCII$LF     U=X"0A0000000000000"; 
      ITEM TRIG         S:FCE$;        # CURRENT TRIGGER              # 
      ITEM ACTION       S:FCA$;        # ACTION TO BE PERFORM         # 
      ITEM CLEN         U;             # CHARACTER LENGTH             # 
      ITEM COUNT        I;             # TEMPORARY FOR COUNTING       # 
      ITEM CHARCNT      U;             # OCTET COUNT OF IP 8-BIT ADDR # 
      ITEM DINDEX       I;             # START OF DISPLAY CHARACTERS  # 
  
      ARRAY DESTDIS  [0:0] S(2);       # DESTN. ARRAY FOR CHAR. CONV. # 
        BEGIN 
        ITEM CHAR$ADDR C(00,00,20); 
        END 
  
      BASED ARRAY TEMP$PTR S(1);
        BEGIN 
        ITEM TEMP$WORD U(00,00,60); 
        END 
  
# 
*     DAYFILE MESSAGES
# 
      ARRAY BADIPA [00:00] S(3);     # BAD IPA ADDRESS SENT BY C/S    # 
        BEGIN 
        ITEM BADIP$STUB   C(00,00,10) = [" FFSLCSH -"]; 
        ITEM BADIP$MSG    C(01,00,18) = [" BAD IPA FROM C/S."]; 
        ITEM BADIP$END    U(02,48,12) = [0];
        END 
  
      ARRAY STTBABT [00:00] S(8);     # STATE TABLE ABORT MESSAGE      #
        BEGIN 
        ITEM ABT$STUB  C(00,00,10) = [" FFSLCSH -"];
        ITEM ABT$MSG   C(01,00,20) = [" STTB HANDLER ABORTS"];
        ITEM ABT$ST    C(03,00,10) = [", STATE = "];
        ITEM ABT$STCD  C(04,00,10); 
        ITEM ABT$TRG   C(05,00,10) = [", TRIG = "]; 
        ITEM ABT$TRGCD C(06,00,10); 
        ITEM ABT$END   U(07,00,60) = [0]; 
        END 
  
      ARRAY CSJSNDF[00:00] S(4);       # CS'S JSN DAYFILE MESSAGE      #
        BEGIN 
        ITEM CS$DFMSG  C(00,00,32) =
       [" FTPI - CONTROL STATEMENT JSN = "];
        ITEM CS$JSN    U(03,12,24); 
        ITEM CS$END    U(03,36,24) = [0]; 
        END 
  
      ARRAY CTCNTERM [00:00] S(4);     # CTRL CN. TERMINATED MESSAGE   #
        BEGIN 
        ITEM TERM$MSG1 C(00,00,23) = ["421 CONTROL CONNECTION "]; 
        ITEM TERM$MSG2 C(02,18,11) = ["TERMINATED."]; 
        ITEM TERM$END  U(03,24,36) = [0]; 
        END 
  
      ARRAY INITDFMSG [00:00] S(3);    # FTPI/FTPS - INITIALIZED MSG   #
        BEGIN 
        ITEM INIT$ID   C(00,06,04); 
        ITEM INIT$MSG  C(00,00,20) = [" FTPX - INITIALIZED."];
        ITEM INIT$END  U(02,00,60) = [0]; 
        END 
  
# 
*     THE FTP CONNECTION MANAGEMENT STATE TABLE DECLARATION AND 
*     INITIALIZATION
# 
      ARRAY FCM$ST$TBL [00:FCS$"FCS$END", 00:FCE$"FCE$END"] S(1); 
        BEGIN                          # FCM$ST$TBL                    #
  
# 
*       INITIALIZE ACTION CODES 
# 
  
        ITEM FCM$ACT S:FCA$ (00,00,12) = [
#             STATE     TRIGGER    ACTION                             # 
          [ # IDLE      INITCLV  # S"FCA$OPSAPRQ",
            # C$WTSAP   INITCLV  # S"FCA$ABORT",
            # C$SAPOK   INITCLV  # S"FCA$ABORT",
            # C$SCAA    INITCLV  # S"FCA$ABORT",
            # C$SDAA    INITCLV  # S"FCA$ABORT",
            # C$SCDAA   INITCLV  # S"FCA$ABORT",
            # C$CSOK    INITCLV  # S"FCA$ABORT",
            # C$WCTRL   INITCLV  # S"FCA$ABORT",
            # C$CTRLOK  INITCLV  # S"FCA$ABORT",
            # S$WTSAP   INITCLV  # S"FCA$ABORT",
            # S$SAPOK   INITCLV  # S"FCA$ABORT",
            # S$SPOK    INITCLV  # S"FCA$ABORT",
            # S$SDOK    INITCLV  # S"FCA$ABORT",
            # S$SPDOK   INITCLV  # S"FCA$ABORT",
            # S$CTRLOK  INITCLV  # S"FCA$ABORT" ] 
  
          [ # IDLE      INITSER  # S"FCA$OPSAPRQ",
            # C$WTSAP   INITSER  # S"FCA$ABORT",
            # C$SAPOK   INITSER  # S"FCA$ABORT",
            # C$SCAA    INITSER  # S"FCA$ABORT",
            # C$SDAA    INITSER  # S"FCA$ABORT",
            # C$SCDAA   INITSER  # S"FCA$ABORT",
            # C$CSOK    INITSER  # S"FCA$ABORT",
            # C$WCTRL   INITSER  # S"FCA$ABORT",
            # C$CTRLOK  INITSER  # S"FCA$ABORT",
            # S$WTSAP   INITSER  # S"FCA$ABORT",
            # S$SAPOK   INITSER  # S"FCA$ABORT",
            # S$SPOK    INITSER  # S"FCA$ABORT",
            # S$SDOK    INITSER  # S"FCA$ABORT",
            # S$SPDOK   INITSER  # S"FCA$ABORT",
            # S$CTRLOK  INITSER  # S"FCA$ABORT" ] 
  
          [ # IDLE      SAPCMPL  # S"FCA$ABORT",
            # C$WTSAP   SAPCMPL  # S"FCA$INITCDAA", 
            # C$SAPOK   SAPCMPL  # S"FCA$ABORT",
            # C$SCAA    SAPCMPL  # S"FCA$ABORT",
            # C$SDAA    SAPCMPL  # S"FCA$ABORT",
            # C$SCDAA   SAPCMPL  # S"FCA$ABORT",
            # C$CSOK    SAPCMPL  # S"FCA$ABORT",
            # C$WCTRL   SAPCMPL  # S"FCA$ABORT",
            # C$CTRLOK  SAPCMPL  # S"FCA$ABORT",
            # S$WTSAP   SAPCMPL  # S"FCA$INITPDAA", 
            # S$SAPOK   SAPCMPL  # S"FCA$ABORT",
            # S$SPOK    SAPCMPL  # S"FCA$ABORT",
            # S$SDOK    SAPCMPL  # S"FCA$ABORT",
            # S$SPDOK   SAPCMPL  # S"FCA$ABORT",
            # S$CTRLOK  SAPCMPL  # S"FCA$ABORT" ] 
  
          [ # IDLE      CTAACP   # S"FCA$ABORT",
            # C$WTSAP   CTAACP   # S"FCA$ABORT",
            # C$SAPOK   CTAACP   # S"FCA$NOOP", 
            # C$SCAA    CTAACP   # S"FCA$ABORT",
            # C$SDAA    CTAACP   # S"FCA$LSTONCS",
            # C$SCDAA   CTAACP   # S"FCA$ABORT",
            # C$CSOK    CTAACP   # S"FCA$ABORT",
            # C$WCTRL   CTAACP   # S"FCA$ABORT",
            # C$CTRLOK  CTAACP   # S"FCA$ABORT",
            # S$WTSAP   CTAACP   # S"FCA$ABORT",
            # S$SAPOK   CTAACP   # S"FCA$ABORT",
            # S$SPOK    CTAACP   # S"FCA$ABORT",
            # S$SDOK    CTAACP   # S"FCA$ABORT",
            # S$SPDOK   CTAACP   # S"FCA$ABORT",
            # S$CTRLOK  CTAACP   # S"FCA$ABORT" ] 
  
          [ # IDLE      DTAACP   # S"FCA$ABORT",
            # C$WTSAP   DTAACP   # S"FCA$ABORT",
            # C$SAPOK   DTAACP   # S"FCA$NOOP", 
            # C$SCAA    DTAACP   # S"FCA$LSTONCS",
            # C$SDAA    DTAACP   # S"FCA$ABORT",
            # C$SCDAA   DTAACP   # S"FCA$ABORT",
            # C$CSOK    DTAACP   # S"FCA$ABORT",
            # C$WCTRL   DTAACP   # S"FCA$ABORT",
            # C$CTRLOK  DTAACP   # S"FCA$ABORT",
            # S$WTSAP   DTAACP   # S"FCA$ABORT",
            # S$SAPOK   DTAACP   # S"FCA$NOOP", 
            # S$SPOK    DTAACP   # S"FCA$LSTONCT",
            # S$SDOK    DTAACP   # S"FCA$ABORT",
            # S$SPDOK   DTAACP   # S"FCA$ABORT",
            # S$CTRLOK  DTAACP   # S"FCA$ABORT" ] 
  
          [ # IDLE      CSCNECT  # S"FCA$ABORT",
            # C$WTSAP   CSCNECT  # S"FCA$SPAWN",
            # C$SAPOK   CSCNECT  # S"FCA$SPAWN",
            # C$SCAA    CSCNECT  # S"FCA$SPAWN",
            # C$SDAA    CSCNECT  # S"FCA$SPAWN",
            # C$SCDAA   CSCNECT  # S"FCA$SPWLONCS", 
            # C$CSOK    CSCNECT  # S"FCA$ABORT",
            # C$WCTRL   CSCNECT  # S"FCA$ABORT",
            # C$CTRLOK  CSCNECT  # S"FCA$ABORT",
            # S$WTSAP   CSCNECT  # S"FCA$ABORT",
            # S$SAPOK   CSCNECT  # S"FCA$ABORT",
            # S$SPOK    CSCNECT  # S"FCA$ABORT",
            # S$SDOK    CSCNECT  # S"FCA$ABORT",
            # S$SPDOK   CSCNECT  # S"FCA$ABORT",
            # S$CTRLOK  CSCNECT  # S"FCA$ABORT" ] 
  
          [ # IDLE      SAPBRKN  # S"FCA$ABORT",
            # C$WTSAP   SAPBRKN  # S"FCA$ABORT",
            # C$SAPOK   SAPBRKN  # S"FCA$RESTART",
            # C$SCAA    SAPBRKN  # S"FCA$RESTART",
            # C$SDAA    SAPBRKN  # S"FCA$RESTART",
            # C$SCDAA   SAPBRKN  # S"FCA$RESTART",
            # C$CSOK    SAPBRKN  # S"FCA$NETOFF", 
            # C$WCTRL   SAPBRKN  # S"FCA$NETOFF", 
            # C$CTRLOK  SAPBRKN  # S"FCA$NETOFF", 
            # S$WTSAP   SAPBRKN  # S"FCA$RESTART",
            # S$SAPOK   SAPBRKN  # S"FCA$RESTART",
            # S$SPOK    SAPBRKN  # S"FCA$RESTART",
            # S$SDOK    SAPBRKN  # S"FCA$RESTART",
            # S$SPDOK   SAPBRKN  # S"FCA$RESTART",
            # S$CTRLOK  SAPBRKN  # S"FCA$NETOFF" ]
  
          [ # IDLE      CNLOCAL  # S"FCA$ABORT",
            # C$WTSAP   CNLOCAL  # S"FCA$ABORT",
            # C$SAPOK   CNLOCAL  # S"FCA$ABORT",
            # C$SCAA    CNLOCAL  # S"FCA$ABORT",
            # C$SDAA    CNLOCAL  # S"FCA$ABORT",
            # C$SCDAA   CNLOCAL  # S"FCA$PASSDTUP", 
            # C$CSOK    CNLOCAL  # S"FCA$ABORT",
            # C$WCTRL   CNLOCAL  # S"FCA$ABORT",
            # C$CTRLOK  CNLOCAL  # S"FCA$ABORT",
            # S$WTSAP   CNLOCAL  # S"FCA$ABORT",
            # S$SAPOK   CNLOCAL  # S"FCA$ABORT",
            # S$SPOK    CNLOCAL  # S"FCA$ABORT",
            # S$SDOK    CNLOCAL  # S"FCA$ABORT",
            # S$SPDOK   CNLOCAL  # S"FCA$ABORT",
            # S$CTRLOK  CNLOCAL  # S"FCA$ABORT" ] 
  
          [ # IDLE      CNREMOTE # S"FCA$ABORT",
            # C$WTSAP   CNREMOTE # S"FCA$ABORT",
            # C$SAPOK   CNREMOTE # S"FCA$ABORT",
            # C$SCAA    CNREMOTE # S"FCA$ABORT",
            # C$SDAA    CNREMOTE # S"FCA$ABORT",
            # C$SCDAA   CNREMOTE # S"FCA$ABORT",
            # C$CSOK    CNREMOTE # S"FCA$INITACCT", 
            # C$WCTRL   CNREMOTE # S"FCA$ABORT",
            # C$CTRLOK  CNREMOTE # S"FCA$ABORT",
            # S$WTSAP   CNREMOTE # S"FCA$ABORT",
            # S$SAPOK   CNREMOTE # S"FCA$ABORT",
            # S$SPOK    CNREMOTE # S"FCA$ABORT",
            # S$SDOK    CNREMOTE # S"FCA$ABORT",
            # S$SPDOK   CNREMOTE # S"FCA$ABORT",
            # S$CTRLOK  CNREMOTE # S"FCA$ABORT" ] 
  
          [ # IDLE      CNRMINVD # S"FCA$ABORT",
            # C$WTSAP   CNRMINVD # S"FCA$ABORT",
            # C$SAPOK   CNRMINVD # S"FCA$ABORT",
            # C$SCAA    CNRMINVD # S"FCA$ABORT",
            # C$SDAA    CNRMINVD # S"FCA$ABORT",
            # C$SCDAA   CNRMINVD # S"FCA$ABORT",
            # C$CSOK    CNRMINVD # S"FCA$ABRMCNRP", 
            # C$WCTRL   CNRMINVD # S"FCA$ABORT",
            # C$CTRLOK  CNRMINVD # S"FCA$ABORT",
            # S$WTSAP   CNRMINVD # S"FCA$ABORT",
            # S$SAPOK   CNRMINVD # S"FCA$ABORT",
            # S$SPOK    CNRMINVD # S"FCA$ABORT",
            # S$SDOK    CNRMINVD # S"FCA$ABORT",
            # S$SPDOK   CNRMINVD # S"FCA$ABORT",
            # S$CTRLOK  CNRMINVD # S"FCA$ABORT" ] 
  
          [ # IDLE      CTCNACFL # S"FCA$ABORT",
            # C$WTSAP   CTCNACFL # S"FCA$ABORT",
            # C$SAPOK   CTCNACFL # S"FCA$ABORT",
            # C$SCAA    CTCNACFL # S"FCA$ABORT",
            # C$SDAA    CTCNACFL # S"FCA$ABORT",
            # C$SCDAA   CTCNACFL # S"FCA$ABORT",
            # C$CSOK    CTCNACFL # S"FCA$ABORT",
            # C$WCTRL   CTCNACFL # S"FCA$ABRMCNRP", 
            # C$CTRLOK  CTCNACFL # S"FCA$ABORT",
            # S$WTSAP   CTCNACFL # S"FCA$ABORT",
            # S$SAPOK   CTCNACFL # S"FCA$ABORT",
            # S$SPOK    CTCNACFL # S"FCA$ABORT",
            # S$SDOK    CTCNACFL # S"FCA$ABORT",
            # S$SPDOK   CTCNACFL # S"FCA$ABORT",
            # S$CTRLOK  CTCNACFL # S"FCA$ABORT" ] 
  
          [ # IDLE      CTCNCP   # S"FCA$ABORT",
            # C$WTSAP   CTCNCP   # S"FCA$ABORT",
            # C$SAPOK   CTCNCP   # S"FCA$ABORT",
            # C$SCAA    CTCNCP   # S"FCA$ABORT",
            # C$SDAA    CTCNCP   # S"FCA$ABORT",
            # C$SCDAA   CTCNCP   # S"FCA$ABORT",
            # C$CSOK    CTCNCP   # S"FCA$ABORT",
            # C$WCTRL   CTCNCP   # S"FCA$NMRMCNRP", 
            # C$CTRLOK  CTCNCP   # S"FCA$ABORT",
            # S$WTSAP   CTCNCP   # S"FCA$ABORT",
            # S$SAPOK   CTCNCP   # S"FCA$ABORT",
            # S$SPOK    CTCNCP   # S"FCA$ABORT",
            # S$SDOK    CTCNCP   # S"FCA$ABORT",
            # S$SPDOK   CTCNCP   # S"FCA$SPAWN",
            # S$CTRLOK  CTCNCP   # S"FCA$ABORT" ] 
  
          [ # IDLE      SDREMOTE # S"FCA$ABORT",
            # C$WTSAP   SDREMOTE # S"FCA$ABORT",
            # C$SAPOK   SDREMOTE # S"FCA$ABORT",
            # C$SCAA    SDREMOTE # S"FCA$ABORT",
            # C$SDAA    SDREMOTE # S"FCA$ABORT",
            # C$SCDAA   SDREMOTE # S"FCA$ABORT",
            # C$CSOK    SDREMOTE # S"FCA$NOOP", 
            # C$WCTRL   SDREMOTE # S"FCA$ABORT",
            # C$CTRLOK  SDREMOTE # S"FCA$FWDONCT",
            # S$WTSAP   SDREMOTE # S"FCA$ABORT",
            # S$SAPOK   SDREMOTE # S"FCA$ABORT",
            # S$SPOK    SDREMOTE # S"FCA$ABORT",
            # S$SDOK    SDREMOTE # S"FCA$ABORT",
            # S$SPDOK   SDREMOTE # S"FCA$ABORT",
            # S$CTRLOK  SDREMOTE # S"FCA$ABORT" ] 
  
          [ # IDLE      SDLOCAL  # S"FCA$ABORT",
            # C$WTSAP   SDLOCAL  # S"FCA$ABORT",
            # C$SAPOK   SDLOCAL  # S"FCA$ABORT",
            # C$SCAA    SDLOCAL  # S"FCA$ABORT",
            # C$SDAA    SDLOCAL  # S"FCA$ABORT",
            # C$SCDAA   SDLOCAL  # S"FCA$ABORT",
            # C$CSOK    SDLOCAL  # S"FCA$NOOP", 
            # C$WCTRL   SDLOCAL  # S"FCA$ABORT",
            # C$CTRLOK  SDLOCAL  # S"FCA$FWDTOFTP", 
            # S$WTSAP   SDLOCAL  # S"FCA$ABORT",
            # S$SAPOK   SDLOCAL  # S"FCA$ABORT",
            # S$SPOK    SDLOCAL  # S"FCA$ABORT",
            # S$SDOK    SDLOCAL  # S"FCA$ABORT",
            # S$SPDOK   SDLOCAL  # S"FCA$ABORT",
            # S$CTRLOK  SDLOCAL  # S"FCA$ABORT" ] 
  
          [ # IDLE      CSBRKN   # S"FCA$ABORT",
            # C$WTSAP   CSBRKN   # S"FCA$NETOFF", 
            # C$SAPOK   CSBRKN   # S"FCA$NETOFF", 
            # C$SCAA    CSBRKN   # S"FCA$NETOFF", 
            # C$SDAA    CSBRKN   # S"FCA$NETOFF", 
            # C$SCDAA   CSBRKN   # S"FCA$NETOFF", 
            # C$CSOK    CSBRKN   # S"FCA$NETOFF", 
            # C$WCTRL   CSBRKN   # S"FCA$NETOFF", 
            # C$CTRLOK  CSBRKN   # S"FCA$NETOFF", 
            # S$WTSAP   CSBRKN   # S"FCA$ABORT",
            # S$SAPOK   CSBRKN   # S"FCA$ABORT",
            # S$SPOK    CSBRKN   # S"FCA$ABORT",
            # S$SDOK    CSBRKN   # S"FCA$ABORT",
            # S$SPDOK   CSBRKN   # S"FCA$ABORT",
            # S$CTRLOK  CSBRKN   # S"FCA$ABORT" ] 
  
          [ # IDLE      AACTBRKN # S"FCA$ABORT",
            # C$WTSAP   AACTBRKN # S"FCA$ABORT",
            # C$SAPOK   AACTBRKN # S"FCA$ABORT",
            # C$SCAA    AACTBRKN # S"FCA$AACTCNRQ", 
            # C$SDAA    AACTBRKN # S"FCA$ABORT",
            # C$SCDAA   AACTBRKN # S"FCA$AACTCNRQ", 
            # C$CSOK    AACTBRKN # S"FCA$NETOFF", 
            # C$WCTRL   AACTBRKN # S"FCA$NETOFF", 
            # C$CTRLOK  AACTBRKN # S"FCA$NETOFF", 
            # S$WTSAP   AACTBRKN # S"FCA$ABORT",
            # S$SAPOK   AACTBRKN # S"FCA$PCCTCNRQ", 
            # S$SPOK    AACTBRKN # S"FCA$PCCTCNRQ", 
            # S$SDOK    AACTBRKN # S"FCA$PCCTCNRQ", 
            # S$SPDOK   AACTBRKN # S"FCA$PCCTCNRQ", 
            # S$CTRLOK  AACTBRKN # S"FCA$NETOFF" ]
  
          [ # IDLE      AADTBRKN # S"FCA$ABORT",
            # C$WTSAP   AADTBRKN # S"FCA$ABORT",
            # C$SAPOK   AADTBRKN # S"FCA$ABORT",
            # C$SCAA    AADTBRKN # S"FCA$ABORT",
            # C$SDAA    AADTBRKN # S"FCA$AADTCNRQ", 
            # C$SCDAA   AADTBRKN # S"FCA$AADTCNRQ", 
            # C$CSOK    AADTBRKN # S"FCA$NETOFF", 
            # C$WCTRL   AADTBRKN # S"FCA$NETOFF", 
            # C$CTRLOK  AADTBRKN # S"FCA$NETOFF", 
            # S$WTSAP   AADTBRKN # S"FCA$ABORT",
            # S$SAPOK   AADTBRKN # S"FCA$ABORT",
            # S$SPOK    AADTBRKN # S"FCA$ABORT",
            # S$SDOK    AADTBRKN # S"FCA$AADTCNRQ", 
            # S$SPDOK   AADTBRKN # S"FCA$AADTCNRQ", 
            # S$CTRLOK  AADTBRKN # S"FCA$NETOFF"   ]
  
          [ # IDLE      SHUTSLOW # S"FCA$NETOFF", 
            # C$WTSAP   SHUTSLOW # S"FCA$NETOFF", 
            # C$SAPOK   SHUTSLOW # S"FCA$NETOFF", 
            # C$SCAA    SHUTSLOW # S"FCA$NETOFF", 
            # C$SDAA    SHUTSLOW # S"FCA$NETOFF", 
            # C$SCDAA   SHUTSLOW # S"FCA$NETOFF", 
            # C$CSOK    SHUTSLOW # S"FCA$NOOP", 
            # C$WCTRL   SHUTSLOW # S"FCA$NOOP", 
            # C$CTRLOK  SHUTSLOW # S"FCA$NOOP", 
            # S$WTSAP   SHUTSLOW # S"FCA$NETOFF", 
            # S$SAPOK   SHUTSLOW # S"FCA$NETOFF", 
            # S$SPOK    SHUTSLOW # S"FCA$NETOFF", 
            # S$SDOK    SHUTSLOW # S"FCA$NETOFF", 
            # S$SPDOK   SHUTSLOW # S"FCA$NETOFF", 
            # S$CTRLOK  SHUTSLOW # S"FCA$NOOP" ]
  
          [ # IDLE      SHUTFAST # S"FCA$NETOFF", 
            # C$WTSAP   SHUTFAST # S"FCA$NETOFF", 
            # C$SAPOK   SHUTFAST # S"FCA$NETOFF", 
            # C$SCAA    SHUTFAST # S"FCA$NETOFF", 
            # C$SDAA    SHUTFAST # S"FCA$NETOFF", 
            # C$SCDAA   SHUTFAST # S"FCA$NETOFF", 
            # C$CSOK    SHUTFAST # S"FCA$NETOFF", 
            # C$WCTRL   SHUTFAST # S"FCA$NETOFF", 
            # C$CTRLOK  SHUTFAST # S"FCA$NETOFF", 
            # S$WTSAP   SHUTFAST # S"FCA$NETOFF", 
            # S$SAPOK   SHUTFAST # S"FCA$NETOFF", 
            # S$SPOK    SHUTFAST # S"FCA$NETOFF", 
            # S$SDOK    SHUTFAST # S"FCA$NETOFF", 
            # S$SPDOK   SHUTFAST # S"FCA$NETOFF", 
            # S$CTRLOK  SHUTFAST # S"FCA$NETOFF" ]
  
          [ # IDLE      ABDTCNRQ # S"FCA$ABORT",
            # C$WTSAP   ABDTCNRQ # S"FCA$ABORT",
            # C$SAPOK   ABDTCNRQ # S"FCA$ABORT",
            # C$SCAA    ABDTCNRQ # S"FCA$ABORT",
            # C$SDAA    ABDTCNRQ # S"FCA$ABORT",
            # C$SCDAA   ABDTCNRQ # S"FCA$ABORT",
            # C$CSOK    ABDTCNRQ # S"FCA$SDABRQ", 
            # C$WCTRL   ABDTCNRQ # S"FCA$ABORT",
            # C$CTRLOK  ABDTCNRQ # S"FCA$SDABRQ", 
            # S$WTSAP   ABDTCNRQ # S"FCA$ABORT",
            # S$SAPOK   ABDTCNRQ # S"FCA$ABORT",
            # S$SPOK    ABDTCNRQ # S"FCA$ABORT",
            # S$SDOK    ABDTCNRQ # S"FCA$ABORT",
            # S$SPDOK   ABDTCNRQ # S"FCA$ABORT",
            # S$CTRLOK  ABDTCNRQ # S"FCA$SDABRQ" ]
  
          [ # IDLE      CLCTIND  # S"FCA$ABORT",
            # C$WTSAP   CLCTIND  # S"FCA$ABORT",
            # C$SAPOK   CLCTIND  # S"FCA$ABORT",
            # C$SCAA    CLCTIND  # S"FCA$ABORT",
            # C$SDAA    CLCTIND  # S"FCA$ABORT",
            # C$SCDAA   CLCTIND  # S"FCA$ABORT",
            # C$CSOK    CLCTIND  # S"FCA$ABORT",
            # C$WCTRL   CLCTIND  # S"FCA$ABORT",
            # C$CTRLOK  CLCTIND  # S"FCA$NOTIFYCS", 
            # S$WTSAP   CLCTIND  # S"FCA$ABORT",
            # S$SAPOK   CLCTIND  # S"FCA$ABORT",
            # S$SPOK    CLCTIND  # S"FCA$ABORT",
            # S$SDOK    CLCTIND  # S"FCA$ABORT",
            # S$SPDOK   CLCTIND  # S"FCA$ABORT",
            # S$CTRLOK  CLCTIND  # S"FCA$NETOFF" ]
  
          [ # IDLE      CTPCEST  # S"FCA$ABORT",
            # C$WTSAP   CTPCEST  # S"FCA$ABORT",
            # C$SAPOK   CTPCEST  # S"FCA$ABORT",
            # C$SCAA    CTPCEST  # S"FCA$ABORT",
            # C$SDAA    CTPCEST  # S"FCA$ABORT",
            # C$SCDAA   CTPCEST  # S"FCA$ABORT",
            # C$CSOK    CTPCEST  # S"FCA$ABORT",
            # C$WCTRL   CTPCEST  # S"FCA$ABORT",
            # C$CTRLOK  CTPCEST  # S"FCA$ABORT",
            # S$WTSAP   CTPCEST  # S"FCA$ABORT",
            # S$SAPOK   CTPCEST  # S"FCA$LOFFCTPC", 
            # S$SPOK    CTPCEST  # S"FCA$ABORT",
            # S$SDOK    CTPCEST  # S"FCA$DFINIT", 
            # S$SPDOK   CTPCEST  # S"FCA$ABORT",
            # S$CTRLOK  CTPCEST  # S"FCA$ABORT" ] 
  
          [ # IDLE      SDDTRQ   # S"FCA$ABORT",
            # C$WTSAP   SDDTRQ   # S"FCA$ABORT",
            # C$SAPOK   SDDTRQ   # S"FCA$ABORT",
            # C$SCAA    SDDTRQ   # S"FCA$ABORT",
            # C$SDAA    SDDTRQ   # S"FCA$ABORT",
            # C$SCDAA   SDDTRQ   # S"FCA$ABORT",
            # C$CSOK    SDDTRQ   # S"FCA$INITSDRQ", 
            # C$WCTRL   SDDTRQ   # S"FCA$ABORT",
            # C$CTRLOK  SDDTRQ   # S"FCA$INITSDRQ", 
            # S$WTSAP   SDDTRQ   # S"FCA$ABORT",
            # S$SAPOK   SDDTRQ   # S"FCA$ABORT",
            # S$SPOK    SDDTRQ   # S"FCA$ABORT",
            # S$SDOK    SDDTRQ   # S"FCA$ABORT",
            # S$SPDOK   SDDTRQ   # S"FCA$ABORT",
            # S$CTRLOK  SDDTRQ   # S"FCA$INITSDRQ" ]
  
          [ # IDLE      INITPCRQ # S"FCA$ABORT",
            # C$WTSAP   INITPCRQ # S"FCA$ABORT",
            # C$SAPOK   INITPCRQ # S"FCA$ABORT",
            # C$SCAA    INITPCRQ # S"FCA$ABORT",
            # C$SDAA    INITPCRQ # S"FCA$ABORT",
            # C$SCDAA   INITPCRQ # S"FCA$ABORT",
            # C$CSOK    INITPCRQ # S"FCA$ABORT",
            # C$WCTRL   INITPCRQ # S"FCA$ABORT",
            # C$CTRLOK  INITPCRQ # S"FCA$INITPCDT", 
            # S$WTSAP   INITPCRQ # S"FCA$ABORT",
            # S$SAPOK   INITPCRQ # S"FCA$ABORT",
            # S$SPOK    INITPCRQ # S"FCA$ABORT",
            # S$SDOK    INITPCRQ # S"FCA$ABORT",
            # S$SPDOK   INITPCRQ # S"FCA$ABORT",
            # S$CTRLOK  INITPCRQ # S"FCA$INITPCDT" ]
  
          [ # IDLE      INITACRQ # S"FCA$ABORT",
            # C$WTSAP   INITACRQ # S"FCA$ABORT",
            # C$SAPOK   INITACRQ # S"FCA$ABORT",
            # C$SCAA    INITACRQ # S"FCA$ABORT",
            # C$SDAA    INITACRQ # S"FCA$ABORT",
            # C$SCDAA   INITACRQ # S"FCA$ABORT",
            # C$CSOK    INITACRQ # S"FCA$ABORT",
            # C$WCTRL   INITACRQ # S"FCA$ABORT",
            # C$CTRLOK  INITACRQ # S"FCA$INITACDT", 
            # S$WTSAP   INITACRQ # S"FCA$ABORT",
            # S$SAPOK   INITACRQ # S"FCA$ABORT",
            # S$SPOK    INITACRQ # S"FCA$ABORT",
            # S$SDOK    INITACRQ # S"FCA$ABORT",
            # S$SPDOK   INITACRQ # S"FCA$ABORT",
            # S$CTRLOK  INITACRQ # S"FCA$INITACDT" ]
  
          [ # IDLE      DTCNCMPL # S"FCA$ABORT",
            # C$WTSAP   DTCNCMPL # S"FCA$ABORT",
            # C$SAPOK   DTCNCMPL # S"FCA$ABORT",
            # C$SCAA    DTCNCMPL # S"FCA$ABORT",
            # C$SDAA    DTCNCMPL # S"FCA$ABORT",
            # C$SCDAA   DTCNCMPL # S"FCA$ABORT",
            # C$CSOK    DTCNCMPL # S"FCA$ABORT",
            # C$WCTRL   DTCNCMPL # S"FCA$ABORT",
            # C$CTRLOK  DTCNCMPL # S"FCA$PASSIND",
            # S$WTSAP   DTCNCMPL # S"FCA$ABORT",
            # S$SAPOK   DTCNCMPL # S"FCA$ABORT",
            # S$SPOK    DTCNCMPL # S"FCA$ABORT",
            # S$SDOK    DTCNCMPL # S"FCA$ABORT",
            # S$SPDOK   DTCNCMPL # S"FCA$ABORT",
            # S$CTRLOK  DTCNCMPL # S"FCA$PASSIND" ] 
  
          [ # IDLE      DTPCEST  # S"FCA$ABORT",
            # C$WTSAP   DTPCEST  # S"FCA$ABORT",
            # C$SAPOK   DTPCEST  # S"FCA$ABORT",
            # C$SCAA    DTPCEST  # S"FCA$ABORT",
            # C$SDAA    DTPCEST  # S"FCA$ABORT",
            # C$SCDAA   DTPCEST  # S"FCA$ABORT",
            # C$CSOK    DTPCEST  # S"FCA$ABORT",
            # C$WCTRL   DTPCEST  # S"FCA$ABORT",
            # C$CTRLOK  DTPCEST  # S"FCA$PASSIND",
            # S$WTSAP   DTPCEST  # S"FCA$ABORT",
            # S$SAPOK   DTPCEST  # S"FCA$ABORT",
            # S$SPOK    DTPCEST  # S"FCA$ABORT",
            # S$SDOK    DTPCEST  # S"FCA$ABORT",
            # S$SPDOK   DTPCEST  # S"FCA$ABORT",
            # S$CTRLOK  DTPCEST  # S"FCA$PASSIND" ] 
  
          [ # IDLE      CTDTAVL  # S"FCA$ABORT",
            # C$WTSAP   CTDTAVL  # S"FCA$ABORT",
            # C$SAPOK   CTDTAVL  # S"FCA$ABORT",
            # C$SCAA    CTDTAVL  # S"FCA$ABORT",
            # C$SDAA    CTDTAVL  # S"FCA$ABORT",
            # C$SCDAA   CTDTAVL  # S"FCA$ABORT",
            # C$CSOK    CTDTAVL  # S"FCA$ABORT",
            # C$WCTRL   CTDTAVL  # S"FCA$ABORT",
            # C$CTRLOK  CTDTAVL  # S"FCA$FWDTOCS",
            # S$WTSAP   CTDTAVL  # S"FCA$ABORT",
            # S$SAPOK   CTDTAVL  # S"FCA$ABORT",
            # S$SPOK    CTDTAVL  # S"FCA$ABORT",
            # S$SDOK    CTDTAVL  # S"FCA$ABORT",
            # S$SPDOK   CTDTAVL  # S"FCA$ABORT",
            # S$CTRLOK  CTDTAVL  # S"FCA$PASSDTUP" ]
  
          [ # IDLE      DTDTAVL  # S"FCA$ABORT",
            # C$WTSAP   DTDTAVL  # S"FCA$ABORT",
            # C$SAPOK   DTDTAVL  # S"FCA$ABORT",
            # C$SCAA    DTDTAVL  # S"FCA$ABORT",
            # C$SDAA    DTDTAVL  # S"FCA$ABORT",
            # C$SCDAA   DTDTAVL  # S"FCA$ABORT",
            # C$CSOK    DTDTAVL  # S"FCA$ABORT",
            # C$WCTRL   DTDTAVL  # S"FCA$ABORT",
            # C$CTRLOK  DTDTAVL  # S"FCA$PASSDTUP", 
            # S$WTSAP   DTDTAVL  # S"FCA$ABORT",
            # S$SAPOK   DTDTAVL  # S"FCA$ABORT",
            # S$SPOK    DTDTAVL  # S"FCA$ABORT",
            # S$SDOK    DTDTAVL  # S"FCA$ABORT",
            # S$SPDOK   DTDTAVL  # S"FCA$ABORT",
            # S$CTRLOK  DTDTAVL  # S"FCA$PASSDTUP" ]
  
          [ # IDLE      FLCTREL  # S"FCA$ABORT",
            # C$WTSAP   FLCTREL  # S"FCA$ABORT",
            # C$SAPOK   FLCTREL  # S"FCA$ABORT",
            # C$SCAA    FLCTREL  # S"FCA$ABORT",
            # C$SDAA    FLCTREL  # S"FCA$ABORT",
            # C$SCDAA   FLCTREL  # S"FCA$ABORT",
            # C$CSOK    FLCTREL  # S"FCA$ABORT",
            # C$WCTRL   FLCTREL  # S"FCA$ABORT",
            # C$CTRLOK  FLCTREL  # S"FCA$PASSIND",
            # S$WTSAP   FLCTREL  # S"FCA$ABORT",
            # S$SAPOK   FLCTREL  # S"FCA$ABORT",
            # S$SPOK    FLCTREL  # S"FCA$ABORT",
            # S$SDOK    FLCTREL  # S"FCA$ABORT",
            # S$SPDOK   FLCTREL  # S"FCA$ABORT",
            # S$CTRLOK  FLCTREL  # S"FCA$PASSIND" ] 
  
          [ # IDLE      NODTOUT  # S"FCA$ABORT",
            # C$WTSAP   NODTOUT  # S"FCA$ABORT",
            # C$SAPOK   NODTOUT  # S"FCA$ABORT",
            # C$SCAA    NODTOUT  # S"FCA$ABORT",
            # C$SDAA    NODTOUT  # S"FCA$ABORT",
            # C$SCDAA   NODTOUT  # S"FCA$ABORT",
            # C$CSOK    NODTOUT  # S"FCA$ABORT",
            # C$WCTRL   NODTOUT  # S"FCA$ABORT",
            # C$CTRLOK  NODTOUT  # S"FCA$PASSIND",
            # S$WTSAP   NODTOUT  # S"FCA$ABORT",
            # S$SAPOK   NODTOUT  # S"FCA$ABORT",
            # S$SPOK    NODTOUT  # S"FCA$ABORT",
            # S$SDOK    NODTOUT  # S"FCA$ABORT",
            # S$SPDOK   NODTOUT  # S"FCA$ABORT",
            # S$CTRLOK  NODTOUT  # S"FCA$PASSIND" ] 
  
          [ # IDLE      CLDTCNRQ # S"FCA$ABORT",
            # C$WTSAP   CLDTCNRQ # S"FCA$ABORT",
            # C$SAPOK   CLDTCNRQ # S"FCA$ABORT",
            # C$SCAA    CLDTCNRQ # S"FCA$ABORT",
            # C$SDAA    CLDTCNRQ # S"FCA$ABORT",
            # C$SCDAA   CLDTCNRQ # S"FCA$ABORT",
            # C$CSOK    CLDTCNRQ # S"FCA$ABORT",
            # C$WCTRL   CLDTCNRQ # S"FCA$ABORT",
            # C$CTRLOK  CLDTCNRQ # S"FCA$CLCNRQ", 
            # S$WTSAP   CLDTCNRQ # S"FCA$ABORT",
            # S$SAPOK   CLDTCNRQ # S"FCA$ABORT",
            # S$SPOK    CLDTCNRQ # S"FCA$ABORT",
            # S$SDOK    CLDTCNRQ # S"FCA$ABORT",
            # S$SPDOK   CLDTCNRQ # S"FCA$ABORT",
            # S$CTRLOK  CLDTCNRQ # S"FCA$CLCNRQ" ]
  
          [ # IDLE      CLCTCNRQ # S"FCA$ABORT",
            # C$WTSAP   CLCTCNRQ # S"FCA$ABORT",
            # C$SAPOK   CLCTCNRQ # S"FCA$ABORT",
            # C$SCAA    CLCTCNRQ # S"FCA$ABORT",
            # C$SDAA    CLCTCNRQ # S"FCA$ABORT",
            # C$SCDAA   CLCTCNRQ # S"FCA$ABORT",
            # C$CSOK    CLCTCNRQ # S"FCA$ABORT",
            # C$WCTRL   CLCTCNRQ # S"FCA$ABORT",
            # C$CTRLOK  CLCTCNRQ # S"FCA$CLCNRQ", 
            # S$WTSAP   CLCTCNRQ # S"FCA$ABORT",
            # S$SAPOK   CLCTCNRQ # S"FCA$ABORT",
            # S$SPOK    CLCTCNRQ # S"FCA$ABORT",
            # S$SDOK    CLCTCNRQ # S"FCA$ABORT",
            # S$SPDOK   CLCTCNRQ # S"FCA$ABORT",
            # S$CTRLOK  CLCTCNRQ # S"FCA$CLCNRQ" ]
  
          [ # IDLE      CLDTIND  # S"FCA$ABORT",
            # C$WTSAP   CLDTIND  # S"FCA$ABORT",
            # C$SAPOK   CLDTIND  # S"FCA$ABORT",
            # C$SCAA    CLDTIND  # S"FCA$ABORT",
            # C$SDAA    CLDTIND  # S"FCA$ABORT",
            # C$SCDAA   CLDTIND  # S"FCA$ABORT",
            # C$CSOK    CLDTIND  # S"FCA$ABORT",
            # C$WCTRL   CLDTIND  # S"FCA$ABORT",
            # C$CTRLOK  CLDTIND  # S"FCA$PASSIND",
            # S$WTSAP   CLDTIND  # S"FCA$ABORT",
            # S$SAPOK   CLDTIND  # S"FCA$ABORT",
            # S$SPOK    CLDTIND  # S"FCA$ABORT",
            # S$SDOK    CLDTIND  # S"FCA$ABORT",
            # S$SPDOK   CLDTIND  # S"FCA$ABORT",
            # S$CTRLOK  CLDTIND  # S"FCA$PASSIND" ] 
  
          [ # IDLE      DTCNACFL # S"FCA$ABORT",
            # C$WTSAP   DTCNACFL # S"FCA$ABORT",
            # C$SAPOK   DTCNACFL # S"FCA$ABORT",
            # C$SCAA    DTCNACFL # S"FCA$ABORT",
            # C$SDAA    DTCNACFL # S"FCA$ABORT",
            # C$SCDAA   DTCNACFL # S"FCA$ABORT",
            # C$CSOK    DTCNACFL # S"FCA$ABORT",
            # C$WCTRL   DTCNACFL # S"FCA$ABORT",
            # C$CTRLOK  DTCNACFL # S"FCA$ABORT",
            # S$WTSAP   DTCNACFL # S"FCA$ABORT",
            # S$SAPOK   DTCNACFL # S"FCA$ABORT",
            # S$SPOK    DTCNACFL # S"FCA$ABORT",
            # S$SDOK    DTCNACFL # S"FCA$ABORT",
            # S$SPDOK   DTCNACFL # S"FCA$ABORT",
            # S$CTRLOK  DTCNACFL # S"FCA$PASSIND" ] 
  
          [ # IDLE      CTCNABID # S"FCA$ABORT",
            # C$WTSAP   CTCNABID # S"FCA$ABORT",
            # C$SAPOK   CTCNABID # S"FCA$ABORT",
            # C$SCAA    CTCNABID # S"FCA$ABORT",
            # C$SDAA    CTCNABID # S"FCA$ABORT",
            # C$SCDAA   CTCNABID # S"FCA$ABORT",
            # C$CSOK    CTCNABID # S"FCA$ABORT",
            # C$WCTRL   CTCNABID # S"FCA$ABRMCNRP", 
            # C$CTRLOK  CTCNABID # S"FCA$NOTIFYCS", 
            # S$WTSAP   CTCNABID # S"FCA$ABORT",
            # S$SAPOK   CTCNABID # S"FCA$ABORT",
            # S$SPOK    CTCNABID # S"FCA$ABORT",
            # S$SDOK    CTCNABID # S"FCA$ABORT",
            # S$SPDOK   CTCNABID # S"FCA$ABORT",
            # S$CTRLOK  CTCNABID # S"FCA$NETOFF" ]
  
          [ # IDLE      DTCNABID # S"FCA$ABORT",
            # C$WTSAP   DTCNABID # S"FCA$ABORT",
            # C$SAPOK   DTCNABID # S"FCA$ABORT",
            # C$SCAA    DTCNABID # S"FCA$ABORT",
            # C$SDAA    DTCNABID # S"FCA$ABORT",
            # C$SCDAA   DTCNABID # S"FCA$ABORT",
            # C$CSOK    DTCNABID # S"FCA$ABORT",
            # C$WCTRL   DTCNABID # S"FCA$ABORT",
            # C$CTRLOK  DTCNABID # S"FCA$PASSIND",
            # S$WTSAP   DTCNABID # S"FCA$ABORT",
            # S$SAPOK   DTCNABID # S"FCA$ABORT",
            # S$SPOK    DTCNABID # S"FCA$ABORT",
            # S$SDOK    DTCNABID # S"FCA$ABORT",
            # S$SPDOK   DTCNABID # S"FCA$ABORT",
            # S$CTRLOK  DTCNABID # S"FCA$PASSIND" ] 
  
          [ # IDLE      DTCNABSO # S"FCA$ABORT",
            # C$WTSAP   DTCNABSO # S"FCA$ABORT",
            # C$SAPOK   DTCNABSO # S"FCA$ABORT",
            # C$SCAA    DTCNABSO # S"FCA$ABORT",
            # C$SDAA    DTCNABSO # S"FCA$ABORT",
            # C$SCDAA   DTCNABSO # S"FCA$ABORT",
            # C$CSOK    DTCNABSO # S"FCA$PASSIND",
            # C$WCTRL   DTCNABSO # S"FCA$ABORT",
            # C$CTRLOK  DTCNABSO # S"FCA$PASSIND",
            # S$WTSAP   DTCNABSO # S"FCA$ABORT",
            # S$SAPOK   DTCNABSO # S"FCA$ABORT",
            # S$SPOK    DTCNABSO # S"FCA$ABORT",
            # S$SDOK    DTCNABSO # S"FCA$ABORT",
            # S$SPDOK   DTCNABSO # S"FCA$ABORT",
            # S$CTRLOK  DTCNABSO # S"FCA$PASSIND" ] 
  
          [ # IDLE      ABTXFR   # S"FCA$ABORT",
            # C$WTSAP   ABTXFR   # S"FCA$ABORT",
            # C$SAPOK   ABTXFR   # S"FCA$ABORT",
            # C$SCAA    ABTXFR   # S"FCA$ABORT",
            # C$SDAA    ABTXFR   # S"FCA$ABORT",
            # C$SCDAA   ABTXFR   # S"FCA$ABORT",
            # C$CSOK    ABTXFR   # S"FCA$NOOP", 
            # C$WCTRL   ABTXFR   # S"FCA$ABORT",
            # C$CTRLOK  ABTXFR   # S"FCA$FWDTOFTP", 
            # S$WTSAP   ABTXFR   # S"FCA$ABORT",
            # S$SAPOK   ABTXFR   # S"FCA$ABORT",
            # S$SPOK    ABTXFR   # S"FCA$ABORT",
            # S$SDOK    ABTXFR   # S"FCA$ABORT",
            # S$SPDOK   ABTXFR   # S"FCA$ABORT",
            # S$CTRLOK  ABTXFR   # S"FCA$ABORT" ] 
  
          [ # IDLE      CNCLVAL  # S"FCA$ABORT",
            # C$WTSAP   CNCLVAL  # S"FCA$ABORT",
            # C$SAPOK   CNCLVAL  # S"FCA$ABORT",
            # C$SCAA    CNCLVAL  # S"FCA$ABORT",
            # C$SDAA    CNCLVAL  # S"FCA$ABORT",
            # C$SCDAA   CNCLVAL  # S"FCA$ABORT",
            # C$CSOK    CNCLVAL  # S"FCA$CNLCRSP",
            # C$WCTRL   CNCLVAL  # S"FCA$ABORT",
            # C$CTRLOK  CNCLVAL  # S"FCA$ABORT",
            # S$WTSAP   CNCLVAL  # S"FCA$ABORT",
            # S$SAPOK   CNCLVAL  # S"FCA$ABORT",
            # S$SPOK    CNCLVAL  # S"FCA$ABORT",
            # S$SDOK    CNCLVAL  # S"FCA$ABORT",
            # S$SPDOK   CNCLVAL  # S"FCA$ABORT",
            # S$CTRLOK  CNCLVAL  # S"FCA$ABORT" ] 
  
          [ # IDLE      CNCLBAD  # S"FCA$ABORT",
            # C$WTSAP   CNCLBAD  # S"FCA$ABORT",
            # C$SAPOK   CNCLBAD  # S"FCA$ABORT",
            # C$SCAA    CNCLBAD  # S"FCA$ABORT",
            # C$SDAA    CNCLBAD  # S"FCA$ABORT",
            # C$SCDAA   CNCLBAD  # S"FCA$ABORT",
            # C$CSOK    CNCLBAD  # S"FCA$CNLCBAD",
            # C$WCTRL   CNCLBAD  # S"FCA$ABORT",
            # C$CTRLOK  CNCLBAD  # S"FCA$ABORT",
            # S$WTSAP   CNCLBAD  # S"FCA$ABORT",
            # S$SAPOK   CNCLBAD  # S"FCA$ABORT",
            # S$SPOK    CNCLBAD  # S"FCA$ABORT",
            # S$SDOK    CNCLBAD  # S"FCA$ABORT",
            # S$SPDOK   CNCLBAD  # S"FCA$ABORT",
            # S$CTRLOK  CNCLBAD  # S"FCA$ABORT" ] 
  
          [ # IDLE      RDDDCN   # S"FCA$ABORT",
            # C$WTSAP   RDDDCN   # S"FCA$ABORT",
            # C$SAPOK   RDDDCN   # S"FCA$ABORT",
            # C$SCAA    RDDDCN   # S"FCA$ABORT",
            # C$SDAA    RDDDCN   # S"FCA$ABORT",
            # C$SCDAA   RDDDCN   # S"FCA$ABORT",
            # C$CSOK    RDDDCN   # S"FCA$ABORT",
            # C$WCTRL   RDDDCN   # S"FCA$ABORT",
            # C$CTRLOK  RDDDCN   # S"FCA$ABORT",
            # S$WTSAP   RDDDCN   # S"FCA$ABORT",
            # S$SAPOK   RDDDCN   # S"FCA$ABORT",
            # S$SPOK    RDDDCN   # S"FCA$ABORT",
            # S$SDOK    RDDDCN   # S"FCA$ABORT",
            # S$SPDOK   RDDDCN   # S"FCA$ABORT",
            # S$CTRLOK  RDDDCN   # S"FCA$LSTOND" ]
  
          [ # IDLE      SDDDCN   # S"FCA$ABORT",
            # C$WTSAP   SDDDCN   # S"FCA$ABORT",
            # C$SAPOK   SDDDCN   # S"FCA$ABORT",
            # C$SCAA    SDDDCN   # S"FCA$ABORT",
            # C$SDAA    SDDDCN   # S"FCA$ABORT",
            # C$SCDAA   SDDDCN   # S"FCA$ABORT",
            # C$CSOK    SDDDCN   # S"FCA$ABORT",
            # C$WCTRL   SDDDCN   # S"FCA$ABORT",
            # C$CTRLOK  SDDDCN   # S"FCA$ABORT",
            # S$WTSAP   SDDDCN   # S"FCA$ABORT",
            # S$SAPOK   SDDDCN   # S"FCA$ABORT",
            # S$SPOK    SDDDCN   # S"FCA$ABORT",
            # S$SDOK    SDDDCN   # S"FCA$ABORT",
            # S$SPDOK   SDDDCN   # S"FCA$ABORT",
            # S$CTRLOK  SDDDCN   # S"FCA$LSTOFFD" ]]; 
  
# 
*       INITIALIZE NEXT STATE CODES 
# 
  
        ITEM FCM$NXT S:FCS$ (00,12,12) = [
#             STATE     TRIGGER    NEXT STATE                         # 
          [ # IDLE      INITCLV  # S"FCS$C$WTSAP",
            # C$WTSAP   INITCLV  # S"FCS$IDLE", 
            # C$SAPOK   INITCLV  # S"FCS$IDLE", 
            # C$SCAA    INITCLV  # S"FCS$IDLE", 
            # C$SDAA    INITCLV  # S"FCS$IDLE", 
            # C$SCDAA   INITCLV  # S"FCS$IDLE", 
            # C$CSOK    INITCLV  # S"FCS$IDLE", 
            # C$WCTRL   INITCLV  # S"FCS$IDLE", 
            # C$CTRLOK  INITCLV  # S"FCS$IDLE", 
            # S$WTSAP   INITCLV  # S"FCS$IDLE", 
            # S$SAPOK   INITCLV  # S"FCS$IDLE", 
            # S$SPOK    INITCLV  # S"FCS$IDLE", 
            # S$SDOK    INITCLV  # S"FCS$IDLE", 
            # S$SPDOK   INITCLV  # S"FCS$IDLE", 
            # S$CTRLOK  INITCLV  # S"FCS$IDLE" ]
  
          [ # IDLE      INITSER  # S"FCS$S$WTSAP",
            # C$WTSAP   INITSER  # S"FCS$IDLE", 
            # C$SAPOK   INITSER  # S"FCS$IDLE", 
            # C$SCAA    INITSER  # S"FCS$IDLE", 
            # C$SDAA    INITSER  # S"FCS$IDLE", 
            # C$SCDAA   INITSER  # S"FCS$IDLE", 
            # C$CSOK    INITSER  # S"FCS$IDLE", 
            # C$WCTRL   INITSER  # S"FCS$IDLE", 
            # C$CTRLOK  INITSER  # S"FCS$IDLE", 
            # S$WTSAP   INITSER  # S"FCS$IDLE", 
            # S$SAPOK   INITSER  # S"FCS$IDLE", 
            # S$SPOK    INITSER  # S"FCS$IDLE", 
            # S$SDOK    INITSER  # S"FCS$IDLE", 
            # S$SPDOK   INITSER  # S"FCS$IDLE", 
            # S$CTRLOK  INITSER  # S"FCS$IDLE" ]
  
          [ # IDLE      SAPCMPL  # S"FCS$IDLE", 
            # C$WTSAP   SAPCMPL  # S"FCS$C$SAPOK",
            # C$SAPOK   SAPCMPL  # S"FCS$IDLE", 
            # C$SCAA    SAPCMPL  # S"FCS$IDLE", 
            # C$SDAA    SAPCMPL  # S"FCS$IDLE", 
            # C$SCDAA   SAPCMPL  # S"FCS$IDLE", 
            # C$CSOK    SAPCMPL  # S"FCS$IDLE", 
            # C$WCTRL   SAPCMPL  # S"FCS$IDLE", 
            # C$CTRLOK  SAPCMPL  # S"FCS$IDLE", 
            # S$WTSAP   SAPCMPL  # S"FCS$S$SAPOK",
            # S$SAPOK   SAPCMPL  # S"FCS$IDLE", 
            # S$SPOK    SAPCMPL  # S"FCS$IDLE", 
            # S$SDOK    SAPCMPL  # S"FCS$IDLE", 
            # S$SPDOK   SAPCMPL  # S"FCS$IDLE", 
            # S$CTRLOK  SAPCMPL  # S"FCS$IDLE" ]
  
          [ # IDLE      CTAACP   # S"FCS$IDLE", 
            # C$WTSAP   CTAACP   # S"FCS$IDLE", 
            # C$SAPOK   CTAACP   # S"FCS$C$SCAA", 
            # C$SCAA    CTAACP   # S"FCS$IDLE", 
            # C$SDAA    CTAACP   # S"FCS$C$SCDAA",
            # C$SCDAA   CTAACP   # S"FCS$IDLE", 
            # C$CSOK    CTAACP   # S"FCS$IDLE", 
            # C$WCTRL   CTAACP   # S"FCS$IDLE", 
            # C$CTRLOK  CTAACP   # S"FCS$IDLE", 
            # S$WTSAP   CTAACP   # S"FCS$IDLE", 
            # S$SAPOK   CTAACP   # S"FCS$IDLE", 
            # S$SPOK    CTAACP   # S"FCS$IDLE", 
            # S$SDOK    CTAACP   # S"FCS$IDLE", 
            # S$SPDOK   CTAACP   # S"FCS$IDLE", 
            # S$CTRLOK  CTAACP   # S"FCS$IDLE" ]
  
          [ # IDLE      DTAACP   # S"FCS$IDLE", 
            # C$WTSAP   DTAACP   # S"FCS$IDLE", 
            # C$SAPOK   DTAACP   # S"FCS$C$SDAA", 
            # C$SCAA    DTAACP   # S"FCS$C$SCDAA",
            # C$SDAA    DTAACP   # S"FCS$IDLE", 
            # C$SCDAA   DTAACP   # S"FCS$IDLE", 
            # C$CSOK    DTAACP   # S"FCS$IDLE", 
            # C$WCTRL   DTAACP   # S"FCS$IDLE", 
            # C$CTRLOK  DTAACP   # S"FCS$IDLE", 
            # S$WTSAP   DTAACP   # S"FCS$IDLE", 
            # S$SAPOK   DTAACP   # S"FCS$S$SDOK", 
            # S$SPOK    DTAACP   # S"FCS$S$SPDOK",
            # S$SDOK    DTAACP   # S"FCS$IDLE", 
            # S$SPDOK   DTAACP   # S"FCS$IDLE", 
            # S$CTRLOK  DTAACP   # S"FCS$IDLE" ]
  
          [ # IDLE      CSCNECT  # S"FCS$IDLE", 
            # C$WTSAP   CSCNECT  # S"FCS$C$WTSAP",
            # C$SAPOK   CSCNECT  # S"FCS$C$SAPOK",
            # C$SCAA    CSCNECT  # S"FCS$C$SCAA", 
            # C$SDAA    CSCNECT  # S"FCS$C$SDAA", 
            # C$SCDAA   CSCNECT  # S"FCS$C$SCDAA",
            # C$CSOK    CSCNECT  # S"FCS$IDLE", 
            # C$WCTRL   CSCNECT  # S"FCS$IDLE", 
            # C$CTRLOK  CSCNECT  # S"FCS$IDLE", 
            # S$WTSAP   CSCNECT  # S"FCS$IDLE", 
            # S$SAPOK   CSCNECT  # S"FCS$IDLE", 
            # S$SPOK    CSCNECT  # S"FCS$IDLE", 
            # S$SDOK    CSCNECT  # S"FCS$IDLE", 
            # S$SPDOK   CSCNECT  # S"FCS$IDLE", 
            # S$CTRLOK  CSCNECT  # S"FCS$IDLE" ]
  
          [ # IDLE      SAPBRKN  # S"FCS$IDLE", 
            # C$WTSAP   SAPBRKN  # S"FCS$IDLE", 
            # C$SAPOK   SAPBRKN  # S"FCS$IDLE", 
            # C$SCAA    SAPBRKN  # S"FCS$IDLE", 
            # C$SDAA    SAPBRKN  # S"FCS$IDLE", 
            # C$SCDAA   SAPBRKN  # S"FCS$IDLE", 
            # C$CSOK    SAPBRKN  # S"FCS$C$CSOK", 
            # C$WCTRL   SAPBRKN  # S"FCS$C$WCTRL",
            # C$CTRLOK  SAPBRKN  # S"FCS$C$CTRLOK", 
            # S$WTSAP   SAPBRKN  # S"FCS$IDLE", 
            # S$SAPOK   SAPBRKN  # S"FCS$IDLE", 
            # S$SPOK    SAPBRKN  # S"FCS$IDLE", 
            # S$SDOK    SAPBRKN  # S"FCS$IDLE", 
            # S$SPDOK   SAPBRKN  # S"FCS$S$SPDOK",
            # S$CTRLOK  SAPBRKN  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CNLOCAL  # S"FCS$IDLE", 
            # C$WTSAP   CNLOCAL  # S"FCS$IDLE", 
            # C$SAPOK   CNLOCAL  # S"FCS$IDLE", 
            # C$SCAA    CNLOCAL  # S"FCS$IDLE", 
            # C$SDAA    CNLOCAL  # S"FCS$IDLE", 
            # C$SCDAA   CNLOCAL  # S"FCS$C$CSOK", 
            # C$CSOK    CNLOCAL  # S"FCS$IDLE", 
            # C$WCTRL   CNLOCAL  # S"FCS$IDLE", 
            # C$CTRLOK  CNLOCAL  # S"FCS$IDLE", 
            # S$WTSAP   CNLOCAL  # S"FCS$IDLE", 
            # S$SAPOK   CNLOCAL  # S"FCS$IDLE", 
            # S$SPOK    CNLOCAL  # S"FCS$IDLE", 
            # S$SDOK    CNLOCAL  # S"FCS$IDLE", 
            # S$SPDOK   CNLOCAL  # S"FCS$IDLE", 
            # S$CTRLOK  CNLOCAL  # S"FCS$IDLE" ]
  
          [ # IDLE      CNREMOTE # S"FCS$IDLE", 
            # C$WTSAP   CNREMOTE # S"FCS$IDLE", 
            # C$SAPOK   CNREMOTE # S"FCS$IDLE", 
            # C$SCAA    CNREMOTE # S"FCS$IDLE", 
            # C$SDAA    CNREMOTE # S"FCS$IDLE", 
            # C$SCDAA   CNREMOTE # S"FCS$IDLE", 
            # C$CSOK    CNREMOTE # S"FCS$C$WCTRL",
            # C$WCTRL   CNREMOTE # S"FCS$IDLE", 
            # C$CTRLOK  CNREMOTE # S"FCS$IDLE", 
            # S$WTSAP   CNREMOTE # S"FCS$IDLE", 
            # S$SAPOK   CNREMOTE # S"FCS$IDLE", 
            # S$SPOK    CNREMOTE # S"FCS$IDLE", 
            # S$SDOK    CNREMOTE # S"FCS$IDLE", 
            # S$SPDOK   CNREMOTE # S"FCS$IDLE", 
            # S$CTRLOK  CNREMOTE # S"FCS$IDLE" ]
  
          [ # IDLE      CNRMINVD # S"FCS$IDLE", 
            # C$WTSAP   CNRMINVD # S"FCS$IDLE", 
            # C$SAPOK   CNRMINVD # S"FCS$IDLE", 
            # C$SCAA    CNRMINVD # S"FCS$IDLE", 
            # C$SDAA    CNRMINVD # S"FCS$IDLE", 
            # C$SCDAA   CNRMINVD # S"FCS$IDLE", 
            # C$CSOK    CNRMINVD # S"FCS$C$CSOK", 
            # C$WCTRL   CNRMINVD # S"FCS$IDLE", 
            # C$CTRLOK  CNRMINVD # S"FCS$IDLE", 
            # S$WTSAP   CNRMINVD # S"FCS$IDLE", 
            # S$SAPOK   CNRMINVD # S"FCS$IDLE", 
            # S$SPOK    CNRMINVD # S"FCS$IDLE", 
            # S$SDOK    CNRMINVD # S"FCS$IDLE", 
            # S$SPDOK   CNRMINVD # S"FCS$IDLE", 
            # S$CTRLOK  CNRMINVD # S"FCS$IDLE" ]
  
          [ # IDLE      CTCNACFL # S"FCS$IDLE", 
            # C$WTSAP   CTCNACFL # S"FCS$IDLE", 
            # C$SAPOK   CTCNACFL # S"FCS$IDLE", 
            # C$SCAA    CTCNACFL # S"FCS$IDLE", 
            # C$SDAA    CTCNACFL # S"FCS$IDLE", 
            # C$SCDAA   CTCNACFL # S"FCS$IDLE", 
            # C$CSOK    CTCNACFL # S"FCS$IDLE", 
            # C$WCTRL   CTCNACFL # S"FCS$C$CSOK", 
            # C$CTRLOK  CTCNACFL # S"FCS$IDLE", 
            # S$WTSAP   CTCNACFL # S"FCS$IDLE", 
            # S$SAPOK   CTCNACFL # S"FCS$IDLE", 
            # S$SPOK    CTCNACFL # S"FCS$IDLE", 
            # S$SDOK    CTCNACFL # S"FCS$IDLE", 
            # S$SPDOK   CTCNACFL # S"FCS$IDLE", 
            # S$CTRLOK  CTCNACFL # S"FCS$IDLE" ]
  
          [ # IDLE      CTCNCP   # S"FCS$IDLE", 
            # C$WTSAP   CTCNCP   # S"FCS$IDLE", 
            # C$SAPOK   CTCNCP   # S"FCS$IDLE", 
            # C$SCAA    CTCNCP   # S"FCS$IDLE", 
            # C$SDAA    CTCNCP   # S"FCS$IDLE", 
            # C$SCDAA   CTCNCP   # S"FCS$IDLE", 
            # C$CSOK    CTCNCP   # S"FCS$IDLE", 
            # C$WCTRL   CTCNCP   # S"FCS$C$CTRLOK", 
            # C$CTRLOK  CTCNCP   # S"FCS$IDLE", 
            # S$WTSAP   CTCNCP   # S"FCS$IDLE", 
            # S$SAPOK   CTCNCP   # S"FCS$IDLE", 
            # S$SPOK    CTCNCP   # S"FCS$IDLE", 
            # S$SDOK    CTCNCP   # S"FCS$IDLE", 
            # S$SPDOK   CTCNCP   # S"FCS$S$CTRLOK", 
            # S$CTRLOK  CTCNCP   # S"FCS$IDLE" ]
  
          [ # IDLE      SDREMOTE # S"FCS$IDLE", 
            # C$WTSAP   SDREMOTE # S"FCS$IDLE", 
            # C$SAPOK   SDREMOTE # S"FCS$IDLE", 
            # C$SCAA    SDREMOTE # S"FCS$IDLE", 
            # C$SDAA    SDREMOTE # S"FCS$IDLE", 
            # C$SCDAA   SDREMOTE # S"FCS$IDLE", 
            # C$CSOK    SDREMOTE # S"FCS$C$CSOK", 
            # C$WCTRL   SDREMOTE # S"FCS$IDLE", 
            # C$CTRLOK  SDREMOTE # S"FCS$C$CTRLOK", 
            # S$WTSAP   SDREMOTE # S"FCS$IDLE", 
            # S$SAPOK   SDREMOTE # S"FCS$IDLE", 
            # S$SPOK    SDREMOTE # S"FCS$IDLE", 
            # S$SDOK    SDREMOTE # S"FCS$IDLE", 
            # S$SPDOK   SDREMOTE # S"FCS$IDLE", 
            # S$CTRLOK  SDREMOTE # S"FCS$IDLE" ]
  
          [ # IDLE      SDLOCAL  # S"FCS$IDLE", 
            # C$WTSAP   SDLOCAL  # S"FCS$IDLE", 
            # C$SAPOK   SDLOCAL  # S"FCS$IDLE", 
            # C$SCAA    SDLOCAL  # S"FCS$IDLE", 
            # C$SDAA    SDLOCAL  # S"FCS$IDLE", 
            # C$SCDAA   SDLOCAL  # S"FCS$IDLE", 
            # C$CSOK    SDLOCAL  # S"FCS$C$CSOK", 
            # C$WCTRL   SDLOCAL  # S"FCS$IDLE", 
            # C$CTRLOK  SDLOCAL  # S"FCS$C$CTRLOK", 
            # S$WTSAP   SDLOCAL  # S"FCS$IDLE", 
            # S$SAPOK   SDLOCAL  # S"FCS$IDLE", 
            # S$SPOK    SDLOCAL  # S"FCS$IDLE", 
            # S$SDOK    SDLOCAL  # S"FCS$IDLE", 
            # S$SPDOK   SDLOCAL  # S"FCS$IDLE", 
            # S$CTRLOK  SDLOCAL  # S"FCS$IDLE" ]
  
          [ # IDLE      CSBRKN   # S"FCS$IDLE", 
            # C$WTSAP   CSBRKN   # S"FCS$C$WTSAP",
            # C$SAPOK   CSBRKN   # S"FCS$C$SAPOK",
            # C$SCAA    CSBRKN   # S"FCS$C$SCAA", 
            # C$SDAA    CSBRKN   # S"FCS$C$SDAA", 
            # C$SCDAA   CSBRKN   # S"FCS$C$SCDAA",
            # C$CSOK    CSBRKN   # S"FCS$C$CSOK", 
            # C$WCTRL   CSBRKN   # S"FCS$C$WCTRL",
            # C$CTRLOK  CSBRKN   # S"FCS$C$CTRLOK", 
            # S$WTSAP   CSBRKN   # S"FCS$IDLE", 
            # S$SAPOK   CSBRKN   # S"FCS$IDLE", 
            # S$SPOK    CSBRKN   # S"FCS$IDLE", 
            # S$SDOK    CSBRKN   # S"FCS$IDLE", 
            # S$SPDOK   CSBRKN   # S"FCS$IDLE", 
            # S$CTRLOK  CSBRKN   # S"FCS$IDLE" ]
  
          [ # IDLE      AACTBRKN # S"FCS$IDLE", 
            # C$WTSAP   AACTBRKN # S"FCS$IDLE", 
            # C$SAPOK   AACTBRKN # S"FCS$IDLE", 
            # C$SCAA    AACTBRKN # S"FCS$C$SAPOK",
            # C$SDAA    AACTBRKN # S"FCS$IDLE", 
            # C$SCDAA   AACTBRKN # S"FCS$C$SDAA", 
            # C$CSOK    AACTBRKN # S"FCS$C$CSOK", 
            # C$WCTRL   AACTBRKN # S"FCS$C$WCTRL",
            # C$CTRLOK  AACTBRKN # S"FCS$C$CTRLOK", 
            # S$WTSAP   AACTBRKN # S"FCS$IDLE", 
            # S$SAPOK   AACTBRKN # S"FCS$S$SAPOK",
            # S$SPOK    AACTBRKN # S"FCS$S$SAPOK",
            # S$SDOK    AACTBRKN # S"FCS$S$SDOK", 
            # S$SPDOK   AACTBRKN # S"FCS$S$SDOK", 
            # S$CTRLOK  AACTBRKN # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      AADTBRKN # S"FCS$IDLE", 
            # C$WTSAP   AADTBRKN # S"FCS$IDLE", 
            # C$SAPOK   AADTBRKN # S"FCS$IDLE", 
            # C$SCAA    AADTBRKN # S"FCS$IDLE", 
            # C$SDAA    AADTBRKN # S"FCS$C$SAPOK",
            # C$SCDAA   AADTBRKN # S"FCS$C$SCAA", 
            # C$CSOK    AADTBRKN # S"FCS$C$CSOK", 
            # C$WCTRL   AADTBRKN # S"FCS$C$WCTRL",
            # C$CTRLOK  AADTBRKN # S"FCS$C$CTRLOK", 
            # S$WTSAP   AADTBRKN # S"FCS$IDLE", 
            # S$SAPOK   AADTBRKN # S"FCS$IDLE", 
            # S$SPOK    AADTBRKN # S"FCS$IDLE", 
            # S$SDOK    AADTBRKN # S"FCS$S$SAPOK",
            # S$SPDOK   AADTBRKN # S"FCS$S$SPOK", 
            # S$CTRLOK  AADTBRKN # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      SHUTSLOW # S"FCS$IDLE", 
            # C$WTSAP   SHUTSLOW # S"FCS$C$WTSAP",
            # C$SAPOK   SHUTSLOW # S"FCS$C$SAPOK",
            # C$SCAA    SHUTSLOW # S"FCS$C$SCAA", 
            # C$SDAA    SHUTSLOW # S"FCS$C$SDAA", 
            # C$SCDAA   SHUTSLOW # S"FCS$C$SCDAA",
            # C$CSOK    SHUTSLOW # S"FCS$C$CSOK", 
            # C$WCTRL   SHUTSLOW # S"FCS$C$WCTRL",
            # C$CTRLOK  SHUTSLOW # S"FCS$C$CTRLOK", 
            # S$WTSAP   SHUTSLOW # S"FCS$S$WTSAP",
            # S$SAPOK   SHUTSLOW # S"FCS$S$SAPOK",
            # S$SPOK    SHUTSLOW # S"FCS$S$SPOK", 
            # S$SDOK    SHUTSLOW # S"FCS$S$SDOK", 
            # S$SPDOK   SHUTSLOW # S"FCS$S$SPDOK",
            # S$CTRLOK  SHUTSLOW # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      SHUTFAST # S"FCS$IDLE", 
            # C$WTSAP   SHUTFAST # S"FCS$C$WTSAP",
            # C$SAPOK   SHUTFAST # S"FCS$C$SAPOK",
            # C$SCAA    SHUTFAST # S"FCS$C$SCAA", 
            # C$SDAA    SHUTFAST # S"FCS$C$SDAA", 
            # C$SCDAA   SHUTFAST # S"FCS$C$SCDAA",
            # C$CSOK    SHUTFAST # S"FCS$C$CSOK", 
            # C$WCTRL   SHUTFAST # S"FCS$C$WCTRL",
            # C$CTRLOK  SHUTFAST # S"FCS$C$CTRLOK", 
            # S$WTSAP   SHUTFAST # S"FCS$S$WTSAP",
            # S$SAPOK   SHUTFAST # S"FCS$S$SAPOK",
            # S$SPOK    SHUTFAST # S"FCS$S$SPOK", 
            # S$SDOK    SHUTFAST # S"FCS$S$SDOK", 
            # S$SPDOK   SHUTFAST # S"FCS$S$SPDOK",
            # S$CTRLOK  SHUTFAST # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      ABDTCNRQ # S"FCS$IDLE", 
            # C$WTSAP   ABDTCNRQ # S"FCS$IDLE", 
            # C$SAPOK   ABDTCNRQ # S"FCS$IDLE", 
            # C$SCAA    ABDTCNRQ # S"FCS$IDLE", 
            # C$SDAA    ABDTCNRQ # S"FCS$IDLE", 
            # C$SCDAA   ABDTCNRQ # S"FCS$IDLE", 
            # C$CSOK    ABDTCNRQ # S"FCS$C$CSOK", 
            # C$WCTRL   ABDTCNRQ # S"FCS$IDLE", 
            # C$CTRLOK  ABDTCNRQ # S"FCS$C$CTRLOK", 
            # S$WTSAP   ABDTCNRQ # S"FCS$IDLE", 
            # S$SAPOK   ABDTCNRQ # S"FCS$IDLE", 
            # S$SPOK    ABDTCNRQ # S"FCS$IDLE", 
            # S$SDOK    ABDTCNRQ # S"FCS$IDLE", 
            # S$SPDOK   ABDTCNRQ # S"FCS$IDLE", 
            # S$CTRLOK  ABDTCNRQ # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CLCTIND  # S"FCS$IDLE", 
            # C$WTSAP   CLCTIND  # S"FCS$IDLE", 
            # C$SAPOK   CLCTIND  # S"FCS$IDLE", 
            # C$SCAA    CLCTIND  # S"FCS$IDLE", 
            # C$SDAA    CLCTIND  # S"FCS$IDLE", 
            # C$SCDAA   CLCTIND  # S"FCS$IDLE", 
            # C$CSOK    CLCTIND  # S"FCS$IDLE", 
            # C$WCTRL   CLCTIND  # S"FCS$IDLE", 
            # C$CTRLOK  CLCTIND  # S"FCS$C$CSOK", 
            # S$WTSAP   CLCTIND  # S"FCS$IDLE", 
            # S$SAPOK   CLCTIND  # S"FCS$IDLE", 
            # S$SPOK    CLCTIND  # S"FCS$IDLE", 
            # S$SDOK    CLCTIND  # S"FCS$IDLE", 
            # S$SPDOK   CLCTIND  # S"FCS$IDLE", 
            # S$CTRLOK  CLCTIND  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CTPCEST  # S"FCS$IDLE", 
            # C$WTSAP   CTPCEST  # S"FCS$IDLE", 
            # C$SAPOK   CTPCEST  # S"FCS$IDLE", 
            # C$SCAA    CTPCEST  # S"FCS$IDLE", 
            # C$SDAA    CTPCEST  # S"FCS$IDLE", 
            # C$SCDAA   CTPCEST  # S"FCS$IDLE", 
            # C$CSOK    CTPCEST  # S"FCS$IDLE", 
            # C$WCTRL   CTPCEST  # S"FCS$IDLE", 
            # C$CTRLOK  CTPCEST  # S"FCS$IDLE", 
            # S$WTSAP   CTPCEST  # S"FCS$IDLE", 
            # S$SAPOK   CTPCEST  # S"FCS$S$SPOK", 
            # S$SPOK    CTPCEST  # S"FCS$IDLE", 
            # S$SDOK    CTPCEST  # S"FCS$S$SPDOK",
            # S$SPDOK   CTPCEST  # S"FCS$IDLE", 
            # S$CTRLOK  CTPCEST  # S"FCS$IDLE" ]
  
          [ # IDLE      SDDTRQ   # S"FCS$IDLE", 
            # C$WTSAP   SDDTRQ   # S"FCS$IDLE", 
            # C$SAPOK   SDDTRQ   # S"FCS$IDLE", 
            # C$SCAA    SDDTRQ   # S"FCS$IDLE", 
            # C$SDAA    SDDTRQ   # S"FCS$IDLE", 
            # C$SCDAA   SDDTRQ   # S"FCS$IDLE", 
            # C$CSOK    SDDTRQ   # S"FCS$C$CSOK", 
            # C$WCTRL   SDDTRQ   # S"FCS$IDLE", 
            # C$CTRLOK  SDDTRQ   # S"FCS$C$CTRLOK", 
            # S$WTSAP   SDDTRQ   # S"FCS$IDLE", 
            # S$SAPOK   SDDTRQ   # S"FCS$IDLE", 
            # S$SPOK    SDDTRQ   # S"FCS$IDLE", 
            # S$SDOK    SDDTRQ   # S"FCS$IDLE", 
            # S$SPDOK   SDDTRQ   # S"FCS$IDLE", 
            # S$CTRLOK  SDDTRQ   # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      INITPCRQ # S"FCS$IDLE", 
            # C$WTSAP   INITPCRQ # S"FCS$IDLE", 
            # C$SAPOK   INITPCRQ # S"FCS$IDLE", 
            # C$SCAA    INITPCRQ # S"FCS$IDLE", 
            # C$SDAA    INITPCRQ # S"FCS$IDLE", 
            # C$SCDAA   INITPCRQ # S"FCS$IDLE", 
            # C$CSOK    INITPCRQ # S"FCS$IDLE", 
            # C$WCTRL   INITPCRQ # S"FCS$IDLE", 
            # C$CTRLOK  INITPCRQ # S"FCS$C$CTRLOK", 
            # S$WTSAP   INITPCRQ # S"FCS$IDLE", 
            # S$SAPOK   INITPCRQ # S"FCS$IDLE", 
            # S$SPOK    INITPCRQ # S"FCS$IDLE", 
            # S$SDOK    INITPCRQ # S"FCS$IDLE", 
            # S$SPDOK   INITPCRQ # S"FCS$IDLE", 
            # S$CTRLOK  INITPCRQ # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      INITACRQ # S"FCS$IDLE", 
            # C$WTSAP   INITACRQ # S"FCS$IDLE", 
            # C$SAPOK   INITACRQ # S"FCS$IDLE", 
            # C$SCAA    INITACRQ # S"FCS$IDLE", 
            # C$SDAA    INITACRQ # S"FCS$IDLE", 
            # C$SCDAA   INITACRQ # S"FCS$IDLE", 
            # C$CSOK    INITACRQ # S"FCS$IDLE", 
            # C$WCTRL   INITACRQ # S"FCS$IDLE", 
            # C$CTRLOK  INITACRQ # S"FCS$C$CTRLOK", 
            # S$WTSAP   INITACRQ # S"FCS$IDLE", 
            # S$SAPOK   INITACRQ # S"FCS$IDLE", 
            # S$SPOK    INITACRQ # S"FCS$IDLE", 
            # S$SDOK    INITACRQ # S"FCS$IDLE", 
            # S$SPDOK   INITACRQ # S"FCS$IDLE", 
            # S$CTRLOK  INITACRQ # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      DTCNCMPL # S"FCS$IDLE", 
            # C$WTSAP   DTCNCMPL # S"FCS$IDLE", 
            # C$SAPOK   DTCNCMPL # S"FCS$IDLE", 
            # C$SCAA    DTCNCMPL # S"FCS$IDLE", 
            # C$SDAA    DTCNCMPL # S"FCS$IDLE", 
            # C$SCDAA   DTCNCMPL # S"FCS$IDLE", 
            # C$CSOK    DTCNCMPL # S"FCS$IDLE", 
            # C$WCTRL   DTCNCMPL # S"FCS$IDLE", 
            # C$CTRLOK  DTCNCMPL # S"FCS$C$CTRLOK", 
            # S$WTSAP   DTCNCMPL # S"FCS$IDLE", 
            # S$SAPOK   DTCNCMPL # S"FCS$IDLE", 
            # S$SPOK    DTCNCMPL # S"FCS$IDLE", 
            # S$SDOK    DTCNCMPL # S"FCS$IDLE", 
            # S$SPDOK   DTCNCMPL # S"FCS$IDLE", 
            # S$CTRLOK  DTCNCMPL # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      DTPCEST  # S"FCS$IDLE", 
            # C$WTSAP   DTPCEST  # S"FCS$IDLE", 
            # C$SAPOK   DTPCEST  # S"FCS$IDLE", 
            # C$SCAA    DTPCEST  # S"FCS$IDLE", 
            # C$SDAA    DTPCEST  # S"FCS$IDLE", 
            # C$SCDAA   DTPCEST  # S"FCS$IDLE", 
            # C$CSOK    DTPCEST  # S"FCS$IDLE", 
            # C$WCTRL   DTPCEST  # S"FCS$IDLE", 
            # C$CTRLOK  DTPCEST  # S"FCS$C$CTRLOK", 
            # S$WTSAP   DTPCEST  # S"FCS$IDLE", 
            # S$SAPOK   DTPCEST  # S"FCS$IDLE", 
            # S$SPOK    DTPCEST  # S"FCS$IDLE", 
            # S$SDOK    DTPCEST  # S"FCS$IDLE", 
            # S$SPDOK   DTPCEST  # S"FCS$IDLE", 
            # S$CTRLOK  DTPCEST  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CTDTAVL  # S"FCS$IDLE", 
            # C$WTSAP   CTDTAVL  # S"FCS$IDLE", 
            # C$SAPOK   CTDTAVL  # S"FCS$IDLE", 
            # C$SCAA    CTDTAVL  # S"FCS$IDLE", 
            # C$SDAA    CTDTAVL  # S"FCS$IDLE", 
            # C$SCDAA   CTDTAVL  # S"FCS$IDLE", 
            # C$CSOK    CTDTAVL  # S"FCS$IDLE", 
            # C$WCTRL   CTDTAVL  # S"FCS$IDLE", 
            # C$CTRLOK  CTDTAVL  # S"FCS$C$CTRLOK", 
            # S$WTSAP   CTDTAVL  # S"FCS$IDLE", 
            # S$SAPOK   CTDTAVL  # S"FCS$IDLE", 
            # S$SPOK    CTDTAVL  # S"FCS$IDLE", 
            # S$SDOK    CTDTAVL  # S"FCS$IDLE", 
            # S$SPDOK   CTDTAVL  # S"FCS$IDLE", 
            # S$CTRLOK  CTDTAVL  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      DTDTAVL  # S"FCS$IDLE", 
            # C$WTSAP   DTDTAVL  # S"FCS$IDLE", 
            # C$SAPOK   DTDTAVL  # S"FCS$IDLE", 
            # C$SCAA    DTDTAVL  # S"FCS$IDLE", 
            # C$SDAA    DTDTAVL  # S"FCS$IDLE", 
            # C$SCDAA   DTDTAVL  # S"FCS$IDLE", 
            # C$CSOK    DTDTAVL  # S"FCS$IDLE", 
            # C$WCTRL   DTDTAVL  # S"FCS$IDLE", 
            # C$CTRLOK  DTDTAVL  # S"FCS$C$CTRLOK", 
            # S$WTSAP   DTDTAVL  # S"FCS$IDLE", 
            # S$SAPOK   DTDTAVL  # S"FCS$IDLE", 
            # S$SPOK    DTDTAVL  # S"FCS$IDLE", 
            # S$SDOK    DTDTAVL  # S"FCS$IDLE", 
            # S$SPDOK   DTDTAVL  # S"FCS$IDLE", 
            # S$CTRLOK  DTDTAVL  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      FLCTREL  # S"FCS$IDLE", 
            # C$WTSAP   FLCTREL  # S"FCS$IDLE", 
            # C$SAPOK   FLCTREL  # S"FCS$IDLE", 
            # C$SCAA    FLCTREL  # S"FCS$IDLE", 
            # C$SDAA    FLCTREL  # S"FCS$IDLE", 
            # C$SCDAA   FLCTREL  # S"FCS$IDLE", 
            # C$CSOK    FLCTREL  # S"FCS$IDLE", 
            # C$WCTRL   FLCTREL  # S"FCS$IDLE", 
            # C$CTRLOK  FLCTREL  # S"FCS$C$CTRLOK", 
            # S$WTSAP   FLCTREL  # S"FCS$IDLE", 
            # S$SAPOK   FLCTREL  # S"FCS$IDLE", 
            # S$SPOK    FLCTREL  # S"FCS$IDLE", 
            # S$SDOK    FLCTREL  # S"FCS$IDLE", 
            # S$SPDOK   FLCTREL  # S"FCS$IDLE", 
            # S$CTRLOK  FLCTREL  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      NODTOUT  # S"FCS$IDLE", 
            # C$WTSAP   NODTOUT  # S"FCS$IDLE", 
            # C$SAPOK   NODTOUT  # S"FCS$IDLE", 
            # C$SCAA    NODTOUT  # S"FCS$IDLE", 
            # C$SDAA    NODTOUT  # S"FCS$IDLE", 
            # C$SCDAA   NODTOUT  # S"FCS$IDLE", 
            # C$CSOK    NODTOUT  # S"FCS$IDLE", 
            # C$WCTRL   NODTOUT  # S"FCS$IDLE", 
            # C$CTRLOK  NODTOUT  # S"FCS$C$CTRLOK", 
            # S$WTSAP   NODTOUT  # S"FCS$IDLE", 
            # S$SAPOK   NODTOUT  # S"FCS$IDLE", 
            # S$SPOK    NODTOUT  # S"FCS$IDLE", 
            # S$SDOK    NODTOUT  # S"FCS$IDLE", 
            # S$SPDOK   NODTOUT  # S"FCS$IDLE", 
            # S$CTRLOK  NODTOUT  # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CLDTCNRQ # S"FCS$IDLE", 
            # C$WTSAP   CLDTCNRQ # S"FCS$IDLE", 
            # C$SAPOK   CLDTCNRQ # S"FCS$IDLE", 
            # C$SCAA    CLDTCNRQ # S"FCS$IDLE", 
            # C$SDAA    CLDTCNRQ # S"FCS$IDLE", 
            # C$SCDAA   CLDTCNRQ # S"FCS$IDLE", 
            # C$CSOK    CLDTCNRQ # S"FCS$IDLE", 
            # C$WCTRL   CLDTCNRQ # S"FCS$IDLE", 
            # C$CTRLOK  CLDTCNRQ # S"FCS$C$CTRLOK", 
            # S$WTSAP   CLDTCNRQ # S"FCS$IDLE", 
            # S$SAPOK   CLDTCNRQ # S"FCS$IDLE", 
            # S$SPOK    CLDTCNRQ # S"FCS$IDLE", 
            # S$SDOK    CLDTCNRQ # S"FCS$IDLE", 
            # S$SPDOK   CLDTCNRQ # S"FCS$IDLE", 
            # S$CTRLOK  CLDTCNRQ # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CLCTCNRQ # S"FCS$IDLE", 
            # C$WTSAP   CLCTCNRQ # S"FCS$IDLE", 
            # C$SAPOK   CLCTCNRQ # S"FCS$IDLE", 
            # C$SCAA    CLCTCNRQ # S"FCS$IDLE", 
            # C$SDAA    CLCTCNRQ # S"FCS$IDLE", 
            # C$SCDAA   CLCTCNRQ # S"FCS$IDLE", 
            # C$CSOK    CLCTCNRQ # S"FCS$IDLE", 
            # C$WCTRL   CLCTCNRQ # S"FCS$IDLE", 
            # C$CTRLOK  CLCTCNRQ # S"FCS$C$CTRLOK", 
            # S$WTSAP   CLCTCNRQ # S"FCS$IDLE", 
            # S$SAPOK   CLCTCNRQ # S"FCS$IDLE", 
            # S$SPOK    CLCTCNRQ # S"FCS$IDLE", 
            # S$SDOK    CLCTCNRQ # S"FCS$IDLE", 
            # S$SPDOK   CLCTCNRQ # S"FCS$IDLE", 
            # S$CTRLOK  CLCTCNRQ # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CLDTIND  # S"FCS$IDLE", 
            # C$WTSAP   CLDTIND  # S"FCS$IDLE", 
            # C$SAPOK   CLDTIND  # S"FCS$IDLE", 
            # C$SCAA    CLDTIND  # S"FCS$IDLE", 
            # C$SDAA    CLDTIND  # S"FCS$IDLE", 
            # C$SCDAA   CLDTIND  # S"FCS$IDLE", 
            # C$CSOK    CLDTIND  # S"FCS$IDLE", 
            # C$WCTRL   CLDTIND  # S"FCS$IDLE", 
            # C$CTRLOK  CLDTIND  # S"FCS$C$CTRLOK", 
            # S$WTSAP   CLDTIND  # S"FCS$IDLE", 
            # S$SAPOK   CLDTIND  # S"FCS$IDLE", 
            # S$SPOK    CLDTIND  # S"FCS$IDLE", 
            # S$SDOK    CLDTIND  # S"FCS$IDLE", 
            # S$SPDOK   CLDTIND  # S"FCS$IDLE", 
            # S$CTRLOK  CLDTIND  # S"FCS$S$CTRLOK"  ] 
  
          [ # IDLE      DTCNACFL # S"FCS$IDLE", 
            # C$WTSAP   DTCNACFL # S"FCS$IDLE", 
            # C$SAPOK   DTCNACFL # S"FCS$IDLE", 
            # C$SCAA    DTCNACFL # S"FCS$IDLE", 
            # C$SDAA    DTCNACFL # S"FCS$IDLE", 
            # C$SCDAA   DTCNACFL # S"FCS$IDLE", 
            # C$CSOK    DTCNACFL # S"FCS$IDLE", 
            # C$WCTRL   DTCNACFL # S"FCS$IDLE", 
            # C$CTRLOK  DTCNACFL # S"FCS$IDLE", 
            # S$WTSAP   DTCNACFL # S"FCS$IDLE", 
            # S$SAPOK   DTCNACFL # S"FCS$IDLE", 
            # S$SPOK    DTCNACFL # S"FCS$IDLE", 
            # S$SDOK    DTCNACFL # S"FCS$IDLE", 
            # S$SPDOK   DTCNACFL # S"FCS$IDLE", 
            # S$CTRLOK  DTCNACFL # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      CTCNABID # S"FCS$IDLE", 
            # C$WTSAP   CTCNABID # S"FCS$IDLE", 
            # C$SAPOK   CTCNABID # S"FCS$IDLE", 
            # C$SCAA    CLCNABID # S"FCS$IDLE", 
            # C$SDAA    CLCNABID # S"FCS$IDLE", 
            # C$SCDAA   CLCNABID # S"FCS$IDLE", 
            # C$CSOK    CLCNABID # S"FCS$IDLE", 
            # C$WCTRL   CLCNABID # S"FCS$C$CSOK", 
            # C$CTRLOK  CLCNABID # S"FCS$C$CSOK", 
            # S$WTSAP   CLCNABID # S"FCS$IDLE", 
            # S$SAPOK   CLCNABID # S"FCS$IDLE", 
            # S$SPOK    CLCNABID # S"FCS$IDLE", 
            # S$SDOK    CLCNABID # S"FCS$IDLE", 
            # S$SPDOK   CLCNABID # S"FCS$IDLE", 
            # S$CTRLOK  CLCNABID # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      DTCNABID # S"FCS$IDLE", 
            # C$WTSAP   DTCNABID # S"FCS$IDLE", 
            # C$SAPOK   DTCNABID # S"FCS$IDLE", 
            # C$SCAA    DTCNABID # S"FCS$IDLE", 
            # C$SDAA    DTCNABID # S"FCS$IDLE", 
            # C$SCDAA   DTCNABID # S"FCS$IDLE", 
            # C$CSOK    DTCNABID # S"FCS$IDLE", 
            # C$WCTRL   DTCNABID # S"FCS$IDLE", 
            # C$CTRLOK  DTCNABID # S"FCS$C$CTRLOK", 
            # S$WTSAP   DTCNABID # S"FCS$IDLE", 
            # S$SAPOK   DTCNABID # S"FCS$IDLE", 
            # S$SPOK    DTCNABID # S"FCS$IDLE", 
            # S$SDOK    DTCNABID # S"FCS$IDLE", 
            # S$SPDOK   DTCNABID # S"FCS$IDLE", 
            # S$CTRLOK  DTCNABID # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      DTCNABSO # S"FCS$IDLE", 
            # C$WTSAP   DTCNABSO # S"FCS$IDLE", 
            # C$SAPOK   DTCNABSO # S"FCS$IDLE", 
            # C$SCAA    DTCNABSO # S"FCS$IDLE", 
            # C$SDAA    DTCNABSO # S"FCS$IDLE", 
            # C$SCDAA   DTCNABSO # S"FCS$IDLE", 
            # C$CSOK    DTCNABSO # S"FCS$C$CSOK", 
            # C$WCTRL   DTCNABSO # S"FCS$IDLE", 
            # C$CTRLOK  DTCNABSO # S"FCS$C$CTRLOK", 
            # S$WTSAP   DTCNABSO # S"FCS$IDLE", 
            # S$SAPOK   DTCNABSO # S"FCS$IDLE", 
            # S$SPOK    DTCNABSO # S"FCS$IDLE", 
            # S$SDOK    DTCNABSO # S"FCS$IDLE", 
            # S$SPDOK   DTCNABSO # S"FCS$IDLE", 
            # S$CTRLOK  DTCNABSO # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      ABTXFR   # S"FCS$IDLE", 
            # C$WTSAP   ABTXFR   # S"FCS$IDLE", 
            # C$SAPOK   ABTXFR   # S"FCS$IDLE", 
            # C$SCAA    ABTXFR   # S"FCS$IDLE", 
            # C$SDAA    ABTXFR   # S"FCS$IDLE", 
            # C$SCDAA   ABTXFR   # S"FCS$IDLE", 
            # C$CSOK    ABTXFR   # S"FCS$C$CSOK", 
            # C$WCTRL   ABTXFR   # S"FCS$IDLE", 
            # C$CTRLOK  ABTXFR   # S"FCS$C$CTRLOK", 
            # S$WTSAP   ABTXFR   # S"FCS$IDLE", 
            # S$SAPOK   ABTXFR   # S"FCS$IDLE", 
            # S$SPOK    ABTXFR   # S"FCS$IDLE", 
            # S$SDOK    ABTXFR   # S"FCS$IDLE", 
            # S$SPDOK   ABTXFR   # S"FCS$IDLE", 
            # S$CTRLOK  ABTXFR   # S"FCS$IDLE" ]
  
          [ # IDLE      CNCLVAL  # S"FCS$IDLE", 
            # C$WTSAP   CNCLVAL  # S"FCS$IDLE", 
            # C$SAPOK   CNCLVAL  # S"FCS$IDLE", 
            # C$SCAA    CNCLVAL  # S"FCS$IDLE", 
            # C$SDAA    CNCLVAL  # S"FCS$IDLE", 
            # C$SCDAA   CNCLVAL  # S"FCS$IDLE", 
            # C$CSOK    CNCLVAL  # S"FCS$C$CSOK", 
            # C$WCTRL   CNCLVAL  # S"FCS$IDLE", 
            # C$CTRLOK  CNCLVAL  # S"FCS$IDLE", 
            # S$WTSAP   CNCLVAL  # S"FCS$IDLE", 
            # S$SAPOK   CNCLVAL  # S"FCS$IDLE", 
            # S$SPOK    CNCLVAL  # S"FCS$IDLE", 
            # S$SDOK    CNCLVAL  # S"FCS$IDLE", 
            # S$SPDOK   CNCLVAL  # S"FCS$IDLE", 
            # S$CTRLOK  CNCLVAL  # S"FCS$IDLE" ]
  
          [ # IDLE      CNCLBAD  # S"FCS$IDLE", 
            # C$WTSAP   CNCLBAD  # S"FCS$IDLE", 
            # C$SAPOK   CNCLBAD  # S"FCS$IDLE", 
            # C$SCAA    CNCLBAD  # S"FCS$IDLE", 
            # C$SDAA    CNCLBAD  # S"FCS$IDLE", 
            # C$SCDAA   CNCLBAD  # S"FCS$IDLE", 
            # C$CSOK    CNCLBAD  # S"FCS$C$CSOK", 
            # C$WCTRL   CNCLBAD  # S"FCS$IDLE", 
            # C$CTRLOK  CNCLBAD  # S"FCS$IDLE", 
            # S$WTSAP   CNCLBAD  # S"FCS$IDLE", 
            # S$SAPOK   CNCLBAD  # S"FCS$IDLE", 
            # S$SPOK    CNCLBAD  # S"FCS$IDLE", 
            # S$SDOK    CNCLBAD  # S"FCS$IDLE", 
            # S$SPDOK   CNCLBAD  # S"FCS$IDLE", 
            # S$CTRLOK  CNCLBAD  # S"FCS$IDLE" ]
  
          [ # IDLE      RDDDCN   # S"FCS$IDLE", 
            # C$WTSAP   RDDDCN   # S"FCS$IDLE", 
            # C$SAPOK   RDDDCN   # S"FCS$IDLE", 
            # C$SCAA    RDDDCN   # S"FCS$IDLE", 
            # C$SDAA    RDDDCN   # S"FCS$IDLE", 
            # C$SCDAA   RDDDCN   # S"FCS$IDLE", 
            # C$CSOK    RDDDCN   # S"FCS$IDLE", 
            # C$WCTRL   RDDDCN   # S"FCS$IDLE", 
            # C$CTRLOK  RDDDCN   # S"FCS$IDLE", 
            # S$WTSAP   RDDDCN   # S"FCS$IDLE", 
            # S$SAPOK   RDDDCN   # S"FCS$IDLE", 
            # S$SPOK    RDDDCN   # S"FCS$IDLE", 
            # S$SDOK    RDDDCN   # S"FCS$IDLE", 
            # S$SPDOK   RDDDCN   # S"FCS$IDLE", 
            # S$CTRLOK  RDDDCN   # S"FCS$S$CTRLOK" ]
  
          [ # IDLE      SDDDCN   # S"FCS$IDLE", 
            # C$WTSAP   SDDDCN   # S"FCS$IDLE", 
            # C$SAPOK   SDDDCN   # S"FCS$IDLE", 
            # C$SCAA    SDDDCN   # S"FCS$IDLE", 
            # C$SDAA    SDDDCN   # S"FCS$IDLE", 
            # C$SCDAA   SDDDCN   # S"FCS$IDLE", 
            # C$CSOK    SDDDCN   # S"FCS$IDLE", 
            # C$WCTRL   SDDDCN   # S"FCS$IDLE", 
            # C$CTRLOK  SDDDCN   # S"FCS$IDLE", 
            # S$WTSAP   SDDDCN   # S"FCS$IDLE", 
            # S$SAPOK   SDDDCN   # S"FCS$IDLE", 
            # S$SPOK    SDDDCN   # S"FCS$IDLE", 
            # S$SDOK    SDDDCN   # S"FCS$IDLE", 
            # S$SPDOK   SDDDCN   # S"FCS$IDLE", 
            # S$CTRLOK  SDDDCN   # S"FCS$S$CTRLOK" ]];
  
# 
*       INITIALIZE INDICATION CODES TO BE PASSED UP TO THE FTP LAYER. 
# 
  
        ITEM FCM$IND S:ICM (00,24,12) = [ 
#             STATE     TRIGGER    IDICATION                          # 
          [ # IDLE      INITCLV  # S"NULL", 
            # C$WTSAP   INITCLV  # S"NULL", 
            # C$SAPOK   INITCLV  # S"NULL", 
            # C$SCAA    INITCLV  # S"NULL", 
            # C$SDAA    INITCLV  # S"NULL", 
            # C$SCDAA   INITCLV  # S"NULL", 
            # C$CSOK    INITCLV  # S"NULL", 
            # C$WCTRL   INITCLV  # S"NULL", 
            # C$CTRLOK  INITCLV  # S"NULL", 
            # S$WTSAP   INITCLV  # S"NULL", 
            # S$SAPOK   INITCLV  # S"NULL", 
            # S$SPOK    INITCLV  # S"NULL", 
            # S$SDOK    INITCLV  # S"NULL", 
            # S$SPDOK   INITCLV  # S"NULL", 
            # S$CTRLOK  INITCLV  # S"NULL" ]
  
          [ # IDLE      INITSER  # S"NULL", 
            # C$WTSAP   INITSER  # S"NULL", 
            # C$SAPOK   INITSER  # S"NULL", 
            # C$SCAA    INITSER  # S"NULL", 
            # C$SDAA    INITSER  # S"NULL", 
            # C$SCDAA   INITSER  # S"NULL", 
            # C$CSOK    INITSER  # S"NULL", 
            # C$WCTRL   INITSER  # S"NULL", 
            # C$CTRLOK  INITSER  # S"NULL", 
            # S$WTSAP   INITSER  # S"NULL", 
            # S$SAPOK   INITSER  # S"NULL", 
            # S$SPOK    INITSER  # S"NULL", 
            # S$SDOK    INITSER  # S"NULL", 
            # S$SPDOK   INITSER  # S"NULL", 
            # S$CTRLOK  INITSER  # S"NULL" ]
  
          [ # IDLE      SAPCMPL  # S"NULL", 
            # C$WTSAP   SAPCMPL  # S"NULL", 
            # C$SAPOK   SAPCMPL  # S"NULL", 
            # C$SCAA    SAPCMPL  # S"NULL", 
            # C$SDAA    SAPCMPL  # S"NULL", 
            # C$SCDAA   SAPCMPL  # S"NULL", 
            # C$CSOK    SAPCMPL  # S"NULL", 
            # C$WCTRL   SAPCMPL  # S"NULL", 
            # C$CTRLOK  SAPCMPL  # S"NULL", 
            # S$WTSAP   SAPCMPL  # S"NULL", 
            # S$SAPOK   SAPCMPL  # S"NULL", 
            # S$SPOK    SAPCMPL  # S"NULL", 
            # S$SDOK    SAPCMPL  # S"NULL", 
            # S$SPDOK   SAPCMPL  # S"NULL", 
            # S$CTRLOK  SAPCMPL  # S"NULL" ]
  
          [ # IDLE      CTAACP   # S"NULL", 
            # C$WTSAP   CTAACP   # S"NULL", 
            # C$SAPOK   CTAACP   # S"NULL", 
            # C$SCAA    CTAACP   # S"NULL", 
            # C$SDAA    CTAACP   # S"NULL", 
            # C$SCDAA   CTAACP   # S"NULL", 
            # C$CSOK    CTAACP   # S"NULL", 
            # C$WCTRL   CTAACP   # S"NULL", 
            # C$CTRLOK  CTAACP   # S"NULL", 
            # S$WTSAP   CTAACP   # S"NULL", 
            # S$SAPOK   CTAACP   # S"NULL", 
            # S$SPOK    CTAACP   # S"NULL", 
            # S$SDOK    CTAACP   # S"NULL", 
            # S$SPDOK   CTAACP   # S"NULL", 
            # S$CTRLOK  CTAACP   # S"NULL" ]
  
          [ # IDLE      DTAACP   # S"NULL", 
            # C$WTSAP   DTAACP   # S"NULL", 
            # C$SAPOK   DTAACP   # S"NULL", 
            # C$SCAA    DTAACP   # S"NULL", 
            # C$SDAA    DTAACP   # S"NULL", 
            # C$SCDAA   DTAACP   # S"NULL", 
            # C$CSOK    DTAACP   # S"NULL", 
            # C$WCTRL   DTAACP   # S"NULL", 
            # C$CTRLOK  DTAACP   # S"NULL", 
            # S$WTSAP   DTAACP   # S"NULL", 
            # S$SAPOK   DTAACP   # S"NULL", 
            # S$SPOK    DTAACP   # S"NULL", 
            # S$SDOK    DTAACP   # S"NULL", 
            # S$SPDOK   DTAACP   # S"NULL", 
            # S$CTRLOK  DTAACP   # S"NULL" ]
  
          [ # IDLE      CSCNECT  # S"NULL", 
            # C$WTSAP   CSCNECT  # S"NULL", 
            # C$SAPOK   CSCNECT  # S"NULL", 
            # C$SCAA    CSCNECT  # S"NULL", 
            # C$SDAA    CSCNECT  # S"NULL", 
            # C$SCDAA   CSCNECT  # S"NULL", 
            # C$CSOK    CSCNECT  # S"NULL", 
            # C$WCTRL   CSCNECT  # S"NULL", 
            # C$CTRLOK  CSCNECT  # S"NULL", 
            # S$WTSAP   CSCNECT  # S"NULL", 
            # S$SAPOK   CSCNECT  # S"NULL", 
            # S$SPOK    CSCNECT  # S"NULL", 
            # S$SDOK    CSCNECT  # S"NULL", 
            # S$SPDOK   CSCNECT  # S"NULL", 
            # S$CTRLOK  CSCNECT  # S"NULL" ]
  
          [ # IDLE      SAPBRKN  # S"NULL", 
            # C$WTSAP   SAPBRKN  # S"NULL", 
            # C$SAPOK   SAPBRKN  # S"NULL", 
            # C$SCAA    SAPBRKN  # S"NULL", 
            # C$SDAA    SAPBRKN  # S"NULL", 
            # C$SCDAA   SAPBRKN  # S"NULL", 
            # C$CSOK    SAPBRKN  # S"NULL", 
            # C$WCTRL   SAPBRKN  # S"NULL", 
            # C$CTRLOK  SAPBRKN  # S"NULL", 
            # S$WTSAP   SAPBRKN  # S"NULL", 
            # S$SAPOK   SAPBRKN  # S"NULL", 
            # S$SPOK    SAPBRKN  # S"NULL", 
            # S$SDOK    SAPBRKN  # S"NULL", 
            # S$SPDOK   SAPBRKN  # S"NULL", 
            # S$CTRLOK  SAPBRKN  # S"NULL" ]
  
          [ # IDLE      CNLOCAL  # S"NULL", 
            # C$WTSAP   CNLOCAL  # S"NULL", 
            # C$SAPOK   CNLOCAL  # S"NULL", 
            # C$SCAA    CNLOCAL  # S"NULL", 
            # C$SDAA    CNLOCAL  # S"NULL", 
            # C$SCDAA   CNLOCAL  # S"ICUVALID", 
            # C$CSOK    CNLOCAL  # S"NULL", 
            # C$WCTRL   CNLOCAL  # S"NULL", 
            # C$CTRLOK  CNLOCAL  # S"NULL", 
            # S$WTSAP   CNLOCAL  # S"NULL", 
            # S$SAPOK   CNLOCAL  # S"NULL", 
            # S$SPOK    CNLOCAL  # S"NULL", 
            # S$SDOK    CNLOCAL  # S"NULL", 
            # S$SPDOK   CNLOCAL  # S"NULL", 
            # S$CTRLOK  CNLOCAL  # S"NULL" ]
  
          [ # IDLE      CNREMOTE # S"NULL", 
            # C$WTSAP   CNREMOTE # S"NULL", 
            # C$SAPOK   CNREMOTE # S"NULL", 
            # C$SCAA    CNREMOTE # S"NULL", 
            # C$SDAA    CNREMOTE # S"NULL", 
            # C$SCDAA   CNREMOTE # S"NULL", 
            # C$CSOK    CNREMOTE # S"NULL", 
            # C$WCTRL   CNREMOTE # S"NULL", 
            # C$CTRLOK  CNREMOTE # S"NULL", 
            # S$WTSAP   CNREMOTE # S"NULL", 
            # S$SAPOK   CNREMOTE # S"NULL", 
            # S$SPOK    CNREMOTE # S"NULL", 
            # S$SDOK    CNREMOTE # S"NULL", 
            # S$SPDOK   CNREMOTE # S"NULL", 
            # S$CTRLOK  CNREMOTE # S"NULL" ]
  
          [ # IDLE      CNRMINVD # S"NULL", 
            # C$WTSAP   CNRMINVD # S"NULL", 
            # C$SAPOK   CNRMINVD # S"NULL", 
            # C$SCAA    CNRMINVD # S"NULL", 
            # C$SDAA    CNRMINVD # S"NULL", 
            # C$SCDAA   CNRMINVD # S"NULL", 
            # C$CSOK    CNRMINVD # S"NULL", 
            # C$WCTRL   CNRMINVD # S"NULL", 
            # C$CTRLOK  CNRMINVD # S"NULL", 
            # S$WTSAP   CNRMINVD # S"NULL", 
            # S$SAPOK   CNRMINVD # S"NULL", 
            # S$SPOK    CNRMINVD # S"NULL", 
            # S$SDOK    CNRMINVD # S"NULL", 
            # S$SPDOK   CNRMINVD # S"NULL", 
            # S$CTRLOK  CNRMINVD # S"NULL" ]
  
          [ # IDLE      CTCNACFL # S"NULL", 
            # C$WTSAP   CTCNACFL # S"NULL", 
            # C$SAPOK   CTCNACFL # S"NULL", 
            # C$SCAA    CTCNACFL # S"NULL", 
            # C$SDAA    CTCNACFL # S"NULL", 
            # C$SCDAA   CTCNACFL # S"NULL", 
            # C$CSOK    CTCNACFL # S"NULL", 
            # C$WCTRL   CTCNACFL # S"NULL", 
            # C$CTRLOK  CTCNACFL # S"NULL", 
            # S$WTSAP   CTCNACFL # S"NULL", 
            # S$SAPOK   CTCNACFL # S"NULL", 
            # S$SPOK    CTCNACFL # S"NULL", 
            # S$SDOK    CTCNACFL # S"NULL", 
            # S$SPDOK   CTCNACFL # S"NULL", 
            # S$CTRLOK  CTCNACFL # S"NULL"  ] 
  
          [ # IDLE      CTCNCP   # S"NULL", 
            # C$WTSAP   CTCNCP   # S"NULL", 
            # C$SAPOK   CTCNCP   # S"NULL", 
            # C$SCAA    CTCNCP   # S"NULL", 
            # C$SDAA    CTCNCP   # S"NULL", 
            # C$SCDAA   CTCNCP   # S"NULL", 
            # C$CSOK    CTCNCP   # S"NULL", 
            # C$WCTRL   CTCNCP   # S"ICCONCMP", 
            # C$CTRLOK  CTCNCP   # S"NULL", 
            # S$WTSAP   CTCNCP   # S"NULL", 
            # S$SAPOK   CTCNCP   # S"NULL", 
            # S$SPOK    CTCNCP   # S"NULL", 
            # S$SDOK    CTCNCP   # S"NULL", 
            # S$SPDOK   CTCNCP   # S"ICCONCMP", 
            # S$CTRLOK  CTCNCP   # S"NULL" ]
  
          [ # IDLE      SDREMOTE # S"NULL", 
            # C$WTSAP   SDREMOTE # S"NULL", 
            # C$SAPOK   SDREMOTE # S"NULL", 
            # C$SCAA    SDREMOTE # S"NULL", 
            # C$SDAA    SDREMOTE # S"NULL", 
            # C$SCDAA   SDREMOTE # S"NULL", 
            # C$CSOK    SDREMOTE # S"NULL", 
            # C$WCTRL   SDREMOTE # S"NULL", 
            # C$CTRLOK  SDREMOTE # S"NULL", 
            # S$WTSAP   SDREMOTE # S"NULL", 
            # S$SAPOK   SDREMOTE # S"NULL", 
            # S$SPOK    SDREMOTE # S"NULL", 
            # S$SDOK    SDREMOTE # S"NULL", 
            # S$SPDOK   SDREMOTE # S"NULL", 
            # S$CTRLOK  SDREMOTE # S"NULL" ]
  
          [ # IDLE      SDLOCAL  # S"NULL", 
            # C$WTSAP   SDLOCAL  # S"NULL", 
            # C$SAPOK   SDLOCAL  # S"NULL", 
            # C$SCAA    SDLOCAL  # S"NULL", 
            # C$SDAA    SDLOCAL  # S"NULL", 
            # C$SCDAA   SDLOCAL  # S"NULL", 
            # C$CSOK    SDLOCAL  # S"NULL", 
            # C$WCTRL   SDLOCAL  # S"NULL", 
            # C$CTRLOK  SDLOCAL  # S"ICDATAV",
            # S$WTSAP   SDLOCAL  # S"NULL", 
            # S$SAPOK   SDLOCAL  # S"NULL", 
            # S$SPOK    SDLOCAL  # S"NULL", 
            # S$SDOK    SDLOCAL  # S"NULL", 
            # S$SPDOK   SDLOCAL  # S"NULL", 
            # S$CTRLOK  SDLOCAL  # S"NULL" ]
  
          [ # IDLE      CSBRKN   # S"NULL", 
            # C$WTSAP   CSBRKN   # S"NULL", 
            # C$SAPOK   CSBRKN   # S"NULL", 
            # C$SCAA    CSBRKN   # S"NULL", 
            # C$SDAA    CSBRKN   # S"NULL", 
            # C$SCDAA   CSBRKN   # S"NULL", 
            # C$CSOK    CSBRKN   # S"NULL", 
            # C$WCTRL   CSBRKN   # S"NULL", 
            # C$CTRLOK  CSBRKN   # S"NULL", 
            # S$WTSAP   CSBRKN   # S"NULL", 
            # S$SAPOK   CSBRKN   # S"NULL", 
            # S$SPOK    CSBRKN   # S"NULL", 
            # S$SDOK    CSBRKN   # S"NULL", 
            # S$SPDOK   CSBRKN   # S"NULL", 
            # S$CTRLOK  CSBRKN   # S"NULL" ]
  
          [ # IDLE      AACTBRKN # S"NULL", 
            # C$WTSAP   AACTBRKN # S"NULL", 
            # C$SAPOK   AACTBRKN # S"NULL", 
            # C$SCAA    AACTBRKN # S"NULL", 
            # C$SDAA    AACTBRKN # S"NULL", 
            # C$SCDAA   AACTBRKN # S"NULL", 
            # C$CSOK    AACTBRKN # S"NULL", 
            # C$WCTRL   AACTBRKN # S"NULL", 
            # C$CTRLOK  AACTBRKN # S"NULL", 
            # S$WTSAP   AACTBRKN # S"NULL", 
            # S$SAPOK   AACTBRKN # S"NULL", 
            # S$SPOK    AACTBRKN # S"NULL", 
            # S$SDOK    AACTBRKN # S"NULL", 
            # S$SPDOK   AACTBRKN # S"NULL", 
            # S$CTRLOK  AACTBRKN # S"NULL" ]
  
          [ # IDLE      AADTBRKN # S"NULL", 
            # C$WTSAP   AADTBRKN # S"NULL", 
            # C$SAPOK   AADTBRKN # S"NULL", 
            # C$SCAA    AADTBRKN # S"NULL", 
            # C$SDAA    AADTBRKN # S"NULL", 
            # C$SCDAA   AADTBRKN # S"NULL", 
            # C$CSOK    AADTBRKN # S"NULL", 
            # C$WCTRL   AADTBRKN # S"NULL", 
            # C$CTRLOK  AADTBRKN # S"NULL", 
            # S$WTSAP   AADTBRKN # S"NULL", 
            # S$SAPOK   AADTBRKN # S"NULL", 
            # S$SPOK    AADTBRKN # S"NULL", 
            # S$SDOK    AADTBRKN # S"NULL", 
            # S$SPDOK   AADTBRKN # S"NULL", 
            # S$CTRLOK  AADTBRKN # S"NULL" ]
  
          [ # IDLE      SHUTSLOW # S"NULL", 
            # C$WTSAP   SHUTSLOW # S"NULL", 
            # C$SAPOK   SHUTSLOW # S"NULL", 
            # C$SCAA    SHUTSLOW # S"NULL", 
            # C$SDAA    SHUTSLOW # S"NULL", 
            # C$SCDAA   SHUTSLOW # S"NULL", 
            # C$CSOK    SHUTSLOW # S"NULL", 
            # C$WCTRL   SHUTSLOW # S"NULL", 
            # C$CTRLOK  SHUTSLOW # S"NULL", 
            # S$WTSAP   SHUTSLOW # S"NULL", 
            # S$SAPOK   SHUTSLOW # S"NULL", 
            # S$SPOK    SHUTSLOW # S"NULL", 
            # S$SDOK    SHUTSLOW # S"NULL", 
            # S$SPDOK   SHUTSLOW # S"NULL", 
            # S$CTRLOK  SHUTSLOW # S"NULL" ]
  
          [ # IDLE      SHUTFAST # S"NULL", 
            # C$WTSAP   SHUTFAST # S"NULL", 
            # C$SAPOK   SHUTFAST # S"NULL", 
            # C$SCAA    SHUTFAST # S"NULL", 
            # C$SDAA    SHUTFAST # S"NULL", 
            # C$SCDAA   SHUTFAST # S"NULL", 
            # C$CSOK    SHUTFAST # S"NULL", 
            # C$WCTRL   SHUTFAST # S"NULL", 
            # C$CTRLOK  SHUTFAST # S"NULL", 
            # S$WTSAP   SHUTFAST # S"NULL", 
            # S$SAPOK   SHUTFAST # S"NULL", 
            # S$SPOK    SHUTFAST # S"NULL", 
            # S$SDOK    SHUTFAST # S"NULL", 
            # S$SPDOK   SHUTFAST # S"NULL", 
            # S$CTRLOK  SHUTFAST # S"NULL" ]
  
          [ # IDLE      ABDTCNRQ # S"NULL", 
            # C$WTSAP   ABDTCNRQ # S"NULL", 
            # C$SAPOK   ABDTCNRQ # S"NULL", 
            # C$SCAA    ABDTCNRQ # S"NULL", 
            # C$SDAA    ABDTCNRQ # S"NULL", 
            # C$SCDAA   ABDTCNRQ # S"NULL", 
            # C$CSOK    ABDTCNRQ # S"NULL", 
            # C$WCTRL   ABDTCNRQ # S"NULL", 
            # C$CTRLOK  ABDTCNRQ # S"NULL", 
            # S$WTSAP   ABDTCNRQ # S"NULL", 
            # S$SAPOK   ABDTCNRQ # S"NULL", 
            # S$SPOK    ABDTCNRQ # S"NULL", 
            # S$SDOK    ABDTCNRQ # S"NULL", 
            # S$SPDOK   ABDTCNRQ # S"NULL", 
            # S$CTRLOK  ABDTCNRQ # S"NULL" ]
  
          [ # IDLE      CLCTIND  # S"NULL", 
            # C$WTSAP   CLCTIND  # S"NULL", 
            # C$SAPOK   CLCTIND  # S"NULL", 
            # C$SCAA    CLCTIND  # S"NULL", 
            # C$SDAA    CLCTIND  # S"NULL", 
            # C$SCDAA   CLCTIND  # S"NULL", 
            # C$CSOK    CLCTIND  # S"NULL", 
            # C$WCTRL   CLCTIND  # S"NULL", 
            # C$CTRLOK  CLCTIND  # S"ICCONCLSD",
            # S$WTSAP   CLCTIND  # S"NULL", 
            # S$SAPOK   CLCTIND  # S"NULL", 
            # S$SPOK    CLCTIND  # S"NULL", 
            # S$SDOK    CLCTIND  # S"NULL", 
            # S$SPDOK   CLCTIND  # S"NULL", 
            # S$CTRLOK  CLCTIND  # S"NULL" ]
  
          [ # IDLE      CTPCEST  # S"NULL", 
            # C$WTSAP   CTPCEST  # S"NULL", 
            # C$SAPOK   CTPCEST  # S"NULL", 
            # C$SCAA    CTPCEST  # S"NULL", 
            # C$SDAA    CTPCEST  # S"NULL", 
            # C$SCDAA   CTPCEST  # S"NULL", 
            # C$CSOK    CTPCEST  # S"NULL", 
            # C$WCTRL   CTPCEST  # S"NULL", 
            # C$CTRLOK  CTPCEST  # S"NULL", 
            # S$WTSAP   CTPCEST  # S"NULL", 
            # S$SAPOK   CTPCEST  # S"NULL", 
            # S$SPOK    CTPCEST  # S"NULL", 
            # S$SDOK    CTPCEST  # S"NULL", 
            # S$SPDOK   CTPCEST  # S"NULL", 
            # S$CTRLOK  CTPCEST  # S"NULL" ]
  
          [ # IDLE      SDDTRQ   # S"NULL", 
            # C$WTSAP   SDDTRQ   # S"NULL", 
            # C$SAPOK   SDDTRQ   # S"NULL", 
            # C$SCAA    SDDTRQ   # S"NULL", 
            # C$SDAA    SDDTRQ   # S"NULL", 
            # C$SCDAA   SDDTRQ   # S"NULL", 
            # C$CSOK    SDDTRQ   # S"NULL", 
            # C$WCTRL   SDDTRQ   # S"NULL", 
            # C$CTRLOK  SDDTRQ   # S"NULL", 
            # S$WTSAP   SDDTRQ   # S"NULL", 
            # S$SAPOK   SDDTRQ   # S"NULL", 
            # S$SPOK    SDDTRQ   # S"NULL", 
            # S$SDOK    SDDTRQ   # S"NULL", 
            # S$SPDOK   SDDTRQ   # S"NULL", 
            # S$CTRLOK  SDDTRQ   # S"NULL" ]
  
          [ # IDLE      INITPCRQ # S"NULL", 
            # C$WTSAP   INITPCRQ # S"NULL", 
            # C$SAPOK   INITPCRQ # S"NULL", 
            # C$SCAA    INITPCRQ # S"NULL", 
            # C$SDAA    INITPCRQ # S"NULL", 
            # C$SCDAA   INITPCRQ # S"NULL", 
            # C$CSOK    INITPCRQ # S"NULL", 
            # C$WCTRL   INITPCRQ # S"NULL", 
            # C$CTRLOK  INITPCRQ # S"NULL", 
            # S$WTSAP   INITPCRQ # S"NULL", 
            # S$SAPOK   INITPCRQ # S"NULL", 
            # S$SPOK    INITPCRQ # S"NULL", 
            # S$SDOK    INITPCRQ # S"NULL", 
            # S$SPDOK   INITPCRQ # S"NULL", 
            # S$CTRLOK  INITPCRQ # S"NULL" ]
  
          [ # IDLE      INITACRQ # S"NULL", 
            # C$WTSAP   INITACRQ # S"NULL", 
            # C$SAPOK   INITACRQ # S"NULL", 
            # C$SCAA    INITACRQ # S"NULL", 
            # C$SDAA    INITACRQ # S"NULL", 
            # C$SCDAA   INITACRQ # S"NULL", 
            # C$CSOK    INITACRQ # S"NULL", 
            # C$WCTRL   INITACRQ # S"NULL", 
            # C$CTRLOK  INITACRQ # S"NULL", 
            # S$WTSAP   INITACRQ # S"NULL", 
            # S$SAPOK   INITACRQ # S"NULL", 
            # S$SPOK    INITACRQ # S"NULL", 
            # S$SDOK    INITACRQ # S"NULL", 
            # S$SPDOK   INITACRQ # S"NULL", 
            # S$CTRLOK  INITACRQ # S"NULL" ]
  
          [ # IDLE      DTCNCMPL # S"NULL", 
            # C$WTSAP   DTCNCMPL # S"NULL", 
            # C$SAPOK   DTCNCMPL # S"NULL", 
            # C$SCAA    DTCNCMPL # S"NULL", 
            # C$SDAA    DTCNCMPL # S"NULL", 
            # C$SCDAA   DTCNCMPL # S"NULL", 
            # C$CSOK    DTCNCMPL # S"NULL", 
            # C$WCTRL   DTCNCMPL # S"NULL", 
            # C$CTRLOK  DTCNCMPL # S"ICCONCMP", 
            # S$WTSAP   DTCNCMPL # S"NULL", 
            # S$SAPOK   DTCNCMPL # S"NULL", 
            # S$SPOK    DTCNCMPL # S"NULL", 
            # S$SDOK    DTCNCMPL # S"NULL", 
            # S$SPDOK   DTCNCMPL # S"NULL", 
            # S$CTRLOK  DTCNCMPL # S"ICCONCMP" ]
  
          [ # IDLE      DTPCEST  # S"NULL", 
            # C$WTSAP   DTPCEST  # S"NULL", 
            # C$SAPOK   DTPCEST  # S"NULL", 
            # C$SCAA    DTPCEST  # S"NULL", 
            # C$SDAA    DTPCEST  # S"NULL", 
            # C$SCDAA   DTPCEST  # S"NULL", 
            # C$CSOK    DTPCEST  # S"NULL", 
            # C$WCTRL   DTPCEST  # S"NULL", 
            # C$CTRLOK  DTPCEST  # S"ICPASVCONE", 
            # S$WTSAP   DTPCEST  # S"NULL", 
            # S$SAPOK   DTPCEST  # S"NULL", 
            # S$SPOK    DTPCEST  # S"NULL", 
            # S$SDOK    DTPCEST  # S"NULL", 
            # S$SPDOK   PCPCEST  # S"NULL", 
            # S$CTRLOK  PCPCEST  # S"ICPASVCONE" ]
  
          [ # IDLE      CTDTAVL  # S"NULL", 
            # C$WTSAP   CTDTAVL  # S"NULL", 
            # C$SAPOK   CTDTAVL  # S"NULL", 
            # C$SCAA    CTDTAVL  # S"NULL", 
            # C$SDAA    CTDTAVL  # S"NULL", 
            # C$SCDAA   CTDTAVL  # S"NULL", 
            # C$CSOK    CTDTAVL  # S"NULL", 
            # C$WCTRL   CTDTAVL  # S"NULL", 
            # C$CTRLOK  CTDTAVL  # S"NULL", 
            # S$WTSAP   CTDTAVL  # S"NULL", 
            # S$SAPOK   CTDTAVL  # S"NULL", 
            # S$SPOK    CTDTAVL  # S"NULL", 
            # S$SDOK    CTDTAVL  # S"NULL", 
            # S$SPDOK   CTDTAVL  # S"NULL", 
            # S$CTRLOK  CTDTAVL  # S"ICDATAV" ] 
  
          [ # IDLE      DTDTAVL  # S"NULL", 
            # C$WTSAP   DTDTAVL  # S"NULL", 
            # C$SAPOK   DTDTAVL  # S"NULL", 
            # C$SCAA    DTDTAVL  # S"NULL", 
            # C$SDAA    DTDTAVL  # S"NULL", 
            # C$SCDAA   DTDTAVL  # S"NULL", 
            # C$CSOK    DTDTAVL  # S"NULL", 
            # C$WCTRL   DTDTAVL  # S"NULL", 
            # C$CTRLOK  DTDTAVL  # S"ICDATAV",
            # S$WTSAP   DTDTAVL  # S"NULL", 
            # S$SAPOK   DTDTAVL  # S"NULL", 
            # S$SPOK    DTDTAVL  # S"NULL", 
            # S$SDOK    DTDTAVL  # S"NULL", 
            # S$SPDOK   DTDTAVL  # S"NULL", 
            # S$CTRLOK  DTDTAVL  # S"ICDATAV" ] 
  
          [ # IDLE      FLCTREL  # S"NULL", 
            # C$WTSAP   FLCTREL  # S"NULL", 
            # C$SAPOK   FLCTREL  # S"NULL", 
            # C$SCAA    FLCTREL  # S"NULL", 
            # C$SDAA    FLCTREL  # S"NULL", 
            # C$SCDAA   FLCTREL  # S"NULL", 
            # C$CSOK    FLCTREL  # S"NULL", 
            # C$WCTRL   FLCTREL  # S"NULL", 
            # C$CTRLOK  FLCTREL  # S"ICFCREL",
            # S$WTSAP   FLCTREL  # S"NULL", 
            # S$SAPOK   FLCTREL  # S"NULL", 
            # S$SPOK    FLCTREL  # S"NULL", 
            # S$SDOK    FLCTREL  # S"NULL", 
            # S$SPDOK   FLCTREL  # S"NULL", 
            # S$CTRLOK  FLCTREL  # S"ICFCREL" ] 
  
          [ # IDLE      NODTOUT  # S"NULL", 
            # C$WTSAP   NODTOUT  # S"NULL", 
            # C$SAPOK   NODTOUT  # S"NULL", 
            # C$SCAA    NODTOUT  # S"NULL", 
            # C$SDAA    NODTOUT  # S"NULL", 
            # C$SCDAA   NODTOUT  # S"NULL", 
            # C$CSOK    NODTOUT  # S"NULL", 
            # C$WCTRL   NODTOUT  # S"NULL", 
            # C$CTRLOK  NODTOUT  # S"ICNODATA", 
            # S$WTSAP   NODTOUT  # S"NULL", 
            # S$SAPOK   NODTOUT  # S"NULL", 
            # S$SPOK    NODTOUT  # S"NULL", 
            # S$SDOK    NODTOUT  # S"NULL", 
            # S$SPDOK   NODTOUT  # S"NULL", 
            # S$CTRLOK  NODTOUT  # S"ICNODATA" ]
  
          [ # IDLE      CLDTCNRQ # S"NULL", 
            # C$WTSAP   CLDTCNRQ # S"NULL", 
            # C$SAPOK   CLDTCNRQ # S"NULL", 
            # C$SCAA    CLDTCNRQ # S"NULL", 
            # C$SDAA    CLDTCNRQ # S"NULL", 
            # C$SCDAA   CLDTCNRQ # S"NULL", 
            # C$CSOK    CLDTCNRQ # S"NULL", 
            # C$WCTRL   CLDTCNRQ # S"NULL", 
            # C$CTRLOK  CLDTCNRQ # S"NULL", 
            # S$WTSAP   CLDTCNRQ # S"NULL", 
            # S$SAPOK   CLDTCNRQ # S"NULL", 
            # S$SPOK    CLDTCNRQ # S"NULL", 
            # S$SDOK    CLDTCNRQ # S"NULL", 
            # S$SPDOK   CLDTCNRQ # S"NULL", 
            # S$CTRLOK  CLDTCNRQ # S"NULL" ]
  
          [ # IDLE      CLCTCNRQ # S"NULL", 
            # C$WTSAP   CLCTCNRQ # S"NULL", 
            # C$SAPOK   CLCTCNRQ # S"NULL", 
            # C$SCAA    CLCTCNRQ # S"NULL", 
            # C$SDAA    CLCTCNRQ # S"NULL", 
            # C$SCDAA   CLCTCNRQ # S"NULL", 
            # C$CSOK    CLCTCNRQ # S"NULL", 
            # C$WCTRL   CLCTCNRQ # S"NULL", 
            # C$CTRLOK  CLCTCNRQ # S"NULL", 
            # S$WTSAP   CLCTCNRQ # S"NULL", 
            # S$SAPOK   CLCTCNRQ # S"NULL", 
            # S$SPOK    CLCTCNRQ # S"NULL", 
            # S$SDOK    CLCTCNRQ # S"NULL", 
            # S$SPDOK   CLCTCNRQ # S"NULL", 
            # S$CTRLOK  CLCTCNRQ # S"NULL" ]
  
          [ # IDLE      CLDTIND  # S"NULL", 
            # C$WTSAP   CLDTIND  # S"NULL", 
            # C$SAPOK   CLDTIND  # S"NULL", 
            # C$SCAA    CLDTIND  # S"NULL", 
            # C$SDAA    CLDTIND  # S"NULL", 
            # C$SCDAA   CLDTIND  # S"NULL", 
            # C$CSOK    CLDTIND  # S"NULL", 
            # C$WCTRL   CLDTIND  # S"NULL", 
            # C$CTRLOK  CLDTIND  # S"ICCONCLSD",
            # S$WTSAP   CLDTIND  # S"NULL", 
            # S$SAPOK   CLDTIND  # S"NULL", 
            # S$SPOK    CLDTIND  # S"NULL", 
            # S$SDOK    CLDTIND  # S"NULL", 
            # S$SPDOK   CLDTIND  # S"NULL", 
            # S$CTRLOK  CLDTIND  # S"ICCONCLSD" ] 
  
          [ # IDLE      DTCNACFL # S"NULL", 
            # C$WTSAP   DTCNACFL # S"NULL", 
            # C$SAPOK   DTCNACFL # S"NULL", 
            # C$SCAA    DTCNACFL # S"NULL", 
            # C$SDAA    DTCNACFL # S"NULL", 
            # C$SCDAA   DTCNACFL # S"NULL", 
            # C$CSOK    DTCNACFL # S"NULL", 
            # C$WCTRL   DTCNACFL # S"NULL", 
            # C$CTRLOK  DTCNACFL # S"NULL", 
            # S$WTSAP   DTCNACFL # S"NULL", 
            # S$SAPOK   DTCNACFL # S"NULL", 
            # S$SPOK    DTCNACFL # S"NULL", 
            # S$SDOK    DTCNACFL # S"NULL", 
            # S$SPDOK   DTCNACFL # S"NULL", 
            # S$CTRLOK  DTCNACFL # S"ICACFAIL" ]
  
          [ # IDLE      CTCNABID # S"NULL", 
            # C$WTSAP   CTCNABID # S"NULL", 
            # C$SAPOK   CTCNABID # S"NULL", 
            # C$SCAA    CTCNABID # S"NULL", 
            # C$SDAA    CTCNABID # S"NULL", 
            # C$SCDAA   CTCNABID # S"NULL", 
            # C$CSOK    CTCNABID # S"NULL", 
            # C$WCTRL   CTCNABID # S"NULL", 
            # C$CTRLOK  CTCNABID # S"ICCONABT", 
            # S$WTSAP   CTCNABID # S"NULL", 
            # S$SAPOK   CTCNABID # S"NULL", 
            # S$SPOK    CTCNABID # S"NULL", 
            # S$SDOK    CTCNABID # S"NULL", 
            # S$SPDOK   CTCNABID # S"NULL", 
            # S$CTRLOK  CTCNABID # S"NULL" ]
  
          [ # IDLE      DTCNABID # S"NULL", 
            # C$WTSAP   DTCNABID # S"NULL", 
            # C$SAPOK   DTCNABID # S"NULL", 
            # C$SCAA    DTCNABID # S"NULL", 
            # C$SDAA    DTCNABID # S"NULL", 
            # C$SCDAA   DTCNABID # S"NULL", 
            # C$CSOK    DTCNABID # S"NULL", 
            # C$WCTRL   DTCNABID # S"NULL", 
            # C$CTRLOK  DTCNABID # S"ICCONABT", 
            # S$WTSAP   DTCNABID # S"NULL", 
            # S$SAPOK   DTCNABID # S"NULL", 
            # S$SPOK    DTCNABID # S"NULL", 
            # S$SDOK    DTCNABID # S"NULL", 
            # S$SPDOK   DTCNABID # S"NULL", 
            # S$CTRLOK  DTCNABID # S"ICCONABT" ]
  
          [ # IDLE      DTCNABSO # S"NULL", 
            # C$WTSAP   DTCNABSO # S"NULL", 
            # C$SAPOK   DTCNABSO # S"NULL", 
            # C$SCAA    DTCNABSO # S"NULL", 
            # C$SDAA    DTCNABSO # S"NULL", 
            # C$SCDAA   DTCNABSO # S"NULL", 
            # C$CSOK    DTCNABSO # S"ICCONABS", 
            # C$WCTRL   DTCNABSO # S"NULL", 
            # C$CTRLOK  DTCNABSO # S"ICCONABS", 
            # S$WTSAP   DTCNABSO # S"NULL", 
            # S$SAPOK   DTCNABSO # S"NULL", 
            # S$SPOK    DTCNABSO # S"NULL", 
            # S$SDOK    DTCNABSO # S"NULL", 
            # S$SPDOK   DTCNABSO # S"NULL", 
            # S$CTRLOK  DTCNABSO # S"ICCONABS" ]
  
          [ # IDLE      ABTXFR   # S"NULL", 
            # C$WTSAP   ABTXFR   # S"NULL", 
            # C$SAPOK   ABTXFR   # S"NULL", 
            # C$SCAA    ABTXFR   # S"NULL", 
            # C$SDAA    ABTXFR   # S"NULL", 
            # C$SCDAA   ABTXFR   # S"NULL", 
            # C$CSOK    ABTXFR   # S"NULL", 
            # C$WCTRL   ABTXFR   # S"NULL", 
            # C$CTRLOK  ABTXFR   # S"ICABTXFR", 
            # S$WTSAP   ABTXFR   # S"NULL", 
            # S$SAPOK   ABTXFR   # S"NULL", 
            # S$SPOK    ABTXFR   # S"NULL", 
            # S$SDOK    ABTXFR   # S"NULL", 
            # S$SPDOK   ABTXFR   # S"NULL", 
            # S$CTRLOK  ABTXFR   # S"NULL" ]
  
          [ # IDLE      CNCLVAL  # S"NULL", 
            # C$WTSAP   CNCLVAL  # S"NULL", 
            # C$SAPOK   CNCLVAL  # S"NULL", 
            # C$SCAA    CNCLVAL  # S"NULL", 
            # C$SDAA    CNCLVAL  # S"NULL", 
            # C$SCDAA   CNCLVAL  # S"NULL", 
            # C$CSOK    CNCLVAL  # S"NULL", 
            # C$WCTRL   CNCLVAL  # S"NULL", 
            # C$CTRLOK  CNCLVAL  # S"NULL", 
            # S$WTSAP   CNCLVAL  # S"NULL", 
            # S$SAPOK   CNCLVAL  # S"NULL", 
            # S$SPOK    CNCLVAL  # S"NULL", 
            # S$SDOK    CNCLVAL  # S"NULL", 
            # S$SPDOK   CNCLVAL  # S"NULL", 
            # S$CTRLOK  CNCLVAL  # S"NULL" ]
  
          [ # IDLE      CNCLBAD  # S"NULL", 
            # C$WTSAP   CNCLBAD  # S"NULL", 
            # C$SAPOK   CNCLBAD  # S"NULL", 
            # C$SCAA    CNCLBAD  # S"NULL", 
            # C$SDAA    CNCLBAD  # S"NULL", 
            # C$SCDAA   CNCLBAD  # S"NULL", 
            # C$CSOK    CNCLBAD  # S"NULL", 
            # C$WCTRL   CNCLBAD  # S"NULL", 
            # C$CTRLOK  CNCLBAD  # S"NULL", 
            # S$WTSAP   CNCLBAD  # S"NULL", 
            # S$SAPOK   CNCLBAD  # S"NULL", 
            # S$SPOK    CNCLBAD  # S"NULL", 
            # S$SDOK    CNCLBAD  # S"NULL", 
            # S$SPDOK   CNCLBAD  # S"NULL", 
            # S$CTRLOK  CNCLBAD  # S"NULL" ]
  
          [ # IDLE      RDDDCN   # S"NULL", 
            # C$WTSAP   RDDDCN   # S"NULL", 
            # C$SAPOK   RDDDCN   # S"NULL", 
            # C$SCAA    RDDDCN   # S"NULL", 
            # C$SDAA    RDDDCN   # S"NULL", 
            # C$SCDAA   RDDDCN   # S"NULL", 
            # C$CSOK    RDDDCN   # S"NULL", 
            # C$WCTRL   RDDDCN   # S"NULL", 
            # C$CTRLOK  RDDDCN   # S"NULL", 
            # S$WTSAP   RDDDCN   # S"NULL", 
            # S$SAPOK   RDDDCN   # S"NULL", 
            # S$SPOK    RDDDCN   # S"NULL", 
            # S$SDOK    RDDDCN   # S"NULL", 
            # S$SPDOK   RDDDCN   # S"NULL", 
            # S$CTRLOK  RDDDCN   # S"NULL" ]
  
          [ # IDLE      SDDDCN   # S"NULL", 
            # C$WTSAP   SDDDCN   # S"NULL", 
            # C$SAPOK   SDDDCN   # S"NULL", 
            # C$SCAA    SDDDCN   # S"NULL", 
            # C$SDAA    SDDDCN   # S"NULL", 
            # C$SCDAA   SDDDCN   # S"NULL", 
            # C$CSOK    SDDDCN   # S"NULL", 
            # C$WCTRL   SDDDCN   # S"NULL", 
            # C$CTRLOK  SDDDCN   # S"NULL", 
            # S$WTSAP   SDDDCN   # S"NULL", 
            # S$SAPOK   SDDDCN   # S"NULL", 
            # S$SPOK    SDDDCN   # S"NULL", 
            # S$SDOK    SDDDCN   # S"NULL", 
            # S$SPDOK   SDDDCN   # S"NULL", 
            # S$CTRLOK  SDDDCN   # S"NULL" ]];
  
        END                            # FCM$ST$TBL                    #
  
# 
*     THE ACTION JUMP SWITCH
# 
      SWITCH ACTION$SW : FCA$ 
        LAB$NOOP     : FCA$NOOP,     # NO ACTION                      # 
        LAB$ABORT    : FCA$ABORT,    # ABORT THE APPLICATION          # 
        LAB$OPSAPRQ  : FCA$OPSAPRQ,  # ISSUE OPEN SAP REQUEST         # 
        LAB$INITCDAA : FCA$INITCDAA, # INITIATE CTRL AND DATA A-A     # 
        LAB$INITPDAA : FCA$INITPDAA, # INITIATE PC AND DATA A-A       # 
        LAB$LSTONCS  : FCA$LSTONCS,  # REQUEST LST/ON ON CS CN        # 
        LAB$LSTONCT  : FCA$LSTONCT,  # REQUEST LST/ON ON CTRL CN      # 
        LAB$DFINIT   : FCA$DFINIT,   # DAYFILE FTPS INITIALIZED.      # 
        LAB$SPAWN    : FCA$SPAWN,    # SPAWN A COPY OF ITSELF         # 
        LAB$SPWLONCS : FCA$SPWLONCS, # SPAWN AND LST/ON ON CS CN      # 
        LAB$RESTART  : FCA$RESTART,  # NETOFF AND RESTART             # 
        LAB$NETOFF   : FCA$NETOFF,   # NETOFF                         # 
        LAB$CNLCRSP  : FCA$CNLCRSP,  # CONNECT LOCAL NORMAL RESPONSE  # 
        LAB$CNLCBAD  : FCA$CNLCBAD,  # CONNECT LOCAL ABNORMAL RESPONSE# 
        LAB$INITACCT : FCA$INITACCT, # INITIATE AC ON CTRL CN         # 
        LAB$ABRMCNRP : FCA$ABRMCNRP, # ABNORMAL REMOTE CONNECT RSP    # 
        LAB$NMRMCNRP : FCA$NMRMCNRP, # NORMAL REMOTE CONNECT RSP      # 
        LAB$FWDONCT  : FCA$FWDONCT,  # FORWARD ON CTRL CN             # 
        LAB$FWDTOFTP : FCA$FWDTOFTP, # FORWARD TO FTP LAYER (NO HDDR) # 
        LAB$AACTCNRQ : FCA$AACTCNRQ, # ISSUE A-A REQUEST FOR CTRL CN  # 
        LAB$PCCTCNRQ : FCA$PCCTCNRQ, # ISSUE PC REQUEST FOR CTRL CN   # 
        LAB$AADTCNRQ : FCA$AADTCNRQ, # ISSUE A-A REQUEST FOR DATA     # 
        LAB$LOFFCTPC : FCA$LOFFCTPC, # REQUEST LST/OFF ON CTRL PC CN  # 
        LAB$SDABRQ   : FCA$SDABRQ,   # SEND ABORT REQUEST             # 
        LAB$INITSDRQ : FCA$INITSDRQ, # INITIATE SEND REQUEST          # 
        LAB$INITPCDT : FCA$INITPCDT, # INITIATE PC ON DATA CN         # 
        LAB$INITACDT : FCA$INITACDT, # INITIATE AC ON DATA CN         # 
        LAB$FWDTOCS  : FCA$FWDTOCS,  # FORWARD TO CONTROL STATEMENT   # 
        LAB$PASSDTUP : FCA$PASSDTUP, # PASS DATA UP TO FTP LAYER      # 
        LAB$CLCNRQ   : FCA$CLCNRQ,   # ISSUE CLOSE DATA CN REQUEST    # 
        LAB$PASSIND  : FCA$PASSIND,  # PASS UP THE DESIRED INDICATION # 
        LAB$NOTIFYCS : FCA$NOTIFYCS, # NOTIFY C/S OF CTRL C/N DISCONNT# 
        LAB$LSTOND   : FCA$LSTOND,   # LST/ON DATA CONNECTION         # 
        LAB$LSTOFFD  : FCA$LSTOFFD,  # LST/OFF DATA CONNECTION        # 
        LAB$END      : FCA$END;      # END OF FCMA                    # 
  
  
      CONTROL EJECT;
# 
*     START MAIN PROCEDURE
# 
      ACTION = FCM$ACT [FCM$CUR$ST,TRIG];        # DETERMINE ACTION   # 
  
      GOTO ACTION$SW [ACTION];                   # AND GO DO IT.      # 
  
  
LAB$NOOP:                            # NO ACTION                      # 
  
      GOTO LAB$END; 
  
  
LAB$ABORT:                           # ABORT THE APPLICATION          # 
  
      ABT$STCD = XCDD (FCM$CUR$ST);  # CURRENT SATE CODE              # 
      ABT$TRGCD = XCDD (TRIG);       # CURRENT TRIGGER CODE           # 
      FFSEABT (STTBABT);             # DAYFILE ERROR MSG THEN ABORT   # 
  
      GOTO LAB$END; 
  
  
LAB$OPSAPRQ:                         # ISSUE OPEN SAP REQUEST         # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTOPENSAP";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTSAP"; 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITCDAA:                        # INIT CTRL A-A AND DATA A-A     # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCONGW";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCONGW";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITPDAA:                        # INIT PC(NO A-A) AND DATA A-A   # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTIPCONO";  #CTRL PC, NO PREVIOUS A-A# 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCONGW";              # DATA A-A    # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$LSTONCS:                         # REQUEST LST/ON ON CS CN        # 
  
      IF FFSBCNE (CTYPE"CTCS")       # IF CS CONNECTION EXISTS        # 
      THEN
        BEGIN 
        REQ$RCODE [RCMTCP$] = RTCP"RTRDATAD";  # RESUME DATA DELIVERY # 
        REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";     # ON CONTROL STATEMENT # 
        FFSLTRP;                     # CALL TCP REQUEST PROCESSOR     # 
        END 
  
      INIT$ID = PRGM$NAME;
      MESSAGE (INITDFMSG, 0 );       # DAYFILE "FTPI - INITIALIZED.   # 
  
      GOTO LAB$END; 
  
  
LAB$LSTONCT:                         # REQUEST LST/ON ON CTRL CN      # 
  
      IF FFSBCNE (CTYPE"CTCTRL")     # IF CT CONNECTION EXISTS        # 
      THEN
        BEGIN 
        REQ$RCODE [RCMTCP$] = RTCP"RTRDATAD";  # RESUME DATA DELIVERY # 
        REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";   # ON CONTROL STATEMENT # 
        FFSLTRP;                     # CALL TCP REQUEST PROCESSOR     # 
        END 
  
      INIT$ID = PRGM$NAME;
      MESSAGE (INITDFMSG, 0 );       # DAYFILE "FTPS - INITIALIZED."  # 
  
      GOTO LAB$END; 
  
  
LAB$DFINIT:                          # DAYFILE "FTPS - INITIALIZED.   # 
  
      INIT$ID = PRGM$NAME;
      MESSAGE (INITDFMSG, 0 );
  
      GOTO LAB$END; 
  
  
LAB$SPAWN:                           # SPAWN A COPY OF ITSELF         # 
  
      IF NOTYETSPAWN                 # MAKE SURE ONLY SPAWN ONCE      # 
      THEN
        BEGIN 
        FFSSSNA;                     # TELL NAM TO SPAWN A NEW COPY   # 
        NOTYETSPAWN = FALSE;
        END 
  
      GOTO LAB$END; 
  
  
LAB$SPWLONCS:                        # SPAWN AND LST/ON ON CS CN      # 
  
      IF NOTYETSPAWN                 # MAKE SURE ONLY SPAWN ONCE      # 
      THEN
        BEGIN 
        FFSSSNA;                     # TELL NAM TO SPAWN A NEW COPY   # 
        NOTYETSPAWN = FALSE;
        END 
  
      IF FFSBCNE (CTYPE"CTCS")       # IF CS CONNECTION EXISTS        # 
      THEN
        BEGIN 
        REQ$RCODE [RCMTCP$] = RTCP"RTRDATAD";  # RESUME DATA DILIVERY # 
        REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";
        FFSLTRP;                     # CALL TCP REQUEST PROCESSOR     # 
        END 
  
      GOTO LAB$END; 
  
  
LAB$RESTART:                         # NETOFF AND RESTART             # 
  
      FFSUDFN (RESTART$);            #TELL NAM LAYER TO NETOFF/RESTART# 
                                     # CONTROL NEVER RETURNS          # 
      GOTO LAB$END; 
  
  
LAB$NETOFF:                          # NETOFF                         # 
  
      FFSUDFN (NORESTART$);          # TELL NAM LAYER TO NETOFF/END   # 
                                     # CONTROL NEVER RETURNS          # 
      GOTO LAB$END; 
  
  
LAB$CNLCRSP:                         # CS "CONNECT-LOCAL" NML RESPONSE# 
# 
*     SAVE CS'S JSN 
# 
      P<APDT> = REQ$ADDR[RFTPCM$];
      CSJSN$JSN = AIPI$JSN; 
  
# 
*     SEND JSN OF CONTROL STATEMENT TO USER DAYFILE 
# 
      CS$JSN = AIPI$JSN;
      MESSAGE (CSJSNDF , 0 ); 
  
# 
*     SEND RESPONSE TO CS 
# 
      P<APDT> = LOC(FCM$BUF);        # POINT APDT BASED ARRAY         # 
      AIPI$FC = AIPICR;              # TELL CS THIS IS A CONNECT RSP  # 
      AIPI$ID = LOCALID;             # TELL CS THIS IS FROM LOCAL HOST# 
      AIPI$JSN = GETJSN;             # TELL CS OUR JSN                # 
      AIPI$NORM = TRUE;              # SET OK RESPONSE                # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND-DATA RQ CODE  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";         # CONN TYPE IS CS    # 
      REQ$LEN   [RCMTCP$] = LCCNRPLEN;           # LOCAL CN BLOCK LEN # 
      REQ$ADDR  [RCMTCP$] = LOC(FCM$BUF);        # BEGINING OF THE BLK# 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
# 
*     SEND FNT SHARE REQUEST
# 
      FFSSPFN;                       # CALL NAM LAYER TO SEND FNT/DSM # 
  
      GOTO LAB$END; 
  
  
LAB$CNLCBAD:                         # CS "CONNECT-LOCAL" ABNORMAL    # 
  
# 
*     SEND RESPONSE TO CS 
# 
      P<APDT> = LOC(FCM$BUF);        # POINT APDT BASED ARRAY         # 
      AIPI$FC = AIPICR;              # TELL CS THIS IS A CONNECT RSP  # 
      AIPI$ID = LOCALID;             # TELL CS THIS IS FROM LOCAL HOST# 
      AIPI$NORM = FALSE;             # SET INVALID RESPONSE           # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND-DATA RQ CODE  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";         # CONN TYPE IS CS    # 
      REQ$LEN   [RCMTCP$] = LCCNRPLEN;           # REMOTE CN BLK LEN  # 
      REQ$ADDR  [RCMTCP$] = LOC(FCM$BUF);        # BEGINING OF THE BLK# 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITACCT:                        # INITIATE AC ON CTRL CN         # 
  
# 
*     NOTE: PARMS[4] = IP ADDRESS IN DISPLAY CODE.
* 
*     1) SAVE BINARY IP ADDRESS IN CCT ENTRY FOR CTRL CN. 
*     2) MAKE A REQUEST TO TCP TO INITIATE ACTIVE CONNECT ON
*        CONTROL CONNECTION.
# 
  
      P<TBUFF> = LOC(ACN$TDADDR[CTYPE"CTCTRL"]);
      FFSUCIA(PARMS[4], TBUFF);        # DISPLAY CODE IPA -> BINARY   # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTIACON";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$ABRMCNRP:                        # ABNORMAL REMOTE CONNECT RSP    # 
  
      P<APDT> = LOC(FCM$BUF);        # POINT APDT BASED ARRAY         # 
      AIPI$FC = AIPICR;              # SEND FTP COMMAND RESPONSE      # 
      AIPI$ID = REMOTEID;            # TELL CS THIS IS FROM REMTE HOST# 
      AIPI$NORM = FALSE;             # ABNORMAL RESPOSE               # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND-DATA RQ CODE  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";         # CONN TYPE IS CS    # 
      REQ$LEN   [RCMTCP$] = AIPIHDR$ + 1;        # NUMBER OF OCTETS   # 
      REQ$ADDR  [RCMTCP$] = LOC(FCM$BUF);        # BEGINING OF THE BLK# 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$NMRMCNRP:                        # SEND NORMAL REMOTE CONNECT RSP # 
  
      P<APDT> = LOC(FCM$BUF);        # POINT APDT BASED ARRAY         # 
      AIPI$FC = AIPICR;              # SEND FTP COMMAND RESPONSE      # 
      AIPI$ID = REMOTEID;            # TELL CS THIS IS FROM REMTE HOST# 
      AIPI$NORM = TRUE;              # NORMAL RESPONSE                # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND-DATA RQ CODE  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";         # CONN TYPE IS CS    # 
      REQ$LEN   [RCMTCP$] = AIPIHDR$ + 1;        # NUMBER OF OCTETS   # 
      REQ$ADDR  [RCMTCP$] = LOC(FCM$BUF);        # BEGINING OF THE BLK# 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$FWDONCT:                         # FORWARD DATA FROM CS ONTO CT CN# 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND DATA REQUEST  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";       #        ON CTRL CN. # 
      REQ$LEN[RCMTCP$] = IND$LEN[ITCPCM$] - AIPIHDR$;  # ADJUST DT LEN# 
      REQ$ADDR[RCMTCP$] = IND$ADDR[ITCPCM$] + CSHDRWRD; # SKIP CS HDR # 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$FWDTOFTP:                        # FORWARD DATA FROM CS TO FTP   #
  
# 
*     STRIP OFF THE CS HEADER, ADJUST THE CHARACTER COUNT AND PASS UP 
*     TO FTP LAYER
# 
      P<APDT> = IND$ADDR[ITCPCM$];   # POINT BASE ARRAY TO INPUT BUFF # 
      IND$LEN [ICMFTP$] = IND$LEN [ITCPCM$] - AIPIHDR$; 
      IND$ADDR [ICMFTP$] = LOC(AIPI$TEXT);  #STRIP OFF THE AIPI HEADER# 
  
      GOTO LAB$END; 
  
  
LAB$AACTCNRQ:                       # ISSUE A-A REQUEST FOR CTRL CN  #
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCONGW";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$PCCTCNRQ:                        # ISSUE PC RQ FOR CTRL CN, NO A-A# 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTIPCONO"; 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$AADTCNRQ:                        # ISSUE A-A REQUEST FOR DATA     # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCONGW";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$LOFFCTPC:                        # REQUEST LST/OFF ON CTRL PC CN  # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSDATAD";     #SUSPEND DATA DELIVERY# 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCTRL";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$SDABRQ:                          # ABORT DATA CN REQUEST          # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTABTDAT"; 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITSDRQ:                        # INITIATE SEND REQUEST          # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND DATA REQUEST  # 
      REQ$CTYPE [RCMTCP$] = REQ$CTYPE [RFTPCM$];     # COPY CONN TYPE # 
      REQ$M     [RCMTCP$] = REQ$M [RFTPCM$];         # COPY MORE BIT  # 
  
      IF REQ$CTYPE[RFTPCM$] EQ CTYPE"CTCS"
      THEN                           # CS HEADER EXPECTED             # 
        BEGIN 
# 
*       SET UP CS HEADER
# 
        P<APDT> = LOC(FCM$BUF); 
        AIPI$FC = AIPISCR;           # TELL CS THIS IS A SEND RESPONSE# 
        AIPI$ID = LOCALID;           # TELL CS THIS IS FROM LOCAL HOST# 
  
        P<TEMP$PTR> = REQ$ADDR[RFTPCM$];
  
        MOVE (REQ$LEN[RFTPCM$], TEMP$PTR, APDT[TXT$]);
  
        REQ$LEN[RCMTCP$] = REQ$LEN[RFTPCM$] + AIPIHDR$; 
        REQ$ADDR[RCMTCP$] = LOC(FCM$BUF); 
        END 
  
      ELSE                           # PURE DATA, NO CONVERSION NEEDED# 
        BEGIN 
        REQ$LEN [RCMTCP$] = REQ$LEN [RFTPCM$];   # COPY DATA LENGTH   # 
        REQ$ADDR [RCMTCP$] = REQ$ADDR [RFTPCM$];
        END 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITPCDT:                        # INITIATE PC ON DATA CN         # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTIPCON";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$INITACDT:                        # INITIATE AC ON DATA CN         # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTIACON";
      REQ$CTYPE [RCMTCP$] = CTYPE"CTDATA";
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$FWDTOCS:                         # FORWARD FROM REMOTE HOST TO CS # 
  
      P<APDT> = LOC(FCM$BUF);        # POINT APDT BASED ARRAY         # 
      AIPI$FC = AIPISCR;             # SEND FTP COMMAND RESPONSE      # 
      AIPI$ID = REMOTEID;            # TELL CS THIS IS FROM REMTE HOST# 
      COUNT = (IND$LEN[ITCPCM$]*8+59) / 60; 
  
      P<TEMP$PTR> = IND$ADDR[ITCPCM$];
  
      MOVE (COUNT, TEMP$PTR, APDT[TXT$]); 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT"; 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";
      REQ$LEN   [RCMTCP$] = IND$LEN [ITCPCM$] + AIPIHDR$; 
      REQ$ADDR  [RCMTCP$] = LOC(FCM$BUF); 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$PASSDTUP:                        # PASS DATA UP TO FTP LAYER      # 
  
      IND$LEN   [ICMFTP$] = IND$LEN   [ITCPCM$];
      IND$ADDR  [ICMFTP$] = IND$ADDR  [ITCPCM$];
  
      GOTO LAB$END; 
  
  
LAB$CLCNRQ:                          # ISSUE CLOSE DATA CN REQUEST    # 
  
      REQ$RCODE [RCMTCP$] = RTCP"RTCLSCON"; 
      REQ$CTYPE [RCMTCP$] = REQ$CTYPE[RFTPCM$]; 
  
      FFSLTRP;                       # CALL TCP REQUEST PROCESSOR     # 
  
      GOTO LAB$END; 
  
  
LAB$PASSIND:                         # PASS UP THE DESIRED INDICATION # 
  
  
      GOTO LAB$END; 
  
LAB$NOTIFYCS:                        # NOTIFY C/S OF CTRL C/N DISCONNT# 
                                     #...BY SENDING A 421 MESSAGE     # 
      REQ$RCODE [RCMTCP$] = RTCP"RTSENDAT";      # SEND DATA REQUEST  # 
      REQ$CTYPE [RCMTCP$] = CTYPE"CTCS";         # SEND TO C/S        # 
# 
*     SET UP CS HEADER
# 
      P<APDT> = LOC(FCM$BUF); 
      AIPI$FC = AIPIDI;             # DISCONNECT INDICATION           # 
      AIPI$ID = REMOTEID;           # FROM REMOTE HOST                # 
                                    #CONVERT MSG FROM DISPLAY TO ASCII# 
      FFSUCDA(CTCNTERM,             # ADDRESS OF DATA                 # 
              04,                   # LENGTH OF DATA IN CM WORDS      # 
              APDT[TXT$],           # CONVERTED BUFFER ADDRESS        # 
              CLEN);                # LENGTH OF CONVERTED DATA IN CHAR# 
  
      REQ$LEN [RCMTCP$] = CLEN + AIPIHDR$;        # 421 MSG + HEADER  # 
      REQ$ADDR[RCMTCP$] = LOC(FCM$BUF); 
  
      FFSLTRP;                      # CALL TCP REQUEST PROCESSOR      # 
  
      GOTO LAB$END; 
  
  
LAB$LSTOND:                         # REQUEST LST/ON DATA CONNECTION  # 
  
      REQ$RCODE[RCMTCP$] = RTCP"RTRDATAD";
      REQ$CTYPE[RCMTCP$] = CTYPE"CTDATA"; 
      FFSLTRP;
  
      GOTO LAB$END; 
  
  
LAB$LSTOFFD:                        # REQUEST LST/OFF DATA CONNECTION # 
  
      REQ$RCODE[RCMTCP$] = RTCP"RTSDATAD";
      REQ$CTYPE[RCMTCP$] = CTYPE"CTDATA"; 
      FFSLTRP;
  
      GOTO LAB$END; 
  
  
LAB$END:                             # END OF ALL ACTIONS             # 
  
# 
*     STORE THE INDICATION FOR THE FTP LAYER,  SAVE THE CURRENT STATE 
*     AND TRIGGER, THEN ADVANCE TO THE NEXT STATE.
# 
  
      IND$ICODE[ICMFTP$] = FCM$IND [FCM$CUR$ST,TRIG]; 
      IND$CTYPE[ICMFTP$] = IND$CTYPE [ITCPCM$];     # SET CONN. TYPE  # 
  
      FCM$TRIG = TRIG;               # SAVE TRIG FOR DEBUG PURPOSE    # 
      FCM$LST$ST = FCM$CUR$ST;       # SAVE LAST STATE FOR DEBUG PURP.# 
      FCM$CUR$ST = FCM$NXT [FCM$CUR$ST,TRIG]; # ADVANCE TO NEXT STATE # 
  
      RETURN; 
  
      END                            # FFSLCSH #
  
      TERM
