*DECK FREENTA                      26MAY81
USETEXT COMCBEG 
USETEXT COMCAPR 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQFIL 
USETEXT COMQNET 
    PROC FREENTA; 
      BEGIN    # FREENTA #
# 
**    FREENTA    INITIALIZE COMMAND BUFFER CHAIN. 
* 
*     FREENTA IS CALLED TO INITIALIZE THE BUFFER CHAIN FOR
*     A NEW LEVEL 7 COMMAND.  ANY EXISTING WORKING BUFFERS
*     ARE RELEASED AND A NEW BUFFER IS OBTAINED.  UPON
*     COMPLETION OF THE COMMAND (AFTER AN *ACSTORE* AND A 
*     SERIES OF *APSTOR* CALLS), *CMDPUT* IS CALLED TO LINK 
*     THE CHAIN OF ONE OR MORE WORKING BUFFERS TO THE END 
*     OF THE NETPUT CHAIN FOR THIS ACN (FILENHA).  THE BUFFERS
*     OBTAINED FROM CMM BY FREENTA AND APSTOR FOR THE WORKING 
*     BUFFER CHAIN MUST NOT BELONG TO THE CMM GROUP FOR THE ACN,
*     SO THAT *RELAFT* WILL NOT PREMATURELY RELEASE BUFFERS 
*     BETWEEN A *STOPR* AND THE NEXT *RFT*. 
* 
*     PROC FREENTA
* 
*     ENTRY      ACN = ACTIVE FILE TABLE ENTRY INDEX. 
*                FILEWHA = FWA OF WORKING BUFFER CHAIN. 
* 
*     EXIT       FILEWHA = FWA OF ONLY BUFFER.
*                NHA$B, NTA$B RESET (BASED ARRAY POINTERS). 
* 
*     PROCESS    CALL RELNTA TO RELEASE ALL EXISTING BUFFERS
*                CALL CMMALF TO ACQUIRE NEW BUFFER. 
# 
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC CMMALF;               # GET CMM BUFFER # 
        PROC NAME;                 # DEBUG CODE # 
        PROC RELNTA;               # RELEASE ALL NETWORK BUFFERS #
        END 
# 
****  XREF END
# 
  
      ITEM TEMP       U;           # TEMPORARY #
  
        $BEGIN
        NAME("FREENTA");           # DEBUG CODE # 
        $END
  
      RELNTA(FILEWHA);             # RELEASE ANY BUFFERS IN CHAIN # 
      CMMALF( (NTLMAX+3), 0, CMMN, TEMP); 
      FILEWHA = TEMP; 
                                   # GET NEW BUFFER TO MINIMIZE # 
                                   # MEMORY FRAGMENTATION       # 
      P<NHA$B>=FILEWHA;            # RESET BASED ARRAY POINTER #
      P<NTA$B>=LOC(NTAH$);
      NHA$LNK = 0;
  
      END      # FREENTA #
    TERM
