home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / database / softc210 / headers / idx.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-21  |  4.5 KB  |  165 lines

  1. /*************************************************
  2.  **                                             **
  3.  **   idx.h                                         **
  4.  **                                             **
  5.  **                Copyright (C) 1990, 1991 by                  **
  6.  **               SoftC, Ltd.                   **
  7.  **               16820 3rd St NE               **
  8.  **               Ham Lake, MN 55304            **
  9.  **               (612) 434-6968                **
  10.  **                                             **
  11.  **             All rights reserved.            **
  12.  *************************************************/
  13.  
  14.  
  15.  
  16. #ifndef __SOFTC_H__
  17. #include "softc.h"
  18. #endif
  19.  
  20.  
  21.  
  22. /**********
  23.  *
  24.  *  Type Definitions
  25.  *
  26.  **********/
  27.  
  28.  
  29.  
  30.  
  31. typedef struct {  /* FoxBASE index file information packet */
  32.   CHAR fname[80]; /* file name */
  33.   CHAR keytype;   /* key type ('C' Character, 'N' Date/Numeric) */
  34.   CHAR keylen;    /* key length */
  35.   INT exprlen;    /* key expression length */
  36.   SC_FLAGS flags; /* miscellaneous flags */
  37. } SC_IDXINFO;
  38.  
  39.  
  40.  
  41. #ifdef __cplusplus
  42. extern "C" {
  43. #endif
  44.  
  45.  
  46. /**********
  47.  *
  48.  *  FoxBASE+/FoxPro Index File Manipulators Prototypes
  49.  *
  50.  **********/
  51.  
  52.  
  53.  
  54.  
  55. INT scdibfrsz(  INT,              /* index file handle */
  56.                 INT *,            /* buffer length in pages */
  57.                 INT );            /* set or get buffer length */
  58.  
  59. INT scdiclose(  INT );            /* file handle */
  60.  
  61. INT scdicreate( CHAR *,           /* filename */
  62.                 INT,              /* index key type */
  63.                 CHAR *,           /* key expression */
  64.                 INT );            /* key length */
  65.  
  66. INT scdiexpr(   INT,              /* file handle */
  67.                 CHAR * );         /* key expression */
  68.  
  69. INT scdiflush(  INT );            /* file handle */
  70.  
  71. INT scdihget(   INT );            /* file handle */
  72.  
  73. INT scdiindex(  INT,              /* data file handle */
  74.                 CHAR *,           /* new file name */
  75.                 INT,              /* index key type */
  76.                 CHAR *,           /* key expression */
  77.                 INT );            /* key length */
  78.  
  79. INT scdiinfo(   INT,              /* file handle */
  80.                 SC_IDXINFO * );   /* file information and status */
  81.  
  82. INT scdiopenx(  INT *,            /* file handle */
  83.                 CHAR *,           /* filename */
  84.                 INT );            /* open mode and characteristics */
  85.  
  86.  
  87.  
  88.  
  89. /**********
  90.  *
  91.  *  FoxBASE+/FoxPro Index Key Building Prototypes
  92.  *
  93.  **********/
  94.  
  95.  
  96.  
  97.  
  98. INT scdikdate(  CHAR *,           /* FoxBASE date */
  99.                 CHAR *,           /* date string */
  100.                 INT );            /* date string format type */
  101.  
  102. INT scdikmake(  INT,              /* .DBF file handle */
  103.                 INT,              /* .NTX file handle */
  104.                 VOID ** );        /* index key */
  105.  
  106. INT scdiknum(   CHAR *,           /* FoxBASE DOUBLE */
  107.                 DOUBLE );         /* C DOUBLE */
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. /**********
  115.  *
  116.  *  FoxBASE+/FoxPro Index Key Manipulator Prototypes
  117.  *
  118.  **********/
  119.  
  120.  
  121.  
  122.  
  123. INT scdikadd(   INT,              /* file handle */
  124.                 VOID *,           /* key string */
  125.                 LONG );           /* data record number */
  126.  
  127. INT scdikbot(   INT,              /* file handle */
  128.                 VOID *,           /* key string */
  129.                 LONG *);          /* data record number */
  130.  
  131. INT scdikcur(   INT,              /* file handle */
  132.                 VOID *,           /* key string */
  133.                 LONG *);          /* data record number */
  134.  
  135. INT scdikdel(   INT,              /* file handle */
  136.                 VOID *,           /* key string */
  137.                 LONG );           /* data record number */
  138.  
  139. INT scdikfind(  INT,              /* file handle */
  140.                 VOID *,           /* key string */
  141.                 LONG *,           /* data record number */
  142.                 INT);             /* exact match or first */
  143.  
  144. INT scdiknext(  INT,              /* file handle */
  145.                 VOID *,           /* key string */
  146.                 LONG *);          /* data record number */
  147.  
  148. INT scdikprev(  INT,              /* file handle */
  149.                 VOID *,           /* key string */
  150.                 LONG *);          /* data record number */
  151.  
  152. INT scdiktop(   INT,              /* file handle */
  153.                 VOID *,           /* key string */
  154.                 LONG *);          /* data record number */
  155.  
  156.  
  157.  
  158.  
  159.  
  160. #ifdef __cplusplus
  161. }
  162. #endif
  163.  
  164.  
  165.