-/* $Id: danbibr.c,v 1.4 2004-05-26 13:47:08 adam Exp $
- Copyright (C) 2004
- Index Data Aps
+/* $Id: danbibr.c,v 1.10 2005-03-31 12:42:06 adam Exp $
+ Copyright (C) 1995-2005
+ Index Data ApS
This file is part of the Zebra server.
#include <yaz/log.h>
-#include "grsread.h"
+#include <idzebra/recgrs.h>
#include <yaz/xmalloc.h>
-#include <yaz/log.h>
-#include <data1.h>
#define READ_CHUNK 200
char read_buf[READ_CHUNK+1]; /* space for \0 */
};
-static void *grs_init_danbib(void)
+static void *init_danbib(Res res, RecType rt)
{
struct danbibr_info *p = (struct danbibr_info *) xmalloc (sizeof(*p));
return root;
}
-static data1_node *grs_read_danbib (struct grs_read_info *p)
+static data1_node *read_danbib (struct grs_read_info *p)
{
struct danbibr_info *info = p->clientData;
return 0;
}
-static void grs_destroy_danbib(void *clientData)
+static void destroy_danbib(void *clientData)
{
struct danbibr_info *p = (struct danbibr_info *) clientData;
xfree (p);
}
-static struct recTypeGrs danbib_type = {
- "danbib",
- grs_init_danbib,
- grs_destroy_danbib,
- grs_read_danbib
+
+static int extract_danbib(void *clientData, struct recExtractCtrl *ctrl)
+{
+ return zebra_grs_extract(clientData, ctrl, read_danbib);
+}
+
+static int retrieve_danbib(void *clientData, struct recRetrieveCtrl *ctrl)
+{
+ return zebra_grs_retrieve(clientData, ctrl, read_danbib);
+}
+
+static struct recType danbib_type = {
+ 0,
+ "grs.danbib",
+ init_danbib,
+ 0,
+ destroy_danbib,
+ extract_danbib,
+ retrieve_danbib,
+};
+
+RecType
+#ifdef IDZEBRA_STATIC_GRS_DANBIB
+idzebra_filter_grs_danbib
+#else
+idzebra_filter
+#endif
+
+[] = {
+ &danbib_type,
+ 0,
};
+
-RecTypeGrs recTypeGrs_danbib = &danbib_type;