61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
|
/* o4opt.h (c)Copyright Sequiter Software Inc., 1990-1994. All rights reserved. */
|
||
|
|
||
|
#define OPT4AVAIL -1
|
||
|
#define OPT4NONE 0
|
||
|
#define OPT4DBF 1
|
||
|
#define OPT4INDEX 2
|
||
|
#define OPT4OTHER 3
|
||
|
|
||
|
/* OPT4CHECK_RATE must be a minimum of 5 in order to optimize correctly */
|
||
|
#define OPT4CHECK_RATE 10
|
||
|
|
||
|
#define OPT4GO_DBF_MODE 1
|
||
|
#define OPT4SKIP_DBF_MODE 2
|
||
|
#define OPT4SKIP_NDX_MODE 4
|
||
|
#define OPT4SEEK_NDX_MODE 8
|
||
|
#define OPT4APPEND_MODE 16
|
||
|
#define OPT4WRITE_KEYS_MODE 32
|
||
|
#define OPT4REINDEX_MODE 64
|
||
|
#define OPT4START_MODE 128
|
||
|
|
||
|
/* factor of 2 that estimates the hash distribution, #slots = between #blocks * OPT4BLOCK_DENSITY and #blocks * OPT4BLOCK_DENSITY * 2 */
|
||
|
#define OPT4BLOCK_DENSITY 2L
|
||
|
|
||
|
struct OPT4BLOCK_st ;
|
||
|
|
||
|
/* this structure must match OPT4BLOCK_st with opt4=file followed by pos=pos */
|
||
|
typedef struct
|
||
|
{
|
||
|
FILE4 S4PTR *file ;
|
||
|
long pos ;
|
||
|
} OPT4CMP ;
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
S4EXPORT int S4FUNCTION c4calc_type( unsigned long ) ;
|
||
|
|
||
|
S4EXPORT void S4FUNCTION d4update_prio( CODE4 S4PTR * ) ;
|
||
|
S4EXPORT void S4FUNCTION file4set_write_opt( FILE4 S4PTR *, int ) ;
|
||
|
|
||
|
S4EXPORT void S4FUNCTION opt4block_clear( OPT4BLOCK S4PTR * ) ;
|
||
|
S4EXPORT void S4FUNCTION opt4block_remove( OPT4BLOCK S4PTR *, int ) ;
|
||
|
|
||
|
S4EXPORT void S4FUNCTION opt4file_delete( FILE4 S4PTR *, long, long ) ;
|
||
|
S4EXPORT LIST4 *S4FUNCTION opt4file_find_list( FILE4 S4PTR * ) ;
|
||
|
S4EXPORT int S4FUNCTION opt4file_flush_list( FILE4 S4PTR *, LIST4 S4PTR *, int ) ;
|
||
|
S4EXPORT long S4FUNCTION opt4file_hash( FILE4 S4PTR *, unsigned long ) ;
|
||
|
S4EXPORT void S4FUNCTION opt4file_lru_top( FILE4 S4PTR *, LINK4 S4PTR *, char ) ;
|
||
|
S4EXPORT unsigned S4FUNCTION opt4file_read( FILE4 S4PTR *, long, void S4PTR *, unsigned ) ;
|
||
|
S4EXPORT OPT4BLOCK *S4FUNCTION opt4file_return_block( FILE4 S4PTR *, long, long ) ;
|
||
|
S4EXPORT int S4FUNCTION opt4file_write( FILE4 S4PTR *, long, unsigned, void S4PTR *, char ) ;
|
||
|
|
||
|
S4EXPORT int S4FUNCTION opt4flush_all( OPT4 S4PTR *, char ) ;
|
||
|
S4EXPORT int S4FUNCTION opt4flush_write_buffer( OPT4 S4PTR * ) ;
|
||
|
S4EXPORT void S4FUNCTION opt4set_priority( OPT4 S4PTR *, char S4PTR * ) ;
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|