X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.h;h=86bb465774d85b8dfb4efbfcd4d40c51424167f8;hb=c33ea56e3771c3b80ba66ef8fda3a09cad171ebb;hp=53d9dca68287725d0ea1a794e4705fcfa5747d8a;hpb=366f5c2889c8bccb1f645aebf737b6082f200da5;p=idzebra-moved-to-github.git diff --git a/index/recindex.h b/index/recindex.h index 53d9dca..86bb465 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,53 +1,82 @@ -/* - * Copyright (C) 1994-1995, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: recindex.h,v $ - * Revision 1.5 1995-11-25 10:24:07 adam - * More record fields - they are enumerated now. - * New options: flagStoreData flagStoreKey. - * - * Revision 1.4 1995/11/22 17:19:19 adam - * Record management uses the bfile system. - * - * Revision 1.3 1995/11/20 16:59:46 adam - * New update method: the 'old' keys are saved for each records. - * - * 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. - * - */ +/* $Id: recindex.h,v 1.28 2006-08-14 10:40:15 adam Exp $ + Copyright (C) 1995-2006 + 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 this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#ifndef RECINDEX_H +#define RECINDEX_H -#include +#include +#include +#include -#define REC_NO_INFO 4 +YAZ_BEGIN_CDECL + +#define REC_NO_INFO 8 typedef struct record_info { - int sysno; + SYSNO 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_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, size_t *len); - -enum { recInfo_fileType, - recInfo_filename, - recInfo_delKeys, - recInfo_databaseName, - recInfo_recordData - }; - +Record rec_cp(Record rec); +ZEBRA_RES rec_del(Records p, Record *recpp); +void rec_rm(Record *recpp); +ZEBRA_RES rec_put(Records p, Record *recpp); +Record rec_new(Records p); +Record rec_get(Records p, SYSNO sysno); +Record rec_get_root(Records p); +ZEBRA_RES rec_close (Records *p); +Records rec_open(BFiles bfs, int rw, int compression_method); +char *rec_strdup(const char *s, size_t *len); +void rec_prstat(Records p); + +SYSNO rec_sysno_to_int(SYSNO sysno); + +#define REC_COMPRESS_NONE 0 +#define REC_COMPRESS_BZIP2 1 + +enum { + recInfo_fileType, + recInfo_filename, + recInfo_delKeys, + recInfo_databaseName, + recInfo_storeData, + recInfo_attr, + recInfo_sortKeys +}; + +YAZ_END_CDECL +#endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +