X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.h;h=31ae460e267aeb9a5eadbc803c2bf77a3dc72feb;hb=543ab71dfcf03778b00faa164f94552cf11cab79;hp=d0538ca9c835ba0e704464d762f8ae2e4bd65376;hpb=99e4ce02beb2ea748b9970ef35fe8834f04a1528;p=idzebra-moved-to-github.git diff --git a/index/recindex.h b/index/recindex.h index d0538ca..31ae460 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,10 +1,38 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-1999, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recindex.h,v $ - * Revision 1.9 1996-05-01 13:46:36 adam + * Revision 1.17 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.16 1999/06/25 13:48:02 adam + * Updated MSVC project files. + * Added BZIP2 record compression (not very well tested). + * + * Revision 1.15 1999/05/26 07:49:13 adam + * C++ compilation. + * + * Revision 1.14 1999/02/02 14:51:04 adam + * Updated WIN32 code specific sections. Changed header. + * + * Revision 1.13 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.12 1998/01/12 15:04:08 adam + * The test option (-s) only uses read-lock (and not write lock). + * + * Revision 1.11 1997/09/17 12:19:16 adam + * Zebra version corresponds to YAZ version 1.4. + * Changed Zebra server so that it doesn't depend on global common_resource. + * + * Revision 1.10 1996/10/29 14:06:53 adam + * Include zebrautl.h instead of alexutil.h. + * + * Revision 1.9 1996/05/01 13:46:36 adam * First work on multiple records in one file. * New option, -offset, to the "unread" command in the filter module. * @@ -42,7 +70,12 @@ * */ -#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif #define REC_NO_INFO 8 @@ -51,6 +84,8 @@ typedef struct record_info { int newFlag; char *info[REC_NO_INFO]; size_t size[REC_NO_INFO]; + char buf_size[REC_NO_INFO][6]; + size_t size_size[REC_NO_INFO]; } *Record; typedef struct records_info *Records; @@ -62,8 +97,12 @@ void rec_put (Records p, Record *recpp); Record rec_new (Records p); Record rec_get (Records p, int sysno); void rec_close (Records *p); -Records rec_open (int rw); +Records rec_open (BFiles bfs, int rw, int compression_method); char *rec_strdup (const char *s, size_t *len); +void rec_prstat (Records p); + +#define REC_COMPRESS_NONE 0 +#define REC_COMPRESS_BZIP2 1 enum { recInfo_fileType, @@ -71,6 +110,9 @@ enum { recInfo_delKeys, recInfo_databaseName, recInfo_storeData, - recInfo_offset + recInfo_attr }; +#ifdef __cplusplus +} +#endif