*DECK FFSRSNC 
USETEXT TEXTFFS                      # FS  SYSTEM DEFINITIONS         # 
PROC FFSRSNC (CCT$, HDR$PTR); 
*CALL COPYRITE
# TITLE FFSRSNC - TCP SEND CONNECTION/SAP REQUEST.                    # 
  
      BEGIN  # FFSRSNC #
  
# 
**    FFSRSNC - TCP SEND CONNECTION/SAP REQUEST.
* 
*     CMP    02/88
* 
*     'FFSRSNC' SENDS THE OPEN-SAP OR OPEN-CONNECTION PRIMITIVE 
*     ON AN A-A CONNECTION TO THE TCP GATEWAY.
* 
*     ENTRY (CCT$) = NAM CONNECTION-TABLE ENTRY.
* 
*           (HDR$PTR) = POINTER TO  REQUEST PRIMITIVE TO BE SENT. 
* 
*     DESCRIPTION.
* 
*     SET NAM SAPID OR CEPID INTO HEADER. 
*     SET NAM-ASSIGNED SAPID OR CEPID INTO CCT ENTRY. 
*     FORMAT A REQUEST TO NAM.
*     CALL FFSLNLH TO PROCESS THE REQUEST.
* 
*     RETURN. 
# 
  
      ITEM CCT$      U;           # CONNECTION TABLE ENTRY NUMBER    #
      ITEM HDR$PTR   U;           # POINTER TO PRIMITIVE HEADER      #
  
      XREF
        BEGIN 
        PROC FFSLNLH;             # NAM REQUEST PROCESSOR            #
        END 
  
                                                         CONTROL EJECT; 
  
# 
*     SET NAM SAPID OR CEPID INTO HEADER. 
*     SET GATEWAY SAPID INTO HEADER.
# 
  
      P<GW$HEADER> = HDR$PTR; 
      IF CCT$ NQ CTYPE"CTSAP" 
      THEN
        BEGIN 
        ACN$TSAPID [CCT$] = ACN$TSAPID [CTYPE"CTSAP"];
        ACN$CCEPID [CCT$] = ACN$ACN[CCT$];
        IF GW$IDENT EQ GW$ID$TAC
        THEN
          BEGIN 
          GW$TAC$ICI = ACN$CCEPID[CCT$];
          GW$TAC$DSI = ACN$TSAPID[CCT$];
          END 
        ELSE
          BEGIN 
          GW$TPC$ICI = ACN$CCEPID[CCT$];
          GW$TPC$DSI = ACN$TSAPID[CCT$];
          END 
  
        END                          # TCP CONNECTION REQUEST         # 
  
      ELSE
        BEGIN 
        ACN$CCEPID[CCT$] = 0; 
        GW$TOS$ISI = ACN$ACN[CCT$]; 
        END                          # TCP SAP REQUEST                # 
      ACN$CSAPID[CCT$] = ACN$ACN[CTYPE"CTSAP"]; 
  
# 
*     FORMAT SEND DATA REQUEST AND CALL FFSLNLH TO PROCESS IT.
*     M AND Q BITS MUST ALREADY HAVE BEEN SET BY THE CALLER.
# 
  
      REQ$RCODE[RTCPNAM$] = RNAM"RNSENDAT"; 
      REQ$CTYPE[RTCPNAM$] = CCT$; 
      REQ$LEN[RTCPNAM$] = GW$HDR$LEN + GW$DAT$LEN;
      REQ$ADDR[RTCPNAM$] = HDR$PTR; 
  
      FFSLNLH;
      RETURN; 
  
      END  # FFSRSNC #
  
      TERM
