home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Demos / OOFILE / Buildable, limited OOFILE / c-tree headers / ctifil.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-12  |  3.5 KB  |  126 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 ctIFILH
  22. #define ctIFILH
  23.  
  24. #define DAT_EXTENT    ".dat"
  25. #define IDX_EXTENT    ".idx"
  26.  
  27. typedef struct iseg {
  28.     COUNT    soffset,    /* segment offset    */
  29.         slength,    /* segment length    */
  30.         segmode;    /* segment mode        */
  31.     } ISEG;
  32. typedef ISEG ctMEM *    pISEG;
  33. #define ISEG_LEN    6
  34. #define ISEG_PLEN    6
  35.  
  36. typedef struct iidx {
  37.     COUNT    ikeylen,    /* key length        */
  38.         ikeytyp,    /* key type        */
  39.         ikeydup,    /* duplicate flag    */
  40.         inulkey,    /* null ct_key flag    */
  41.         iempchr,    /* empty character    */
  42.         inumseg;    /* number of segments    */
  43.     pISEG   seg;        /* segment information    */
  44.     pTEXT   ridxnam;    /* r-tree symbolic name    */
  45.     pTEXT    aidxnam;    /* (opt) index filnam    */
  46.     pCOUNT    altseq;        /* (opt) alt sequence    */
  47.     pUTEXT    pvbyte;        /* (opt) ptr to pad byte*/
  48.     } IIDX;
  49. typedef IIDX ctMEM *    pIIDX;
  50. #define IIDX_LEN    12
  51.  
  52. typedef struct {
  53.     COUNT    c[6];
  54.     LONG    seg;
  55.     LONG    ridxnam;
  56.     LONG    aidxnam;
  57.     LONG    altseq;
  58.     LONG    pvbyte;
  59.     } IIDXz;
  60. typedef IIDXz ctMEM *    pIIDXz;
  61. #define IIDX_PLEN    SIZEOF(IIDXz)
  62.  
  63. typedef struct {
  64.     COUNT    c[6];
  65.     LONG    seg;
  66.     LONG    ridxnam;
  67.     } IIDX1z;
  68.  
  69. typedef struct ifil {
  70.     pTEXT   pfilnam;    /* file name (w/o ext)    */
  71.     COUNT    dfilno;        /* data file number    */
  72.     UCOUNT    dreclen;    /* data record length    */
  73.     UCOUNT    dxtdsiz;    /* data file ext size    */
  74.     COUNT    dfilmod;    /* data file mode    */
  75.     COUNT    dnumidx;    /* number of indices    */
  76.     UCOUNT    ixtdsiz;    /* index file ext size    */
  77.     COUNT    ifilmod;    /* index file mode    */
  78.     pIIDX   ix;        /* index information    */
  79.     pTEXT   rfstfld;    /* r-tree 1st fld name    */
  80.     pTEXT   rlstfld;    /* r-tree last fld name    */
  81.     COUNT    tfilno;        /* temporary file number*/
  82.     } IFIL;
  83. typedef IFIL ctMEM *    pIFIL;
  84. #define IFIL_LEN    14
  85. #define IFIL_PLEN    36
  86.  
  87. typedef struct ifilz {
  88.     LONG    pfilnam;    /* file name (w/o ext)    */
  89.     COUNT    dfilno;        /* data file number    */
  90.     UCOUNT    dreclen;    /* data record length    */
  91.     UCOUNT    dxtdsiz;    /* data file ext size    */
  92.     COUNT    dfilmod;    /* data file mode    */
  93.     COUNT    dnumidx;    /* number of indices    */
  94.     UCOUNT    ixtdsiz;    /* index file ext size    */
  95.     COUNT    ifilmod;    /* index file mode    */
  96.     LONG    ix;        /* index information    */
  97.     LONG    rfstfld;    /* r-tree 1st fld name    */
  98.     LONG    rlstfld;    /* r-tree last fld name    */
  99.     COUNT    tfilno;        /* temporary file number*/
  100.     } IFILz;
  101. typedef IFILz ctMEM *    pIFILz;
  102.  
  103. #ifdef ctCONDIDX
  104. typedef struct ccond {
  105.     COUNT    relkey;        /* relative key number: 0,1,...        */
  106.     COUNT    explen;        /* length of tokenized expression    */
  107.     LONG    resrvd;        /* reserved for future use        */
  108.     pTEXT    cexpr;        /* ptr to tokenized expression (not a
  109.                    NULL terminated ASCII string)    */
  110.     } CCOND;
  111. typedef CCOND ctMEM *    pCCOND;
  112. typedef CCOND ctMEM * ctMEM * ppCCOND;
  113.  
  114. typedef struct cifil {
  115.     COUNT    cnumstat;    /* number of static  conditions        */
  116.     COUNT    cnumdynm;    /* number of dynamic conditions        */
  117.     ppCCOND    condstat;    /* ptr to array of static  CCOND's    */
  118.     ppCCOND    conddynm;    /* ptr to array of dynamic CCOND's    */
  119.     } CIFIL;
  120. typedef CIFIL ctMEM *    pCIFIL;
  121. #endif
  122.  
  123. #endif /* ctIFILH */
  124.  
  125. /* end of ctifil.h */
  126.