X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.h;h=f34c52a6b1aee8b6a7520cb59b3836921e71e8bf;hb=9bbaa63b531cc24a1bc79e0447a9d6fbde113a3f;hp=8fe0dad4ad400529ddbd791557f306a968abd237;hpb=7e75317bed8eecabcb57e59b16093a32238738e2;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.h b/index/zebraapi.h index 8fe0dad..f34c52a 100644 --- a/index/zebraapi.h +++ b/index/zebraapi.h @@ -1,10 +1,26 @@ -/* - * Copyright (C) 1994-2002, Index Data - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Id: zebraapi.h,v 1.13 2002-02-20 17:30:01 adam Exp $ - */ +/* $Id: zebraapi.h,v 1.23 2003-01-15 07:26:40 oleg 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 ZEBRAAPI_H #define ZEBRAAPI_H @@ -12,9 +28,32 @@ #include #include #include +#include + +/* Fixme! Compare string (ignore case) */ +#ifdef WIN32 +#define STRCASECMP stricmp +#else +#define STRCASECMP strcasecmp +#endif YAZ_BEGIN_CDECL +struct recordGroup { + char *groupName; + char *databaseName; + char *path; + char *recordId; + char *recordType; + int flagStoreData; + int flagStoreKeys; + int flagRw; + int fileVerboseLimit; + int databaseNamePath; + int explainDatabase; + int followLinks; +}; + /* Retrieval Record Descriptor */ typedef struct { int errCode; /* non-zero if error when fetching this */ @@ -40,8 +79,8 @@ YAZ_EXPORT ZebraHandle zebra_open (ZebraService zs); /* Search using RPN-Query */ YAZ_EXPORT void zebra_search_rpn (ZebraHandle zh, ODR input, ODR output, - Z_RPNQuery *query, int num_bases, char **basenames, - const char *setname); + Z_RPNQuery *query, + const char *setname, int *hits); /* Retrieve record(s) */ YAZ_EXPORT void zebra_records_retrieve (ZebraHandle zh, ODR stream, @@ -53,7 +92,6 @@ YAZ_EXPORT void zebra_records_retrieve (ZebraHandle zh, ODR stream, YAZ_EXPORT void zebra_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, oid_value attributeset, - int num_bases, char **basenames, int *position, int *num_entries, ZebraScanEntry **list, int *is_partial); @@ -74,11 +112,8 @@ YAZ_EXPORT const char *zebra_errString (ZebraHandle zh); /* extra information associated with error */ YAZ_EXPORT char *zebra_errAdd (ZebraHandle zh); -/* number of hits (after search) */ -YAZ_EXPORT int zebra_hits (ZebraHandle zh); - /* do authentication */ -YAZ_EXPORT int zebra_auth (ZebraService zh, const char *user, const char *pass); +YAZ_EXPORT int zebra_auth (ZebraHandle zh, const char *user, const char *pass); /* Character normalisation on specific register . This routine is subject to change - do not use. */ @@ -96,24 +131,73 @@ YAZ_EXPORT void zebra_admin_start (ZebraHandle zh); YAZ_EXPORT void zebra_shutdown (ZebraService zs); -YAZ_EXPORT void zebra_admin_import_begin (ZebraHandle zh, const char *database); +YAZ_EXPORT void zebra_admin_import_begin (ZebraHandle zh, const char *database, + const char *record_type); YAZ_EXPORT void zebra_admin_import_segment (ZebraHandle zh, Z_Segment *segment); void zebra_admin_import_end (ZebraHandle zh); +int zebra_admin_exchange_record (ZebraHandle zh, + const char *database, + const char *rec_buf, + size_t rec_len, + const char *recid_buf, size_t recid_len, + int action); + void zebra_begin_trans (ZebraHandle zh); void zebra_end_trans (ZebraHandle zh); -void zebra_commit (ZebraHandle zh); +int zebra_commit (ZebraHandle zh); -void zebra_init (ZebraHandle zh); -void zebra_compact (ZebraHandle zh); +int zebra_init (ZebraHandle zh); +int zebra_compact (ZebraHandle zh); void zebra_repository_update (ZebraHandle zh); void zebra_repository_delete (ZebraHandle zh); void zebra_repository_show (ZebraHandle zh); int zebra_record_insert (ZebraHandle zh, const char *buf, int len); +YAZ_EXPORT void zebra_set_group (ZebraHandle zh, struct recordGroup *rg); + +YAZ_EXPORT void zebra_result (ZebraHandle zh, int *code, char **addinfo); + + +YAZ_EXPORT int zebra_resultSetTerms (ZebraHandle zh, const char *setname, + int no, int *count, + int *type, char *out, size_t *len); + +YAZ_EXPORT void zebra_sort (ZebraHandle zh, ODR stream, + int num_input_setnames, + const char **input_setnames, + const char *output_setname, + Z_SortKeySpecList *sort_sequence, + int *sort_status); + + +YAZ_EXPORT +int zebra_select_databases (ZebraHandle zh, int num_bases, + const char **basenames); + +YAZ_EXPORT +int zebra_select_database (ZebraHandle zh, const char *basename); + +YAZ_EXPORT +void zebra_shadow_enable (ZebraHandle zh, int value); + +YAZ_EXPORT +void zebra_register_statistics (ZebraHandle zh, int dumpdict); + +YAZ_EXPORT +int zebra_record_encoding (ZebraHandle zh, const char *encoding); + +/* Resources */ +YAZ_EXPORT +void zebra_set_resource(ZebraHandle zh, const char *name, const char *value); +YAZ_EXPORT +const char *zebra_get_resource(ZebraHandle zh, + const char *name, const char *defaultvalue); + + YAZ_END_CDECL #endif