-/* $Id: api.h,v 1.5 2004-12-21 22:00:57 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 */