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