*DECK MACQ
          IDENT  MACQ 
          LIST   F
          ENTRY  MACQ 
          EXT    MSEIZE 
          EXT    XTRACE 
*IF DEF,IMS 
*#
*1DC  MACQ
* 
*     1. PROC NAME           AUTHOR              DATE 
*        MACQ                P.C.TAM             77/11/28 
* 
*     2. FUNCTIONAL DESCRIPTION.
*        THIS ROUTINE SERVES AS FRONT END FOR MGETS WHERE THE 
*        FREE BUFFER ADDRESS IS KNOWN TO CALLER.
* 
*     3. METHOD USED. 
*        CHECK FOR INCONSISTENCY: GETTING A ZERO SIZE BUFFER
*        SET UP PARAMETERS IN APPROPIATE REGISTERS
*        CALL MGETS ROUTINE 
*        RETURN 
* 
*     4. ENTRY PARAMETERS.
*        (A1)=ADDR OF PARM BLOCK
*        (X1)=RQSIZE, REQUIRED SIZE OF BUFFER 
*        (A1)+1=ADDR OF BUFWA, FIRST WORD ADDR OF BUFFER INVOLVED 
*        (A1)+2=ADDR OF FLAG PARAM, DETERMINES IF BUFFER NEED RESET 
* 
*     5. EXIT PARAMETERS. 
*        NONE.
* 
*     6. COMMON DECKS CALLED. 
*          CYBERDEFS  FREETAB  INPARU  MACDEF 
* 
*     7. ROUTINES CALLED. 
*        MSEIZE    DELINK FREE BUFFER FROM CHAIN
*        XTRACE    DEBUG TRACE
* 
*     8. DAYFILE MESSAGES.
*        NONE.
*#
*ENDIF
*CALL MACDEF
*CALL CYBERDEFS 
*CALL INPARU
*CALL FREETAB 
  
  
 MACQ     SUBR   =           ENTRY/EXIT 
  
          IFEQ   DEBUG,1,6
          SX6    A1 
          SA6    TEMP 
          SX1    XMACQ
          RJ     XTRACE 
          SA1    TEMP 
          SA1    X1 
  
          SA0    A1          (A0)=PARM ADDR 
          SA1    X1          (X1)=RQSIZE
          SA5    A0+1 
          SA5    X5 
          SB4    X5          (B4)=(BUFWA) 
  
*         CALL MGETS TO DELINK FREE BUFFER
  
          RJ     MSEIZE 
          EQ     MACQX       EXIT 
 XMACQ    DATA   L* MACQ* 
 TEMP     BSS    1
  
          END 
