X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fgrsread.h;h=c68d103fdf65bafd30a5cd8357d64f2580786113;hb=a749ce4ff4739420474e7d40f400321a86f67684;hp=b0f2ca1b4f064e4935687c5526f598b2178595a7;hpb=9b426aeb9256cef844693c13f38aba4b10f7056d;p=idzebra-moved-to-github.git diff --git a/recctrl/grsread.h b/recctrl/grsread.h index b0f2ca1..c68d103 100644 --- a/recctrl/grsread.h +++ b/recctrl/grsread.h @@ -1,31 +1,48 @@ /* - * Copyright (C) 1994-1996, Index Data I/S + * Copyright (C) 1994-2002, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * - * $Log: grsread.h,v $ - * 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). - * + * $Id: grsread.h,v 1.9 2002-05-13 14:13:43 adam Exp $ */ #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; +extern RecTypeGrs recTypeGrs_xml; + +#ifdef __cplusplus +} +#endif + #endif