-/* $Id: api.h,v 1.3 2004-11-29 21:55:25 adam Exp $
- Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
- Index Data Aps
+/* $Id: api.h,v 1.8 2005-01-15 22:10:16 adam Exp $
+ Copyright (C) 1995-2005
+ Index Data ApS
This file is part of the Zebra server.
02111-1307, USA.
*/
+/**
+ * \file api.h
+ * \brief Zebra API
+ */
+
/* Return codes:
* Most functions return an int. Unix-like, 0 means OK,
* non-zero means an error. The error info should be available
#include <idzebra/res.h>
#include <idzebra/version.h>
-/* Fixme! Compare string (ignore case) */
-#ifdef WIN32
-#define STRCASECMP stricmp
-#else
-#define STRCASECMP strcasecmp
-#endif
-
YAZ_BEGIN_CDECL
typedef struct {
char *term; /* scan term string */
} ZebraScanEntry;
+/** \var ZebraHandle
+ * \brief a Zebra Handle - (session)
+ */
typedef struct zebra_session *ZebraHandle;
+
+/** \var ZebraService
+ * \brief a Zebra Service handle
+ */
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 int zebra_stop (ZebraService zs);
+/** \fn ZebraService zebra_start(const char *configName)
+ * \brief starts a Zebra service
+ * \param configName name of configuration file
+ */
+YAZ_EXPORT ZebraService zebra_start
+(const char *configName);
+
+/** \fn ZebraService zebra_start_res(const char *configName, Res def_res, Res over_res)
+ * \brief starts a Zebra service with resources
+ * \param configName name of configuration file
+ * \param def_res default resources
+ * \param over_res overriding resources
+ */
+YAZ_EXPORT
+ZebraService zebra_start_res (const char *configName,
+ Res def_res, Res over_res);
-/* Report name of each record class (filter) */
-YAZ_EXPORT void zebra_filter_info(ZebraService zs, void *cd,
- void (*cb)(void *cd, const char *name));
+/** \fn int zebra_stop(ZebraService zs)
+ * \brief stops a Zebra service
+ * \param zs service handle
+ */
+YAZ_EXPORT
+int zebra_stop (ZebraService zs);
+
+/** \fn void zebra_filter_info(ZebraService zs, void *cd, void (*cb)(void *cd, const char *name))
+ * \brief lists enabled Zebra filters
+ * \param zs service handle
+ * \param cd callback parameter (opaque)
+ * \param cb callback function
+ */
+YAZ_EXPORT
+void zebra_filter_info(ZebraService zs, void *cd,
+ void (*cb)(void *cd, const char *name));
/* Open a ZebraHandle */
/* Browse */
YAZ_EXPORT int zebra_scan (ZebraHandle zh, ODR stream,
- Z_AttributesPlusTerm *zapt,
- oid_value attributeset,
- int *position, int *num_entries,
- ZebraScanEntry **list,
- int *is_partial);
+ Z_AttributesPlusTerm *zapt,
+ oid_value attributeset,
+ int *position, int *num_entries,
+ ZebraScanEntry **list,
+ int *is_partial);
YAZ_EXPORT
int zebra_record_encoding (ZebraHandle zh, const char *encoding);
+YAZ_EXPORT
+int zebra_record_encoding (ZebraHandle zh, const char *encoding);
+
+YAZ_EXPORT
+int zebra_octet_term_encoding(ZebraHandle zh, const char *encoding);
+
/* Resources */
YAZ_EXPORT
int zebra_set_resource(ZebraHandle zh, const char *name, const char *value);
int score;
} ZebraMetaRecord;
-YAZ_EXPORT ZebraMetaRecord *zebra_meta_records_create (ZebraHandle zh,
- const char *name,
- int num,
- zint *positions);
+YAZ_EXPORT
+ZebraMetaRecord *zebra_meta_records_create (ZebraHandle zh,
+ const char *name,
+ int num, zint *positions);
+
-YAZ_EXPORT void zebra_meta_records_destroy (ZebraHandle zh,
- ZebraMetaRecord *records, int num);
+YAZ_EXPORT
+ZebraMetaRecord *zebra_meta_records_create_range (ZebraHandle zh,
+ const char *name,
+ zint start, int num);
+
+YAZ_EXPORT
+void zebra_meta_records_destroy (ZebraHandle zh, ZebraMetaRecord *records,
+ int num);
YAZ_END_CDECL
#endif