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
		
			
				
	
	
		
			112 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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
 |