X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Frecindex.h;h=867468f908ccd370d36081978bf6ca024c1b5f0d;hp=474d485c135c62e03384147269b23761f9907154;hb=896c0427df9d8eff5de6a1735dcd992e067df844;hpb=f3e73ab63fbc960d863d9c14bab3b9e79c400ffa diff --git a/index/recindex.h b/index/recindex.h index 474d485..867468f 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,33 +1,71 @@ -/* - * Copyright (C) 1994-1995, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: recindex.h,v $ - * Revision 1.2 1995-11-15 19:13:08 adam - * Work on record management. - * - * Revision 1.1 1995/11/15 14:46:21 adam - * Started work on better record management system. - * - */ - -#include - -#define REC_NO_INFO 4 +/* $Id: recindex.h,v 1.19 2002-08-02 19:26:55 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + + +#ifndef RECINDEX_H +#define RECINDEX_H + +#include +#include + +YAZ_BEGIN_CDECL + +#define REC_NO_INFO 8 typedef struct record_info { int sysno; + 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; Record rec_cp (Record rec); -void rec_rm (Record rec); -void rec_put (Records p, Record rec); +void rec_del (Records p, Record *recpp); +void rec_rm (Record *recpp); +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); -char *rec_strdup (const char *s); +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, + recInfo_filename, + recInfo_delKeys, + recInfo_databaseName, + recInfo_storeData, + recInfo_attr +}; + +YAZ_END_CDECL +#endif