*DECK DB$ROPM 
          IDENT  DB$ROPM
DB$ROPM   TITLE  DB$ROPM - INTERFACES FOR ROUTING THE PRINT FILE
          COMMENT ROUTE OUTPUT FILE TO PRINTER
          DATA   10L  DB$ROPM 
*#
* *   DB$ROPM - ROUTE FILE TO PRINTER            PAGE  1
* *   BOB MCALLESTER                             08/30/82 
* 
* DC  PURPOSE 
* 
*     ROUTE THE FILE ZZZZZCT TO AN AVAILABLE LINE PRINTER.
* 
* DC  ENTRY CONDITIONS
* 
*     THE FET OF THE FILE TO BE ROUTED IS AT DB$QFET. 
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL   - THE FILE HAS BEEN PLACED IN THE PRINT QUEUE. 
* 
*     ABNORMAL - ROUTE REQUEST IS REJECTED BY THE OPERATING SYSTEM. 
*                ERROR CODE IS RETURNED IN X6.
* 
* DC  CALLING ROUTINES
* 
*     DB$PROF                PRINT OUTPUT FILE
* 
* DC  CALLED ROUTINES 
* 
*     ROUTE MACRO CALLS SYS=
* 
* DC  DESCRIPTION 
* 
*     STORE THE LFN IN THE ROUTE BUFFER.
*     CALL THE ROUTE MACRO. 
*     RETURN ANY ERROR CODE IN X6.
*#
  
          LIST   F
  
  
          ENTRY  DB$ROPM
DB$ROPM   EQ   *+1S17 
          SA1    DB$QFET
          MX0    42 
          BX6    X0*X1
          SA6    RTBUF
          ROUTE  A6,R 
          SA1    RTBUF
          MX0    -6 
          LX1    -12
          BX6    -X0*X1      RETURN ERROR STATUS
          EQ   DB$ROPM
DB$ROPM   SPACE  3,10 
*         BUFFER FOR ROUTE MACRO
  
RTBUF     CON    0           FILE NAME IS PLACED HERE 
          VFD    12/0 
          VFD    12/0        FORMS CODE 
          VFD    12/2HPR     ROUTE TO ANY PRINTER 
          VFD    24/012022B  FLAG BITS
          BSSZ   5
DB$ROPQ   TITLE  DB$ROPQ - ISSUE QUEUE FILE DEVICE REQUEST
*#
* *   DB$ROPM                                    PAGE  1
* *   DB$ROPQ - REQUEST QUEUE DEVICE (NOS/BE) 
* *   BOB MCALLESTER                             DATE  08/30/82 
* 
* DC  PURPOSE 
* 
*     ISSUE OS REQUEST FOR QUEUE DEVICE FOR PRINT FILE. 
* 
* DC  ENTRY CONDITIONS
* 
*     THE NAME OF THE FILE TO BE ROUTED IS AT DB$QFET.
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL   - A QUEUE DEVICE HAS BEEN ASSIGNED.
* 
*     ABNORMAL - ERROR STATUS IS IN X6. 
* 
* DC  CALLING ROUTINES
* 
*     DB$PROF                PRINT OUTPUT FILE
* 
* DC  CALLED ROUTINES 
* 
*     REQUEST MACRO (NOS/BE ONLY) 
* 
* DC  DESCRIPTION 
* 
*     FOR NOS/BE: 
*         ISSUE THE REQUEST MACRO FOR THE FILE NAMED IN DB$QFET.
*         RETURN THE ERROR STATUS IN X6.
* 
*     FOR NOS:  
*         RETURN A ZERO IN X6.
*#
          ENTRY  DB$ROPQ
DB$ROPQ   EQ   *+1S17 
.BE.      IFC    EQ,$"OS.NAME"$SCOPE $
          SA1    DB$QFET
          MX0    42 
          BX6    X0*X1
          MX7    1
          LX7    -4 
          SA6    QFILE
          SA7    QFILE+1
          REQUEST A6
          SA1    QFILE
          MX0    -5 
          LX1    -9 
          BX6    -X0*X1      RETURN ERROR CODE
          EQ   DB$ROPQ
  
QFILE     BSSZ   2           BUFFER FOR REQUEST PARAMETER 
  
.BE.      ELSE
          SX6    0           (NOS) RETURN X6 = 0. 
          EQ   DB$ROPQ
.BE.      ENDIF 
DB$QFET   SPACE  3,8
*         FET FOR THE FILE TO BE ROUTED 
  
          ENTRY  DB$QFET
DB$QFET   BSS    0
  
ZZZZZCT   FILEC  BUFFER,BLIM-BUFFER,EPR 
  
*         BUFFER FOR THE COPY OF OUTPUT TO THE ROUTE FILE.
  
BUFFER    BSS    102B        A MINIMUM BUFFER SIZE
BLIM      BSS    0
  
*     NOTE -
*         DB$PROF EXPANDS THE UPPER LIMIT OF THIS BUFFER TO CMM'S 
*         HIGHEST HIGH ADDRESS (HHA). 
* 
*         THERE MUST NOT BE ANY OTHER DATA DEFINED BEYOND THIS BUFFER.
*         THIS MODULE MUST ALSO BE AT THE HIGH END OF A PRIMARY OVERLAY.
  
          END 
