*DECK DB$SIR
USETEXT RQPARTX 
      PROC DB$SIR(IMRTN); 
      BEGIN 
 #
* *   DB$SIR - SET/RESET IMMEDIATE RETURN        PAGE  1
* *   W P CEAGLIO                                DATE  11/04/81 
* 
* DC  PURPOSE 
* 
*     SET/RESET THE IMMEDIATE RETURN INDICATOR FOR A RUN-UNIT.
* 
* DC  ENTRY CONDITIONS
* 
*     PARAMETERS
# 
      ITEM IMRTN   I;        # INPUT - IMMEDIATE RETURN FUNCTION       #
                             # NQ 0 - SET IMMEDIATE RETURN             #
                             # EQ 0 - RESET (DISABLE) IMMEDIATE RETURN #
# 
* 
*     ASSUMPTIONS 
* 
*     NONE. 
* 
* DC  EXIT CONDITIONS 
* 
*     IMMEDIATE RETURN IS SET/RESET FOR THIS RUN-UNIT.
* 
* DC  CALLING ROUTINES
* 
*     HOST-LANGUAGE VIA ENTER STATEMENT.
* 
*     DMLSIR      FDBF OBJECT-TIME ROUTINE
* 
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$RQST;     # COMPLETE REQUEST AND ISSUE CDCS CALL    #
      XREF PROC DB$RA0;      # TERMINATE PARAMETER LIST                #
# 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     DB$RQBF - REQUEST PACKET (IN DB$RQST) 
# 
      XREF ITEM DB$IMRT  B;        # IMMEDIATE RETURN FLAG - IN DB$GLDF#
# 
* 
* DC  DESCRIPTION 
* 
*     COMPLETE THE PARAMETER IN THE REQUEST PACKET AND SET *DB$IMRT*
*     ACCORDINGLY.  THEN ISSUE THE CDCS REQUEST VIA *DB$RQST*.
* 
 #
  
      CONTROL EJECT;
  
# S T A R T   O F   D B $ S I R   E X E C U T A B L E   C O D E        #
  
#     SETUP PARAMETER IN REQUEST PACKET AND SET *DB$IMRT*.             #
  
      RQPIMRWD1[0] = 0;            # INITIALIZE ENTIRE WORD.           #
  
      IF IMRTN NQ 0 
      THEN
        BEGIN 
        RQPIMRTN[0] = TRUE; 
        DB$IMRT = TRUE; 
        END 
      ELSE
        BEGIN 
        DB$IMRT = FALSE;
        END 
  
#     ISSUE REQUEST                                                    #
  
      DB$RQST(DFSIR,DFWCSIR,DB$RA0);
  
  
      END 
      TERM; 
