X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindxp.h;h=bad75eead861b87b53456de3e9d38d6bec1543e8;hb=a17b23c8615d81523afa6d124d2f91e237f06605;hp=a0d9d4ce85bbc624847c34ff8335c43962c8953c;hpb=226fb73f42a86cc30ff4f27eb452ab3f6c19ae01;p=idzebra-moved-to-github.git diff --git a/index/recindxp.h b/index/recindxp.h index a0d9d4c..bad75ee 100644 --- a/index/recindxp.h +++ b/index/recindxp.h @@ -1,10 +1,34 @@ /* - * 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.1 1995-12-06 12:41:25 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). + * The server saves a result temporarily if it is 'volatile', i.e. the + * set is register dependent. + * + * Revision 1.1 1995/12/06 12:41:25 adam * New command 'stat' for the index program. * Filenames can be read from stdin by specifying '-'. * Bug fix/enhancement of the transformation from terms to regular @@ -16,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]; @@ -39,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]; @@ -62,14 +92,10 @@ struct record_cache_entry { }; struct record_index_entry { - union { - struct { - int next; - int size; - } used; - struct { - int next; - } free; - } u; + int next; /* first block of record info / next free entry */ + int size; /* size of record or 0 if free entry */ }; +#ifdef __cplusplus +} +#endif