X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fgrsread.h;h=0f9d05d1646f4c1a861c4e9a050d7f00d73e64f8;hb=68f2ac443fce741dad6036c30c31f8c150f5271f;hp=21a4fdc0c916ba1b4abb61e77da1189e71bea4f4;hpb=1300c402a9ecc32b470a7db96c0d93172ed1cf25;p=idzebra-moved-to-github.git diff --git a/recctrl/grsread.h b/recctrl/grsread.h index 21a4fdc..0f9d05d 100644 --- a/recctrl/grsread.h +++ b/recctrl/grsread.h @@ -1,10 +1,33 @@ /* - * 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.1 1996-10-11 10:57:23 adam + * Revision 1.8 1999-11-30 13:48:04 adam + * Improved installation. Updated for inclusion of YAZ header files. + * + * Revision 1.7 1999/05/26 07:49:14 adam + * C++ compilation. + * + * 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. where syntax refers + * to abstract syntax. New method tellf in retrieve/extract method. + * + * Revision 1.2 1997/04/30 08:56:08 quinn + * null + * + * Revision 1.1 1996/10/11 10:57:23 adam * New module recctrl. Used to manage records (extract/retrieval). * */ @@ -12,17 +35,39 @@ #ifndef GRSREAD_H #define GRSREAD_H -#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + struct grs_read_info { + void *clientData; int (*readf)(void *, char *, size_t); off_t (*seekf)(void *, off_t); + off_t (*tellf)(void *); void (*endf)(void *, off_t); void *fh; 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); +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; + +#ifdef __cplusplus +} +#endif + #endif