X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fzebraapi.h;h=1a53175dce3b76f7e07695a4864e7b9fc463f849;hb=da1267b22edd9e3be497ce84b9734a0c870defdd;hp=1733617b1467fd89c42963bc27886cb6f4de74ba;hpb=b547f7eb4e4ae29d08a2c0fb7e2108b22ade3dd7;p=idzebra-moved-to-github.git diff --git a/include/zebraapi.h b/include/zebraapi.h index 1733617..1a53175 100644 --- a/include/zebraapi.h +++ b/include/zebraapi.h @@ -1,5 +1,5 @@ -/* $Id: zebraapi.h,v 1.4 2003-05-20 12:52:49 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 +/* $Id: zebraapi.h,v 1.15 2004-08-06 13:36:22 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps This file is part of the Zebra server. @@ -20,12 +20,19 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* Return codes: + * Most functions return an int. Unix-like, 0 means OK, + * non-zero means an error. The error info should be available + * via zebra_errCode and friends. + */ + #ifndef ZEBRAAPI_H #define ZEBRAAPI_H #include #include #include +#include #include /* Fixme! Compare string (ignore case) */ @@ -37,21 +44,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 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; -}; - typedef struct { int processed; int inserted; @@ -70,7 +62,7 @@ typedef struct { int len; /* length */ oid_value format; /* record syntax */ char *base; - int sysno; + SYSNO sysno; int score; } ZebraRetrievalRecord; @@ -91,9 +83,11 @@ typedef struct zebra_service *ZebraService; /* Start Zebra using file 'configName' (usually zebra.cfg) */ /* There should be exactly one ZebraService */ YAZ_EXPORT ZebraService zebra_start (const char *configName); +YAZ_EXPORT ZebraService zebra_start_res (const char *configName, + Res def_res, Res over_res); /* Close the whole Zebra */ -YAZ_EXPORT void zebra_stop (ZebraService zs); +YAZ_EXPORT int zebra_stop (ZebraService zs); /* Open a ZebraHandle */ @@ -103,7 +97,7 @@ YAZ_EXPORT void zebra_stop (ZebraService zs); YAZ_EXPORT ZebraHandle zebra_open (ZebraService zs); /* Close handle */ -YAZ_EXPORT void zebra_close (ZebraHandle zh); +YAZ_EXPORT int zebra_close (ZebraHandle zh); /********* * Error handling @@ -119,25 +113,26 @@ YAZ_EXPORT const char *zebra_errString (ZebraHandle zh); YAZ_EXPORT char *zebra_errAdd (ZebraHandle zh); /* get the result code and addinfo from zh */ -YAZ_EXPORT void zebra_result (ZebraHandle zh, int *code, char **addinfo); +YAZ_EXPORT int zebra_result (ZebraHandle zh, int *code, char **addinfo); /* FIXME - why is this needed?? -H */ +/* clear them error things */ +YAZ_EXPORT void zebra_clearError(ZebraHandle zh); /************** * Searching */ -/* Search using RPN-Query */ -YAZ_EXPORT void zebra_search_rpn (ZebraHandle zh, ODR input, ODR output, - Z_RPNQuery *query, - const char *setname, int *hits); +/* Search using PQF Query */ +YAZ_EXPORT int zebra_search_PQF (ZebraHandle zh, const char *pqf_query, + const char *setname, int *numhits); -YAZ_EXPORT int zebra_search_PQF (ZebraHandle zh, - const char *pqf_query, - const char *setname); +/* Search using RPN Query */ +YAZ_EXPORT int zebra_search_RPN (ZebraHandle zh, ODR o, Z_RPNQuery *query, + const char *setname, int *hits); /* Retrieve record(s) */ -YAZ_EXPORT void zebra_records_retrieve (ZebraHandle zh, ODR stream, +YAZ_EXPORT int zebra_records_retrieve (ZebraHandle zh, ODR stream, const char *setname, Z_RecordComposition *comp, oid_value input_format, int num_recs, ZebraRetrievalRecord *recs); @@ -149,7 +144,7 @@ YAZ_EXPORT int zebra_deleleResultSet(ZebraHandle zh, int function, /* Browse */ -YAZ_EXPORT void zebra_scan (ZebraHandle zh, ODR stream, +YAZ_EXPORT int zebra_scan (ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, oid_value attributeset, int *position, int *num_entries, @@ -176,24 +171,23 @@ YAZ_EXPORT int zebra_string_norm (ZebraHandle zh, unsigned reg_id, * Admin */ -YAZ_EXPORT void zebra_create_database (ZebraHandle zh, const char *db); - +YAZ_EXPORT int zebra_create_database (ZebraHandle zh, const char *db); +YAZ_EXPORT int zebra_drop_database (ZebraHandle zh, const char *db); -YAZ_EXPORT void zebra_admin_shutdown (ZebraHandle zh); -YAZ_EXPORT void zebra_admin_start (ZebraHandle zh); +YAZ_EXPORT int zebra_admin_shutdown (ZebraHandle zh); +YAZ_EXPORT int zebra_admin_start (ZebraHandle zh); -YAZ_EXPORT void zebra_shutdown (ZebraService zs); +YAZ_EXPORT int zebra_shutdown (ZebraService zs); -YAZ_EXPORT void zebra_admin_import_begin (ZebraHandle zh, const char *database, +YAZ_EXPORT int zebra_admin_import_begin (ZebraHandle zh, const char *database, const char *record_type); -YAZ_EXPORT void zebra_admin_import_segment (ZebraHandle zh, +YAZ_EXPORT int zebra_admin_import_segment (ZebraHandle zh, Z_Segment *segment); -void zebra_admin_import_end (ZebraHandle zh); +YAZ_EXPORT int 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, @@ -208,25 +202,38 @@ int zebra_clean (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); - +int zebra_repository_update (ZebraHandle zh, const char *path); +int zebra_repository_delete (ZebraHandle zh, const char *path); +int zebra_repository_show (ZebraHandle zh, const char *path); + +int zebra_add_record (ZebraHandle zh, const char *buf, int buf_size); + +int zebra_insert_record (ZebraHandle zh, + const char *recordType, + SYSNO *sysno, const char *match, const char *fname, + const char *buf, int buf_size, + int force_update); +int zebra_update_record (ZebraHandle zh, + const char *recordType, + SYSNO *sysno, const char *match, const char *fname, + const char *buf, int buf_size, + int force_update); +int zebra_delete_record (ZebraHandle zh, + const char *recordType, + SYSNO *sysno, const char *match, const char *fname, + const char *buf, int buf_size, + int force_update); YAZ_EXPORT int zebra_resultSetTerms (ZebraHandle zh, const char *setname, - int no, int *count, + int no, zint *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_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, @@ -236,21 +243,23 @@ YAZ_EXPORT int zebra_select_database (ZebraHandle zh, const char *basename); YAZ_EXPORT -void zebra_shadow_enable (ZebraHandle zh, int value); +int zebra_shadow_enable (ZebraHandle zh, int value); YAZ_EXPORT -void zebra_register_statistics (ZebraHandle zh, int dumpdict); +int 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); +int 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_EXPORT void zebra_pidfname(ZebraService zs, char *path); + YAZ_END_CDECL #endif