X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.h;h=1c1321ba43a0d1fe925588b8013f9b4f8e44ef43;hb=886253fb90810e512cacf4f02694645ead7a22e0;hp=40c2c6833d6e84d73e85f06a744e1a0a217b1898;hpb=b9093505b17a074e79137ed64595c8269f77d330;p=idzebra-moved-to-github.git diff --git a/index/recindex.h b/index/recindex.h index 40c2c68..1c1321b 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,10 +1,34 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-2000, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recindex.h,v $ - * Revision 1.11 1997-09-17 12:19:16 adam + * Revision 1.18 2000-04-05 09:49:35 adam + * On Unix, zebra/z'mbol uses automake. + * + * 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. * @@ -49,9 +73,14 @@ * */ +#ifndef RECINDEX_H +#define RECINDEX_H + #include #include +YAZ_BEGIN_CDECL + #define REC_NO_INFO 8 typedef struct record_info { @@ -59,6 +88,9 @@ 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]; + Zebra_mutex mutex; } *Record; typedef struct records_info *Records; @@ -70,8 +102,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 (BFiles bfs, 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, @@ -79,6 +115,8 @@ enum { recInfo_delKeys, recInfo_databaseName, recInfo_storeData, - recInfo_offset + recInfo_attr }; +YAZ_END_CDECL +#endif