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