2 * Copyright (c) 1995-1996, Index Data.
3 * See the file LICENSE for details.
21 typedef unsigned ISAMD_BLOCK_SIZE;
23 typedef struct ISAMD_file_s {
43 int alloc_entries_num;
44 int alloc_entries_max;
54 char *startblock; /* start of the chain, update lastptr and numKeys here */
55 char *lastblock; /* end of the chain, append here */
62 ISAMD_BLOCK_SIZE offset;
63 ISAMD_BLOCK_SIZE size;
64 int cat; /* category of this block */
65 int pos; /* block number of this block */
66 int next; /* number of the next block */
68 void *decodeClientData;
71 ISAMD_BLOCK_SIZE lastblock; /* last block in chain */
74 #define ISAMD_BLOCK_OFFSET_N (sizeof(int) + \
75 sizeof(ISAMD_BLOCK_SIZE))
77 #define ISAMD_BLOCK_OFFSET_1 (sizeof(int) + \
78 sizeof(ISAMD_BLOCK_SIZE) + \
80 sizeof(ISAMD_BLOCK_SIZE))
82 int isamd_alloc_block (ISAMD is, int cat);
83 void isamd_release_block (ISAMD is, int cat, int pos);
84 int isamd_read_block (ISAMD is, int cat, int pos, char *dst);
85 int isamd_write_block (ISAMD is, int cat, int pos, char *src);
95 * Revision 1.2 1999-07-14 13:21:34 heikki
96 * Added isam-d files. Compiles (almost) clean. Doesn't work at all
98 * Revision 1.1 1999/07/14 12:34:43 heikki
99 * Copied from isamh, starting to change things...