X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fgrsread.h;h=c7c4ad17e6666d193ddf231c623736c2eb995069;hb=1cc3a4c563181caabb6f18ca40a0796051a73b57;hp=21a4fdc0c916ba1b4abb61e77da1189e71bea4f4;hpb=1300c402a9ecc32b470a7db96c0d93172ed1cf25;p=idzebra-moved-to-github.git diff --git a/recctrl/grsread.h b/recctrl/grsread.h index 21a4fdc..c7c4ad1 100644 --- a/recctrl/grsread.h +++ b/recctrl/grsread.h @@ -1,28 +1,64 @@ -/* - * Copyright (C) 1994-1996, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: grsread.h,v $ - * Revision 1.1 1996-10-11 10:57:23 adam - * New module recctrl. Used to manage records (extract/retrieval). - * - */ +/* $Id: grsread.h,v 1.10 2002-08-02 19:26:56 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + #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