campo-sirio/cb5/r4reinde.h
alex a0f5e0898b This commit was generated by cvs2svn to compensate for changes in r975,
which included commits to RCS files with non-trunk default branches.

git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
1995-02-06 15:33:45 +00:00

112 lines
2.9 KiB
C
Executable File

/* r4reindex.h (c)Copyright Sequiter Software Inc., 1990-1994. All rights reserved. */
typedef struct
{
/* must be before n_keys */
#ifdef S4CLIPPER
short S4PTR *block_index ;
char S4PTR *data;
#endif
#ifdef S4FOX
B4STD_HEADER header ;
#else
short n_keys ;
#endif
#ifdef S4MDX
char dummy[6] ;
char info[2] ;
#endif
#ifdef S4NDX
char dummy[2] ;
char info;
#endif
} R4BLOCK_DATA ;
typedef struct /* R4REINDEX For 'i4reindex' */
{
#ifndef N4OTHER
TAG4 S4PTR *tag ;
INDEX4 S4PTR *index ;
int n_tags ;
#endif
#ifdef S4FOX
char S4PTR *cur_pos ;
B4NODE_HEADER node_hdr ;
int n_blocks_used ;
#else
#ifdef S4CLIPPER
B4KEY_DATA S4PTR *stranded ;
int keys_half ;
int lastblock_inc ; /* How much to increment 'lastblock' by */
int n_blocks_used ;
#else
int lastblock_inc ; /* How much to increment 'lastblock' by */
unsigned blocklen ;
#endif
#endif
int grouplen ; /* Entire key length */
int valuelen ; /* Length of sorted portion of key */
int keysmax ;
long lastblock ; /* The block last written to */
long key_count ;
SORT4 sort ;
FILE4SEQ_WRITE seqwrite ;
char S4PTR *buffer ; /* Buffer for 'seqwrite' and 'seqread' */
int buffer_len ;
R4BLOCK_DATA S4PTR *start_block ;
int n_blocks ;
int min_keysmax; /* To calculate the number of blocks */
DATA4 S4PTR *data ;
CODE4 S4PTR *code_base ;
} R4REINDEX ;
#ifdef __cplusplus
extern "C" {
#endif
void r4reindex_free( R4REINDEX S4PTR * ) ;
#ifdef N4OTHER
int r4reindex_tag_headers_calc( R4REINDEX S4PTR *, TAG4 S4PTR * ) ;
int r4reindex_supply_keys( R4REINDEX S4PTR *, TAG4 S4PTR * ) ;
int r4reindex_write_keys( R4REINDEX S4PTR *, TAG4 S4PTR * ) ;
int r4reindex_tag_headers_write( R4REINDEX S4PTR *, TAG4 S4PTR * ) ;
int r4reindex_init( R4REINDEX S4PTR *, TAG4 S4PTR * ) ;
#else
int r4reindex_tag_headers_calc( R4REINDEX S4PTR * ) ;
int r4reindex_supply_keys( R4REINDEX S4PTR * ) ;
int r4reindex_write_keys( R4REINDEX S4PTR * ) ;
int r4reindex_tag_headers_write( R4REINDEX S4PTR * ) ;
int r4reindex_init( R4REINDEX S4PTR *, INDEX4 S4PTR * ) ;
#endif
int r4reindex_blocks_alloc( R4REINDEX S4PTR * ) ;
TAG4 S4PTR *r4reindex_find_i_tag( R4REINDEX S4PTR *, int ) ;
/* Write key functions */
#ifdef S4FOX
int r4reindex_add( R4REINDEX S4PTR *, long, char S4PTR *, char S4PTR *, int S4PTR * ) ;
int r4reindex_finish( R4REINDEX S4PTR *, char S4PTR * ) ;
int r4reindex_todisk( R4REINDEX S4PTR *, char S4PTR * ) ;
#else
int r4reindex_add( R4REINDEX S4PTR *, long, char S4PTR * ) ;
int r4reindex_finish( R4REINDEX S4PTR * ) ;
#ifdef S4CLIPPER
int r4reindex_todisk( R4REINDEX S4PTR *, long, char S4PTR * ) ;
#else
int r4reindex_todisk( R4REINDEX S4PTR * ) ;
#endif
#endif
#ifdef __cplusplus
}
#endif