X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fres.h;h=1ebbc71934a00f612f6b395389ca504cc5eb6b26;hb=43e51e6fd8d1e10b5d5b6d62de8da6ec833f806c;hp=82d892f1cc034d91a71e63f9a85dd9697970e08a;hpb=146a66bc15816555b4e233e5b9d224ce91ab94ee;p=idzebra-moved-to-github.git diff --git a/include/res.h b/include/res.h index 82d892f..1ebbc71 100644 --- a/include/res.h +++ b/include/res.h @@ -1,18 +1,71 @@ /* - * Copyright (C) 1994, Index Data I/S + * Copyright (C) 1994-1999, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: res.h,v $ - * Revision 1.1 1994-08-17 15:34:14 adam - * Initial version of resource manager. + * Revision 1.10 1999-02-02 14:50:36 adam + * Updated WIN32 code specific sections. Changed header. + * + * Revision 1.9 1997/11/18 10:04:03 adam + * Function res_trav returns number of 'hits'. + * + * Revision 1.8 1997/09/17 12:19:10 adam + * Zebra version corresponds to YAZ version 1.4. + * Changed Zebra server so that it doesn't depend on global common_resource. + * + * Revision 1.7 1997/09/05 15:30:02 adam + * Changed prototype for chr_map_input - added const. + * Added support for C++, headers uses extern "C" for public definitions. + * + * Revision 1.6 1996/10/29 13:44:12 adam + * Added res_get_match. + * + * Revision 1.5 1994/09/16 14:37:46 quinn + * added res_get_def + * + * Revision 1.4 1994/09/06 13:02:29 quinn + * Removed const from res_get + * + * Revision 1.3 1994/08/18 09:43:04 adam + * Added res_trav. Major changes of prototypes. + * + * Revision 1.2 1994/08/18 08:22:26 adam + * Res.h modified. xmalloc now declares xstrdup. * */ #ifndef RES_H #define RES_H -const char *res_get (const char *name); -const char *res_put (const char *name, const char *value); -int res_write (void); +#ifdef __cplusplus +extern "C" { +#endif + +struct res_entry { + char *name; + char *value; + struct res_entry *next; +}; + +typedef struct res_struct { + struct res_entry *first, *last; + char *name; + int init; +} *Res; + +Res res_open (const char *name); +void res_close (Res r); +char *res_get (Res r, const char *name); +char *res_get_def (Res r, const char *name, char *def); +int res_get_match (Res r, const char *name, const char *value, const char *s); +void res_put (Res r, const char *name, const char *value); +int res_trav (Res r, const char *prefix, void *p, + void (*f)(void *p, const char *name, const char *value)); +int res_write (Res r); + +#ifdef __cplusplus +} +#endif + #endif