1ebbc71934a00f612f6b395389ca504cc5eb6b26
[idzebra-moved-to-github.git] / include / res.h
1 /*
2  * Copyright (C) 1994-1999, Index Data
3  * All rights reserved.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: res.h,v $
7  * Revision 1.10  1999-02-02 14:50:36  adam
8  * Updated WIN32 code specific sections. Changed header.
9  *
10  * Revision 1.9  1997/11/18 10:04:03  adam
11  * Function res_trav returns number of 'hits'.
12  *
13  * Revision 1.8  1997/09/17 12:19:10  adam
14  * Zebra version corresponds to YAZ version 1.4.
15  * Changed Zebra server so that it doesn't depend on global common_resource.
16  *
17  * Revision 1.7  1997/09/05 15:30:02  adam
18  * Changed prototype for chr_map_input - added const.
19  * Added support for C++, headers uses extern "C" for public definitions.
20  *
21  * Revision 1.6  1996/10/29 13:44:12  adam
22  * Added res_get_match.
23  *
24  * Revision 1.5  1994/09/16 14:37:46  quinn
25  * added res_get_def
26  *
27  * Revision 1.4  1994/09/06  13:02:29  quinn
28  * Removed const from res_get
29  *
30  * Revision 1.3  1994/08/18  09:43:04  adam
31  * Added res_trav. Major changes of prototypes.
32  *
33  * Revision 1.2  1994/08/18  08:22:26  adam
34  * Res.h modified. xmalloc now declares xstrdup.
35  *
36  */
37
38 #ifndef RES_H
39 #define RES_H
40
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44
45 struct res_entry {
46     char *name;
47     char *value;
48     struct res_entry *next;
49 };
50
51 typedef struct res_struct {
52     struct res_entry *first, *last;
53     char *name;
54     int  init;
55 } *Res;
56
57 Res res_open (const char *name);
58 void res_close (Res r);
59 char *res_get (Res r, const char *name);
60 char *res_get_def (Res r, const char *name, char *def);
61 int res_get_match (Res r, const char *name, const char *value, const char *s);
62 void res_put (Res r, const char *name, const char *value);
63 int res_trav (Res r, const char *prefix, void *p,
64               void (*f)(void *p, const char *name, const char *value));
65 int res_write (Res r);
66
67 #ifdef __cplusplus
68 }
69 #endif
70
71 #endif