Minor changes.
[egate.git] / kernel / kernel.h
1 /* Gateway kernel
2  * Europagate, 1995
3  *
4  * kernel.h,v
5  * Revision 1.5  1995/02/22  15:22:32  adam
6  * Much more checking of run-time state. Show command never retrieves
7  * more records than indicated by the previous search request. Help
8  * command available. The maximum number of records retrieved can be
9  * controlled now.
10  *
11  * Revision 1.4  1995/02/20  21:16:18  adam
12  * FML support. Bug fixes. Profile for drewdb.
13  *
14  * Revision 1.3  1995/02/16  18:35:08  adam
15  * First use of Zdist library. Search requests are supported.
16  * Present requests are not supported yet.
17  *
18  * Revision 1.2  1995/02/16  13:20:59  adam
19  * Organization of resource files for targets and conversion
20  * language implemented.
21  *
22  * Revision 1.1  1995/02/15  17:45:29  adam
23  * First version of email gateway kernel. Email requests are read
24  * from stdin. The output is transferred to an MTA if 'From' is
25  * found in the header - or stdout if absent. No Z39.50 client is used.
26  *
27  */
28
29 #include <gw-res.h>
30 #include <gw-log.h>
31 #include <ccl.h>
32 #include <zaccess.h>
33
34 #include <iso2709.h>
35 #if USE_FML
36 #include <fmlmarc.h>
37 #endif
38
39 int urp (FILE *inf);
40
41 struct gw_user_set {
42     char *name;        /* name of result set */
43     int hits;          /* -1 on error */
44     struct gw_user_set *prev;
45 };
46
47 struct gw_kernel_info {
48     CCL_bibset bibset;
49     GwRes kernel_res;
50     const char *default_res; 
51     const char *override_res;
52     char target[128];
53     char hostname[128];
54     int  port;
55     const char *lang;
56     const char *override_portno;
57     const char *override_hostname;
58     char *databases;
59     ZASS  zass;
60 #if USE_FML
61     Fml   fml;
62 #endif
63     struct gw_user_set *sets;
64 };
65
66 extern struct gw_kernel_info info;
67
68 extern FILE *reply_fd;
69
70 void read_kernel_res (void);
71
72 struct gw_user_set *user_set_add (const char *name, int hits);
73 struct gw_user_set *user_set_search (const char *name);
74 void user_set_init (void);