Implemented TCL filter. Updated recctrl system.
[idzebra-moved-to-github.git] / recctrl / grsread.h
index 247c615..7ec6cbc 100644 (file)
@@ -1,10 +1,20 @@
 /*
- * Copyright (C) 1994-1996, Index Data I/S 
+ * Copyright (C) 1994-1999, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: grsread.h,v $
- * Revision 1.3  1997-09-04 13:54:40  adam
+ * Revision 1.6  1999-05-20 12:57:18  adam
+ * Implemented TCL filter. Updated recctrl system.
+ *
+ * Revision 1.5  1999/02/02 14:51:26  adam
+ * Updated WIN32 code specific sections. Changed header.
+ *
+ * Revision 1.4  1997/09/17 12:19:21  adam
+ * Zebra version corresponds to YAZ version 1.4.
+ * Changed Zebra server so that it doesn't depend on global common_resource.
+ *
+ * Revision 1.3  1997/09/04 13:54:40  adam
  * Added MARC filter - type grs.marc.<syntax> where syntax refers
  * to abstract syntax. New method tellf in retrieve/extract method.
  *
@@ -21,6 +31,7 @@
 
 #include <data1.h>
 struct grs_read_info {
+    void *clientData;
     int (*readf)(void *, char *, size_t);
     off_t (*seekf)(void *, off_t);
     off_t (*tellf)(void *);
@@ -29,9 +40,18 @@ struct grs_read_info {
     off_t offset;
     char type[80];
     NMEM mem;
+    data1_handle dh;
 };
 
-data1_node *grs_read_regx (struct grs_read_info *p);
-data1_node *grs_read_sgml (struct grs_read_info *p);
-data1_node *grs_read_marc (struct grs_read_info *p);
+typedef struct recTypeGrs {
+    char *type;
+    void *(*init)(void);
+    void (*destroy)(void *clientData);
+    data1_node *(*read)(struct grs_read_info *p);
+} *RecTypeGrs;
+
+extern RecTypeGrs recTypeGrs_sgml;
+extern RecTypeGrs recTypeGrs_regx;
+extern RecTypeGrs recTypeGrs_tcl;
+extern RecTypeGrs recTypeGrs_marc;
 #endif