home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / OOFILE / Buildable, limited OOFILE / c-tree headers / cttran.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-12  |  5.3 KB  |  159 lines  |  [TEXT/CWIE]

  1. /*
  2.  *    This program is the CONFIDENTIAL and PROPRIETARY property 
  3.  *    of FairCom(R) Corporation. Any unauthorized use, reproduction or
  4.  *    transfer of this computer program is strictly prohibited.
  5.  *
  6.  *      Copyright (c) 1984 - 1994 FairCom Corporation.
  7.  *    This is an unpublished work, and is subject to limited distribution and
  8.  *    restricted disclosure only. ALL RIGHTS RESERVED.
  9.  *
  10.  *            RESTRICTED RIGHTS LEGEND
  11.  *    Use, duplication, or disclosure by the Government is subject to
  12.  *    restrictions set forth in subparagraph (c)(1)(ii) of the Rights in
  13.  *     Technical Data and Computer Software clause at DFARS 252.227-7013.
  14.  *    FairCom Corporation, 4006 West Broadway, Columbia, MO 65203.
  15.  *
  16.  *    c-tree PLUS(tm)    Version 6.4
  17.  *            Release B
  18.  *            October 19, 1994
  19.  */
  20.  
  21. #ifndef CTTRANH
  22. #define CTTRANH
  23.  
  24. typedef struct trandsc {
  25.     LONG    trannum;
  26.     LONG    tranpos;
  27.     LONG    tranfil;
  28.     VRLEN    tranlen;
  29.     VRLEN    tranpln;
  30.     UCOUNT    trantyp;
  31.     UCOUNT    tranusr;
  32.     } TRANDSC;
  33. typedef TRANDSC ctMEM *    pTRANDSC;
  34.  
  35. typedef struct shadlst {
  36.     struct shadlst ctMEM *shadlnk; /* list link */
  37.     struct shadlst ctMEM *shadprv; /* list back link */
  38.     LONG              shadpos; /* actual file location */
  39.     struct shadlst ctMEM *shadbak; /* save point back link */
  40.     struct shadlst ctMEM *shadfwd; /* save point forward link */
  41.     struct shadlst ctMEM *shadhsh; /* hash link */
  42.     pTEXT                  shadloc; /* pointer to info in shadow buffer */
  43.     VRLEN              shadlen; /* actual record length */
  44.     UCOUNT              shadtyp; /* type of shadow entry */
  45.     UCOUNT              shadfil; /* actual file number */
  46.     COUNT              shadswp; /* swap space indicator */
  47.     COUNT              shadcnt; /* hash count */
  48.     COUNT              shadsav; /* savepoint */
  49.     } SHADLST;
  50. typedef SHADLST ctMEM *    pSHADLST;
  51. typedef SHADLST ctMEM * ctMEM * ppSHADLST;
  52.  
  53. typedef struct {
  54.     VRLEN    segoff;
  55.     VRLEN    seglen;
  56.     } DIFSEG;
  57. typedef DIFSEG ctMEM *    pDIFSEG;
  58.  
  59. #define FINAL_CHECK    -1L
  60. #define BDUMP_CHECK    -2L
  61. #define EDUMP_CHECK    -3L
  62.  
  63. #define SLNULL        (pSHADLST) NULL
  64. #define DATCOM_WINDOW    2
  65. #define IDXABT_WINDOW    4
  66. #define MAXREGIONS    10
  67.  
  68. #define DIFF0        20
  69. #define DIFF1        42
  70. #define DIFF2        64
  71. #define SIZLOGKEY    (1 + SIZEOF(LONG))
  72.  
  73. #define CHKPHDR        10    /* number of longs which begin checkpoint rec */
  74. #define CM_CHKPHDR    0    /* commit mode                      */
  75. #define LL_CHKPHDR    1    /* previous chkpnt log                  */
  76. #define LP_CHKPHDR    2    /* previous chkpnt log position              */
  77. #define TR_CHKPHDR    3    /* active transactions                  */
  78. #define FL_CHKPHDR    4    /* active files                      */
  79. #define AN_CHKPHDR    5    /* abort nodes                      */
  80. #define CN_CHKPHDR    6    /* commit nodes                      */
  81. #define CD_CHKPHDR    7    /* commit dat                      */
  82. #define R1_CHKPHDR    8    /* reserved 1                      */
  83. #define R2_CHKPHDR    9    /* reserved 2                      */
  84.  
  85. #ifdef VINES_JANET
  86. #define DD_CHUNK    (VRLEN) 8092 
  87. #define LOGBLOCKS    5    
  88. #define BLOGPOS        1024L
  89. #else
  90. #define DD_CHUNK    (VRLEN) 59392
  91. #define LOGBLOCKS    24
  92. #define BLOGPOS        2048L
  93. #endif
  94.  
  95. #define CTTRDELTA    100L    /* # of updates which cause flush */
  96. #ifdef ctCTCPDELTA
  97. #define CTCPDELTA    ctCTCPDELTA
  98. #else
  99. #define CTCPDELTA    2L    /* # of chkpnts (less 1) which cause flush */
  100. #endif
  101. #define LOGCHUNKX    1100000L
  102. #define LOGCHUNKN    550000L
  103. #define LOGLIMIT    2500000L
  104. #define LOGSPR        NO
  105. #define LOGPURGE    4
  106.  
  107. #define VOLATILE    24    /* size of dynamic region for SH_HDRCP */
  108. #define SIZCTL        28    /* size of header area for chkpnt logging */
  109. #define NUMCTL        6    /* header area index for long nument */
  110.  
  111.  
  112. #ifndef ctNOGLOBALS
  113. EXTERN SEMA     ct_undsema;    /* single tran undo semaphore */
  114. EXTERN SEMA     ct_1dmsema;    /* enforce only 1 dump at-a-time */
  115. EXTERN SEMA     ct_dmpsema;    /* dynamic dump semaphore */
  116. EXTERN LONG     ctdmptim;    /* dynamic dump beginn time */
  117. EXTERN LONG     ctdlgnum;    /* beginning log during dump */
  118. EXTERN LONG     ctelgnum;    /* ending log during dump */
  119. EXTERN LONG     ctdlgpos;    /* position in ctdlgnum */
  120. EXTERN LONG     ctelgpos;    /* position in ctelgnum */
  121. EXTERN LONG     ctcpcnt;    /* check point count */
  122. EXTERN LONG     ctcpchk;    /* check point count less delta */
  123. EXTERN COUNT     ctshdlfil;    /* shadow swap file # */
  124.  
  125. EXTERN LONG     ct_lstlog;    /* previous checkpoint log#        */
  126. EXTERN LONG     ct_lstpos;    /* previous checkpoint log position    */
  127. EXTERN LONG     ct_usrtr[MXU2];/* active transaction # for user or zero*/
  128. EXTERN LONG     ct_usrtl[MXU2];/* log file sequence number for BEGTRAN    */
  129. EXTERN COUNT     ct_usrty[MXU2];/* SHADOW / LOGFIL transaction type    */
  130. EXTERN TEXT     ct_chkpt[MXU2];/* check point flag             */
  131. EXTERN pTEXT     ctlgbf;    /* transaction log buffer ptr        */
  132. EXTERN pSEMA     ct_usrsema;    /* commit/abort processing semaphore    */
  133. EXTERN ppSHADLST ctlstshd;    /* linked list tail for pre-image list    */
  134. EXTERN ppSHADLST ctlstsav;    /* last save point pointer        */
  135. EXTERN CTFILE     ctLfil;    /* log file header */
  136. EXTERN CTFILE     ctUfil;    /* log file header */
  137. EXTERN pCTFILE     ctLnum;
  138. EXTERN pCTFILE     ctUnum;
  139. EXTERN CTFILE     ctSfil[2];    /* start file headers */
  140. EXTERN pCTFILE     ctSnum;
  141. EXTERN VRLEN     ct_lbfsiz;    /* log buffer size */
  142. EXTERN COUNT     ct_lgn;    /* current file# in log */
  143. EXTERN COUNT     ctsflg;    /* ct_strip flag */
  144. EXTERN COUNT     ctbflg;    /* BAKMOD flag */
  145. EXTERN COUNT     ctdflg;    /* dynamic dump flag */
  146. EXTERN COUNT     ct_actrns;    /* # active transactions */
  147. EXTERN COUNT     ct_lerflg;    /* ctwrtlog error flag */
  148. EXTERN NINT     ct_chkflg;    /* checkpoint in progress flag */
  149. EXTERN NINT     ct_logkep;    /* archive log count */
  150. EXTERN NINT     ctskpfil;    /* skip missing files during recovery */
  151. EXTERN NINT     ctskpmir;    /* skip missing mirrors during recovery */
  152. #endif
  153.  
  154. #include "ctfunt.h"
  155.  
  156. #endif /* CTTRANH */
  157.  
  158. /* end of cttran.h */
  159.