X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindxp.h;h=a38ceb4bcbb83f796965d75a22c6e7bd7d431eb6;hb=8fa59ec675af0ea4f15f157401c61121b5cb5782;hp=bad75eead861b87b53456de3e9d38d6bec1543e8;hpb=f3425fb457792aae865096cf9acf5cb41798b1d1;p=idzebra-moved-to-github.git diff --git a/index/recindxp.h b/index/recindxp.h index bad75ee..a38ceb4 100644 --- a/index/recindxp.h +++ b/index/recindxp.h @@ -1,59 +1,40 @@ -/* - * Copyright (C) 1994-1999, Index Data - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: recindxp.h,v $ - * 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 - * expressons in the search engine. - * - */ +/* $Id: recindxp.h,v 1.23 2007-11-23 13:52:52 adam Exp $ + Copyright (C) 1995-2007 + 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 + +*/ #include "recindex.h" -#include +#include -#ifdef __cplusplus -extern "C" { -#endif +YAZ_BEGIN_CDECL #define REC_BLOCK_TYPES 2 #define REC_HEAD_MAGIC "recindex" -#define REC_VERSION 1 +#define REC_VERSION 5 struct records_info { int rw; int compression_method; - char *index_fname; - BFile index_BFile; + recindex_t recindex; char *data_fname[REC_BLOCK_TYPES]; BFile data_BFile[REC_BLOCK_TYPES]; @@ -66,19 +47,21 @@ struct records_info { int cache_cur; int cache_max; + Zebra_mutex mutex; + 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]; - int block_used[REC_BLOCK_TYPES]; - int block_move[REC_BLOCK_TYPES]; + zint block_size[REC_BLOCK_TYPES]; + zint block_free[REC_BLOCK_TYPES]; + zint block_last[REC_BLOCK_TYPES]; + zint block_used[REC_BLOCK_TYPES]; + zint block_move[REC_BLOCK_TYPES]; - int total_bytes; - int index_last; - int index_free; - int no_records; + zint total_bytes; + zint index_last; + zint index_free; + zint no_records; } head; }; @@ -92,10 +75,18 @@ struct record_cache_entry { }; struct record_index_entry { - int next; /* first block of record info / next free entry */ - int size; /* size of record or 0 if free entry */ + zint next; /* first block of record info / next free entry */ + int size; /* size of record or 0 if free entry */ }; -#ifdef __cplusplus -} -#endif +Record rec_cp(Record rec); + +YAZ_END_CDECL +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +