2276efd2bc1e4f482c83a2919fc421ecd6c04a06
[yaz-moved-to-github.git] / include / statserv.h
1 /*
2  * Copyright (c) 1995, Index Data.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and
5  * its documentation, in whole or in part, for any purpose, is hereby granted,
6  * provided that:
7  *
8  * 1. This copyright and permission notice appear in all copies of the
9  * software and its documentation. Notices of copyright or attribution
10  * which appear at the beginning of any file must remain unchanged.
11  *
12  * 2. The name of Index Data or the individual authors may not be used to
13  * endorse or promote products derived from this software without specific
14  * prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19  * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20  * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22  * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24  * OF THIS SOFTWARE.
25  *
26  * $Log: statserv.h,v $
27  * Revision 1.8  1997-05-14 06:53:51  adam
28  * C++ support.
29  *
30  * Revision 1.7  1995/09/29 17:12:12  quinn
31  * Smallish
32  *
33  * Revision 1.6  1995/09/27  15:02:53  quinn
34  * Modified function heads & prototypes.
35  *
36  * Revision 1.5  1995/06/19  12:38:31  quinn
37  * Reorganized include-files. Added small features.
38  *
39  * Revision 1.4  1995/06/15  07:45:08  quinn
40  * Moving to v3.
41  *
42  * Revision 1.3  1995/05/16  08:50:38  quinn
43  * License, documentation, and memory fixes
44  *
45  *
46  */
47
48 #ifndef STATSERVER_H
49 #define STATSERVER_H
50
51 #include <yconfig.h>
52 #include <oid.h>
53
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57
58 typedef struct statserv_options_block
59 {
60     int dynamic;                  /* fork on incoming requests */
61     int loglevel;                 /* desired logging-level */
62     char apdufile[ODR_MAXNAME+1]; /* file for pretty-printed PDUs */
63     char logfile[ODR_MAXNAME+1];  /* file for diagnostic output */
64     char default_listen[1024];    /* 0 == no default listen */
65     enum oid_proto default_proto; /* PROTO_SR or PROTO_Z3950 */
66     int idle_timeout;             /* how many minutes to wait before closing */
67     int maxrecordsize;            /* maximum value for negotiation */
68     char configname[ODR_MAXNAME+1];  /* given to the backend in bend_init */
69     char setuid[ODR_MAXNAME+1];     /* setuid to this user after binding */
70 } statserv_options_block;
71
72 int statserv_main(int argc, char **argv);
73 statserv_options_block *statserv_getcontrol(void);
74 void statserv_setcontrol(statserv_options_block *block);
75
76 #ifdef __cplusplus
77 }
78 #endif
79
80 #endif