home *** CD-ROM | disk | FTP | other *** search
-
- #include "cbtree.h"
-
- #define MAXKEY 32
-
- typedef struct {
- Cbtree *cbtree_ptr;
- int idfile;
- int duplicate;
- int numkeys; /* how many keys are defined for this file ? */
- } IX_DESC;
-
- typedef struct /* entry structure in index */
- {
- Item recptr; /* points to data record */
- int reclen; /* Record length */
- char key[MAXKEY]; /* start of record key */
- } ENTRY;
-
- extern int btrv(int fcode, IX_DESC *fd, void *datbuf, int *size,
- ENTRY *key, int keynum);
-
- /*
- ** The following values are legal for fcode
- */
-
- #define b_open 0 /* open an existing database file */
- #define b_close 1 /* close a database file */
- #define b_insert 2 /* insert a record into the database */
- #define b_update 3 /* update (modify) an existing record */
- #define b_delete 4 /* delete a record */
- #define b_getequ 5 /* get the record whose key exactly equals 'key'*/
- #define b_getnext 6 /* get next record, sequentially */
- #define b_getprev 7 /* get previous record */
- #define b_getgt 8 /* get record whose key > 'key' */
- #define b_getge 9 /* get record whose key >= 'key' */
- #define b_getlt 10 /* get record whose key < 'key' */
- #define b_getle 11 /* get record whose key <= 'key' */
- #define b_getlow 12 /* return first record in database */
- #define b_gethi 13 /* return last record in database */
- #define b_getpos 14 /* UNUSED */
- #define b_getdirect 15 /* return this exact record - key and offset */
- #define b_getdata 16 /* special case - only read data file at this
- * offset! */
- #define b_append 17 /* only write to the data file - return
- * offset in key */
- #define b_create 21 /* create a new index file */
-