X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindxp.h;h=bad75eead861b87b53456de3e9d38d6bec1543e8;hb=43506dd0ff92373604bb7288e2dcc943b2c1d524;hp=f821315eaaad0740ed032f7a8b844804f7edbc6f;hpb=62f6cad37f14a19d9c1ce763ea54a61b350c7881;p=idzebra-moved-to-github.git diff --git a/index/recindxp.h b/index/recindxp.h index f821315..bad75ee 100644 --- a/index/recindxp.h +++ b/index/recindxp.h @@ -1,10 +1,27 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-1999, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recindxp.h,v $ - * Revision 1.2 1995-12-11 09:12:51 adam + * Revision 1.7 1999-07-06 12:28:04 adam + * Updated record index structure. Format includes version ID. Compression + * algorithm ID is stored for each record block. + * + * Revision 1.6 1999/05/26 07:49:13 adam + * C++ compilation. + * + * Revision 1.5 1999/02/02 14:51:05 adam + * Updated WIN32 code specific sections. Changed header. + * + * Revision 1.4 1998/03/05 08:45:12 adam + * New result set model and modular ranking system. Moved towards + * descent server API. System information stored as "SGML" records. + * + * Revision 1.3 1995/12/11 11:45:55 adam + * Removed commented code. + * + * Revision 1.2 1995/12/11 09:12:51 adam * The rec_get function returns NULL if record doesn't exist - will * happen in the server if the result set records have been deleted since * the creation of the set (i.e. the search). @@ -23,16 +40,21 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + #define REC_BLOCK_TYPES 2 -#define REC_HEAD_MAGIC "recindx" +#define REC_HEAD_MAGIC "recindex" +#define REC_VERSION 1 struct records_info { int rw; + int compression_method; char *index_fname; BFile index_BFile; - char *data_fname[REC_BLOCK_TYPES]; BFile data_BFile[REC_BLOCK_TYPES]; @@ -46,6 +68,7 @@ struct records_info { struct records_head { char magic[8]; + char version[4]; int block_size[REC_BLOCK_TYPES]; int block_free[REC_BLOCK_TYPES]; int block_last[REC_BLOCK_TYPES]; @@ -69,19 +92,10 @@ struct record_cache_entry { }; struct record_index_entry { -#if 1 int next; /* first block of record info / next free entry */ int size; /* size of record or 0 if free entry */ -#else - union { - struct { - int next; - int size; - } used; - struct { - int next; - } free; - } u; -#endif }; +#ifdef __cplusplus +} +#endif