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