X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fidzebra%2Fapi.h;h=f38e65797756b74e9e1aa42774228d5d8e635fb8;hb=8174591e6c5c002acca0db83c4c46e1d0265a9e2;hp=3b7268a479b4d656569cc3cc6afdac71e367d9b6;hpb=538b41355b5607b4bd09c9c98682694fd6628940;p=idzebra-moved-to-github.git diff --git a/include/idzebra/api.h b/include/idzebra/api.h index 3b7268a..f38e657 100644 --- a/include/idzebra/api.h +++ b/include/idzebra/api.h @@ -1,4 +1,4 @@ -/* $Id: api.h,v 1.44 2007-01-17 13:22:53 adam Exp $ +/* $Id: api.h,v 1.51 2007-05-21 11:54:59 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -32,10 +32,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define IDZEBRA_API_H #include -#include #include #include #include +#include YAZ_BEGIN_CDECL @@ -55,7 +55,7 @@ typedef struct { int position; /* position of record in result set (1,2,..) */ char *buf; /* record buffer (void pointer really) */ int len; /* length */ - oid_value format; /* record syntax */ + const Odr_oid *format; /* record syntax */ char *base; zint sysno; int score; @@ -161,6 +161,14 @@ char *zebra_errAdd(ZebraHandle zh); YAZ_EXPORT void zebra_result(ZebraHandle zh, int *code, char **addinfo); + +/** \brief Returns character set encoding for session + \param zh zebra session handle. + \returns encoding name (e.g. "iso-8859-1") +*/ +YAZ_EXPORT +const char *zebra_get_encoding(ZebraHandle zh); + /** \brief Set limit before Zebra does approx hit count \param zh session handle \param approx_limit the limit @@ -220,7 +228,7 @@ YAZ_EXPORT ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream, const char *setname, Z_RecordComposition *comp, - oid_value input_format, + const Odr_oid *input_format, int num_recs, ZebraRetrievalRecord *recs); /** \brief Deletes one or more resultsets @@ -287,7 +295,7 @@ ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname, */ YAZ_EXPORT ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream, Z_AttributesPlusTerm *zapt, - oid_value attributeset, + const Odr_oid *attributeset, int *position, int *num_entries, ZebraScanEntry **entries, int *is_partial, @@ -364,13 +372,6 @@ YAZ_EXPORT ZEBRA_RES zebra_admin_import_end(ZebraHandle zh); YAZ_EXPORT -ZEBRA_RES zebra_admin_exchange_record(ZebraHandle zh, - const char *rec_buf, - size_t rec_len, - const char *recid_buf, size_t recid_len, - int action); - -YAZ_EXPORT ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw ) ZEBRA_GCC_ATTR((warn_unused_result)); @@ -403,30 +404,34 @@ ZEBRA_RES zebra_repository_delete(ZebraHandle zh, const char *path); YAZ_EXPORT ZEBRA_RES zebra_repository_show(ZebraHandle zh, const char *path); +/** \brief Simple update record + \param zh session handle + \param buf record buffer + \param buf_size record buffer size + + This function is a simple wrapper or zebra_update_record with + action=action_update (insert or replace) . +*/ YAZ_EXPORT ZEBRA_RES zebra_add_record(ZebraHandle zh, const char *buf, int buf_size); -YAZ_EXPORT -ZEBRA_RES zebra_insert_record(ZebraHandle zh, - const char *recordType, - zint *sysno, const char *match, - const char *fname, - const char *buf, int buf_size, - int force_update); +/** \brief Updates record + \param zh session handle + \param action (insert,replace,delete or update (replace/insert) + \param recordType filter type (0 indicates default) + \param sysno system id (0 may be passed for no known id) + \param match match criteria (0 may be passed for no known criteria) + \param fname filename to be printed for logging (0 may be passed) + \param buf record buffer + \param buf_size record buffer size +*/ YAZ_EXPORT ZEBRA_RES zebra_update_record(ZebraHandle zh, - const char *recordType, - zint *sysno, const char *match, - const char *fname, - const char *buf, int buf_size, - int force_update); -YAZ_EXPORT -ZEBRA_RES zebra_delete_record(ZebraHandle zh, - const char *recordType, - zint *sysno, const char *match, + enum zebra_recctrl_action_t action, + const char *recordType, + zint *sysno, const char *match, const char *fname, - const char *buf, int buf_size, - int force_update); + const char *buf, int buf_size); YAZ_EXPORT ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream, @@ -498,9 +503,9 @@ YAZ_EXPORT ZEBRA_RES zebra_set_limit(ZebraHandle zh, int complement_flag, zint *ids); YAZ_EXPORT -ZEBRA_RES zebra_set_busy_handler(ZebraHandle zh, - int (*f)(void *client_data, ZebraHandle zh), - void *client_data); +ZEBRA_RES zebra_set_break_handler(ZebraHandle zh, + int (*f)(void *client_data), + void *client_data); YAZ_END_CDECL