home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / bbsfiles / flkn6-4.arj / BTRV.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-06-28  |  1.9 KB  |  48 lines

  1.  
  2. #include "cbtree.h"
  3.  
  4. #define MAXKEY 32
  5.  
  6. typedef struct {
  7.     Cbtree *cbtree_ptr;
  8.     int idfile;
  9.     int duplicate;
  10.     int numkeys;            /* how many keys are defined for this file ? */
  11.     } IX_DESC;
  12.  
  13. typedef struct                    /*  entry structure in index        */
  14.   {
  15.      Item     recptr;             /*  points to data record           */
  16.      int      reclen;             /* Record length                    */
  17.      char     key[MAXKEY];        /*  start of record key             */
  18.   }  ENTRY;
  19.  
  20. extern int btrv(int fcode, IX_DESC *fd, void *datbuf, int *size,
  21.     ENTRY *key, int keynum);
  22.  
  23. /*
  24. ** The following values are legal for fcode
  25. */
  26.  
  27. #define b_open 0        /* open an existing database file */
  28. #define b_close 1       /* close a database file */
  29. #define b_insert 2      /* insert a record into the database */
  30. #define b_update 3      /* update (modify) an existing record */
  31. #define b_delete 4      /* delete a record */
  32. #define b_getequ 5      /* get the record whose key exactly equals 'key'*/
  33. #define b_getnext 6     /* get next record, sequentially */
  34. #define b_getprev 7     /* get previous record */
  35. #define b_getgt 8       /* get record whose key > 'key' */
  36. #define b_getge 9       /* get record whose key >= 'key' */
  37. #define b_getlt 10      /* get record whose key < 'key' */
  38. #define b_getle 11      /* get record whose key <= 'key' */
  39. #define b_getlow 12     /* return first record in database */
  40. #define b_gethi 13      /* return last record in database */
  41. #define b_getpos 14     /* UNUSED */
  42. #define b_getdirect 15  /* return this exact record - key and offset */
  43. #define b_getdata 16            /* special case - only read data file at this
  44.                                  * offset! */
  45. #define b_append  17            /* only write to the data file - return
  46.                                  * offset in key */
  47. #define b_create    21  /* create a new index file */
  48.