1903cf6d8eef8e64994f371541b8f0d4b1dccba9
[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.8  1997-09-17 12:19:10  adam
8  * Zebra version corresponds to YAZ version 1.4.
9  * Changed Zebra server so that it doesn't depend on global common_resource.
10  *
11  * Revision 1.7  1997/09/05 15:30:02  adam
12  * Changed prototype for chr_map_input - added const.
13  * Added support for C++, headers uses extern "C" for public definitions.
14  *
15  * Revision 1.6  1996/10/29 13:44:12  adam
16  * Added res_get_match.
17  *
18  * Revision 1.5  1994/09/16 14:37:46  quinn
19  * added res_get_def
20  *
21  * Revision 1.4  1994/09/06  13:02:29  quinn
22  * Removed const from res_get
23  *
24  * Revision 1.3  1994/08/18  09:43:04  adam
25  * Added res_trav. Major changes of prototypes.
26  *
27  * Revision 1.2  1994/08/18  08:22:26  adam
28  * Res.h modified. xmalloc now declares xstrdup.
29  *
30  */
31
32 #ifndef RES_H
33 #define RES_H
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 struct res_entry {
40     char *name;
41     char *value;
42     struct res_entry *next;
43 };
44
45 typedef struct res_struct {
46     struct res_entry *first, *last;
47     char *name;
48     int  init;
49 } *Res;
50
51 Res res_open (const char *name);
52 void res_close (Res r);
53 char *res_get (Res r, const char *name);
54 char *res_get_def (Res r, const char *name, char *def);
55 int res_get_match (Res r, const char *name, const char *value, const char *s);
56 void res_put (Res r, const char *name, const char *value);
57 void res_trav (Res r, const char *prefix, void *p,
58                void (*f)(void *p, const char *name, const char *value));
59 int res_write (Res r);
60
61 #ifdef __cplusplus
62 }
63 #endif
64
65 #endif