*DECK     DB$OFTC 
USETEXT CDCSCTX 
      PROC DB$OFTC; 
      BEGIN 
 #
* *   DB$OFTC - CREATE AN OFT                    PAGE  1
* *   A W ALLEN                                  DATE  01/30/81 
* 
* DC  PURPOSE 
* 
*     CREATE AN OFT WITH INITIALIZED VALUES.
* 
* DC  ENTRY CONDITIONS
* 
*     ASSUMPTIONS 
* 
*     SALX IS SET FOR CURRENT SCHEMA. 
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL EXIT-- 
* 
*     P<OFT> POINTS TO NEW OFT
* 
*     OFT FIELDS ARE INITIALIZED AS FOLLOWS-- 
* 
*     OFARID       0
*     OFUSERS      0
*     OFPRIOR      PRIOR OFT ADDRESS
*     OFNEXT       NEXT OFT ADDRESS 
*     OFSTATUS     UP 
*     OFPFAERR     0
*     OFPFIERR     0
*     OFERRCNT     0
*     OFALT        0
*     OFVENAME     BINARY ZEROS 
*     OFRETCT      0
*     OFDUMP       FALSE
*     OFLOAD       FALSE
*     OFDUMY       TRUE 
*     OFCOMP       FALSE
*     OFLOGRECF    ALL FALSE
*     OFIFT        0
*     OFQRF        0
*     OFUFT        0
*     OFFIT        UNDEFINED (MODEL FIT)
* 
*     NO FILE ATTACH/RETURN IS DONE BY DB$OFTC
* 
* DC  CALLING ROUTINES
* 
*     DB$ACAI      ATTACH AREA AND INDEX FILES FOR SYSTEM RECOVERY
*     DB$ADAX      ATTACH DATABASE AND INDEX FILES
*                  (INTERNAL PROC GETOFTENTRY)
*     DB$DSCS      SEMANTICS FOR CHANGING STATUS
*                  (INTERNAL PROCS--  DB$DS06 DOWN AND DB$DS07 IDLE)
*     DB$LTSB      SUBSCHEMA RETAIN/RETURN
* 
* DC  CALLED ROUTINES 
* 
# 
      XREF PROC DB$FLOP;           # GENERATE A FLOW POINT             #
      XREF FUNC DB$LNK;            # CREATE ENTRY IN LINKED CHAIN      #
# 
* 
* DC  NON-LOCAL VARIABLES 
* 
*     COMMON
* 
* DC  DESCRIPTION 
* 
*     CALL DB$LNK TO GET AND LINK A CMM BLOCK.
*     SET INITIALIZATION VALUES.
* 
 #
  
  
  
  
#     S T A R T   O F   D B $ O F T C   E X E C U T A B L E   C O D E  #
  
  
      CONTROL IFGR DFFLOP,0;
        DB$FLOP("OFTC   ");        # GENERATE A FLOW POINT.            #
      CONTROL ENDIF;
  
      P<OFT> = DB$LNK(LOC(SAOFTLSP[SALX]),DFOFTSIZE); 
      OFWORD1[0] = 0;              # CLEAR OUT ALL WORDS EXCEPT FOR    #
      OFWORD2[0] = 0;              # WORD ZERO, AND THE                #
      OFWORD3[0] = 0;              # MODEL FIT (WORDS 6 THROUGH 40).   #
      OFWORD4[0] = 0; 
      OFUFT[0] = DFNPTR;
      OFARID[0] = 0;
      OFUSERS[0] = 0; 
      OFSTATUS[0] = S"UP";
      OFDUMY[0] = TRUE;            # SET UP AS A DUMMY OFT.            #
      END 
      TERM
