X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=bfile%2Fcfile.h;h=9ee9714afbd6abf10e24d8956e7f25a8ed587cda;hb=7edae22b5d556f3db505615888ef02b950dd5e83;hp=50801511e867b551d43702367d2b40bf3f7ad930;hpb=d75b9accf5a28bd5d8ffd70bbb33b3e8e009d079;p=idzebra-moved-to-github.git diff --git a/bfile/cfile.h b/bfile/cfile.h index 5080151..9ee9714 100644 --- a/bfile/cfile.h +++ b/bfile/cfile.h @@ -4,7 +4,31 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: cfile.h,v $ - * Revision 1.1 1995-11-30 08:33:12 adam + * Revision 1.8 1996-04-18 16:02:56 adam + * Changed logging a bit. + * Removed warning message when commiting flat shadow files. + * + * Revision 1.7 1996/02/07 14:03:48 adam + * Work on flat indexed shadow files. + * + * Revision 1.6 1996/02/07 10:08:45 adam + * Work on flat shadow (not finished yet). + * + * Revision 1.5 1995/12/15 12:36:52 adam + * Moved hash file information to union. + * Renamed commit files. + * + * Revision 1.4 1995/12/11 09:03:54 adam + * New function: cf_unlink. + * New member of commit file head: state (0) deleted, (1) hash file. + * + * Revision 1.3 1995/12/01 16:24:29 adam + * Commit files use separate meta file area. + * + * Revision 1.2 1995/12/01 11:37:23 adam + * Cached/commit files implemented as meta-files. + * + * Revision 1.1 1995/11/30 08:33:12 adam * Started work on commit facility. * */ @@ -12,7 +36,7 @@ #ifndef CFILE_H #define CFILE_H -#define HASH_BUCKET 63 +#define HASH_BUCKET 15 struct CFile_hash_bucket { struct CFile_ph_bucket { @@ -28,16 +52,21 @@ struct CFile_hash_bucket { #define HASH_BSIZE sizeof(struct CFile_ph_bucket) +#define CFILE_FLAT 1 + typedef struct CFile_struct { struct CFile_head { - int hash_size; - int next_bucket; + int state; int next_block; int block_size; + int hash_size; + int first_bucket; + int next_bucket; + int flat_bucket; } head; - int block_fd; - int hash_fd; + MFile block_mf; + MFile hash_mf; int *array; struct CFile_hash_bucket **parray; struct CFile_hash_bucket *bucket_lru_front, *bucket_lru_back; @@ -45,14 +74,17 @@ typedef struct CFile_struct int bucket_in_memory; int max_bucket_in_memory; char *iobuf; - MFile mf; + MFile rmf; + int no_hits; + int no_miss; } *CFile; int cf_close (CFile cf); -CFile cf_open (MFile mf, const char *cname, const char *fname, - int block_size, int wflag, int *firstp); +CFile cf_open (MFile mf, MFile_area area, const char *fname, int block_size, + int wflag, int *firstp); int cf_read (CFile cf, int no, int offset, int num, void *buf); int cf_write (CFile cf, int no, int offset, int num, const void *buf); +void cf_unlink (CFile cf); void cf_commit (CFile cf); #endif