*DECK QU3000
          IDENT  QU3000      HEADER OF QUERY OVERLAY
          COMMENT  INITIALIZATION OF OVERLAY 30-0 
 QU3000   TITLE  QU3000 - INITIALIZATION OF OVERLAY 30-0
          SPACE  3
          SPACE  3
          LIST   -L     *CALL ENVIRON/BASIC/MACRO FOLLOW THIS CARD
          LIST   -L                *CALL ENVIRON FOLLOWS
*CALL ENVIRON 
          LIST   L
          LIST   -L                *CALL BASIC FOLLOWS
*CALL BASIC 
          LIST   L
          LIST   -L                *CALL MACRO FOLLOWS
*CALL MACRO 
          LIST   L
          LIST   -L                * CALL TO NUMOPT FOLLOWS * 
*CALL NUMOPT
          LIST   L
          LIST    L 
          SST 
          LIST   F
          SPACE  4,10 
**        CAPSULE LIST FOR (30,0).
  
  
 CAPLIST  CAPSULE USINGEX    *USINGEX* OPTION PROCESSING
          CON    0           END OF LIST
          SPACE  4,10 
**        CAPSULE ENTRY POINTS. 
* 
*                THESE ENTRY POINTS MUST BE IN ALPHABETIC ORDER FOR FDL.
  
  
 USINGEX  INCAP  USINGEX,QU3000  *MODIFY* TEMPORARY ITEMS PROCESSING
          SPACE  4,10 
**        ENTRY POINT PASSLOC LIST FOR (30,0).
  
  
 ENTLIST  PASSLOC            BUILD ENTRY POINT PASSLOC LIST HERE
          SPACE  4,10 
**        EXTERNAL PASSLOC LIST FOR (30,0). 
* 
*                THESE EXTERNALS MUST BE IN ALPHABETIC ORDER FOR FDL. 
  
  
          PASS   AKCHPOS,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   AKITORD,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   AKLNGTH,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   AKTYPE,X    REQUIRED BY CAPSULE *USINGEX*
          PASS   AKWOPOS,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   ALKEYLO,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   FIGSUB2,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   FIGSUB3,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   GET,X       REQUIRED BY CAPSULE *USINGEX*
          PASS   IMFDBM,X    REQUIRED BY CAPSULE *USINGEX*
          PASS   MKL,X       REQUIRED BY CAPSULE *USINGEX*
          PASS   MKT,X       REQUIRED BY CAPSULE *USINGEX*
          PASS   NEWDATA,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   NEXTON,X    REQUIRED BY CAPSULE *USINGEX*
          PASS   ONALTER,X   REQUIRED BY CAPSULE *USINGEX*
          PASS   P,X         REQUIRED BY CAPSULE *USINGEX*
          PASS   TIMES,X     REQUIRED BY CAPSULE *USINGEX*
 EXTLIST  PASSLOC            BUILD PASSLOC TABLE HERE 
          SPACE  4,10 
**        GLOBAL DECLARATIONS.
  
  
 P1       CON    CAPLIST     ALTERNATE CAPSULE LIST 
          CON    ENTLIST     ALTERNATE ENTRY POINT PASSLOC LIST 
          CON    EXTLIST     ALTERNATE EXTERNAL PASSLOC LIST
          SPACE  4,10 
          ENTRY  QU3000 
          ENTRY  EXITCTL
QU3000    SUBR               ENTRY
          SA6    =XAUTOPSY   SET UP THE -AUTOPSY- ADDR FOR ABORT
          SA6    =XAUTLOC 
          SA1    P1 
          RJ     =XQU.LNK    LINK UP ALTERNATE CAPSULE LISTS
          RJ     =XQUCLOCK   UPDATE CURRENT TIME (AND DATE) 
          RJ     =XDBP$LNK   LINK UP CRM ROUTINES FOR DBP-S 
  
          SA1    INDEX       TO TEST IF CTL30 OR USEOPEN IS CALLED
          NZ     X1,QU4ERR   IF ILLEGAL CALL TO (30,0) OVERLAY
 EXITCTL  RJ     =XCTL30     EXECUTE BASIC DIRECTIVES 
QU42      SX6    1           THEN RELOAD OVERLAY 1-0
          SA6    =XPRIMARY
          RJ     =XLOADX0 
*         --     ------    UNCONDITIONAL EXIT BY OVERLAY LOAD 
  
QU4ERR    ABORT              ABORT IF RETURN HERE OR INDEX VALUE WRONG
          SPACE  3
SAVCODE   EQU    QU3000 
PARAMLT   EQU    QU3000+1 
PARAMCT   EQU    QU3000+2 
RTNADDR   EQU    QU3000+3 
ADDR      BSS    1           TO SAVE RETURN PARAMETER ADDRESS 
          SPACE  5
          LIST   -L     *CALL COSPACE FOLLOWS. SEE LISTING IN QU10
          LIST   L
          ENTRY  RETURNM
 RETURNM  DATA   0
          SX2    174B              RETURN/UNLOAD CIO CODE 
          RJ     CALLCIO           GO PROCESS THE REQUEST(S)
+         EQ     RETURNM           EXIT 
* 
* 
          ENTRY REWINDM 
REWINDM   DATA   0                 ENTRY TO REWIND A LIST OF FILES
          SX2    50B               REWIND CIO CODE
          RJ     CALLCIO
+         EQ     REWINDM           EXIT 
* 
* 
CALLCIO   DATA   0
          BX6    X2 
          SA6    SAVCODE           SAVE THE CIO CODE FOR ALL REQUESTS 
          SX6    A1                GO GET PARAMETER LIST
          SA6    PARAMLT           LIMIT
          SX6    1                 AND
          SA6    PARAMCT           COUNT
CHKLOOP ZR X1,CALLCIO 
          SA1    X1 
          MX0    42                MASK FOR LFN 
          BX6    X0*X1             NASK JUST 7 CHAR 
          SA2    SAVCODE           GET THE CIO CODE TO BE DONE ON THIS L
          BX6    X6+X2             MERGE IN CIO CODE
          SA6    DUMYFET
          SX6    DUMYFET
          SA5    CIOP 
          BX6    X6+X5
          EXT    CIOWD
          SA6    CIOWD
          RJ     =XCIOREQ       GO DO AN RA+1 REQUEST 
          SA2    PARAMCT           GET LIST POINTERS
          SA3    PARAMLT
          IX1    X2+X3             UPDATE 
          SA1    X1 
          SX6    X2+1 
          SA6    A2                AND
          EQ     CHKLOOP           LOOP FOR MORE LFN-S
CIOP      VFD    18/3LCIO,3/2,39/0
 DUMYFET  BSS     1 
          DATA    100B    FIRST 
          DATA    100B    IN
          DATA    101B    OUT 
          DATA    200B    LIMIT 
*CALL ATTACH
          ENTRY   EXTEND
 EXTEND   DATA    0 
          IFEQ   OS$NAME,KRONOS 
*       A NO-OP UNTIL I FIGURE OUT WHAT TO DO WITH EXTEND CALLS 
          ENDIF 
          IFEQ   OS$NAME,SCOPE
          SA2     EXT 
          SX3     30B 
          RJ      PFIO
          ENDIF 
          EQ      EXTEND
          IFEQ   OS$NAME,SCOPE
 PFIO     DATA    0 
          SX1    X1+4        LOCATE LFN ADDRESS IN FDB
          BX7     X2+X1 
          SA4     A1+1
          BX6     X4
          SA6     RTNADDR 
          SA1     X1
          SA5     TERMINAL
          ZR      X5,BATCHMO
          SX3     X3+200B 
 BATCHMO  BSS     0 
          MX0     42
          BX0     X0*X1 
          BX6     X0+X3 
          SA6     A1
          SB1     1 
+         SA5     B1
          NZ      X5,*
          SA7     B1
          SA5    66B
          PL     X5,NOXJ
          XJ
* 
NOXJ      BSS    0
+         SA5     B1
          NZ      X5,*
          SA2     A1
          BX7     X2
          AX2     9 
          MX0     51
          BX6     -X0*X2
          SA2     RTNADDR 
          SA6     X2
          EQ      PFIO
 EXT      VFD     18/3LPFE,2/1,40/0 
          ENDIF 
          SPACE  3
          ENTRY   RC
RC        BSSZ    1 
          ENTRY  KEYFLFI
 KEYFLFI  FILE   FO=SQ,BT=C,RT=S,BFS=257,MRL=0,MBL=630,EFC=3
*CALL CKININF 
  
  
  
  
  
          END    QU3000 
