X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fstatserv.h;h=7298ef7a89ba3cbcbd32eb59f13fe913b76b6ac9;hb=a0bdc8bbd4d346939e7c24fd7e07b6d361d78643;hp=705fc3a6fa589e51cdc8431c7cb0f89c600279fd;hpb=8f7995bdfe85beb2ff6fa08e99bb05242f3bf71f;p=yaz-moved-to-github.git diff --git a/include/statserv.h b/include/statserv.h index 705fc3a..7298ef7 100644 --- a/include/statserv.h +++ b/include/statserv.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-1998, Index Data. + * Copyright (c) 1995-1999, Index Data. * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -24,7 +24,22 @@ * OF THIS SOFTWARE. * * $Log: statserv.h,v $ - * Revision 1.13 1998-02-10 10:28:56 adam + * Revision 1.17 1999-07-06 12:17:15 adam + * Added option -1 that runs server once (for profiling purposes). + * + * Revision 1.16 1999/06/10 11:45:30 adam + * Added bend_start, bend_stop handlers and removed pre_init. + * Handlers bend_start/bend_stop are called when service/daemon is + * started/stopped. + * + * Revision 1.15 1999/04/16 14:45:55 adam + * Added interface for tcpd wrapper for access control. + * + * Revision 1.14 1999/02/02 13:57:32 adam + * Uses preprocessor define WIN32 instead of WINDOWS to build code + * for Microsoft WIN32. + * + * Revision 1.13 1998/02/10 10:28:56 adam * Added app_name, service_dependencies, service_display_name and * options_func. options_func allows us to specify a different function * to interogate the command line arguments. The other members allow us @@ -77,6 +92,7 @@ #define STATSERVER_H #include +#include #include #ifdef __cplusplus @@ -86,6 +102,7 @@ extern "C" { typedef struct statserv_options_block { int dynamic; /* fork on incoming requests */ + int one_shot; /* one session then exit(1) */ int loglevel; /* desired logging-level */ char apdufile[ODR_MAXNAME+1]; /* file for pretty-printed PDUs */ char logfile[ODR_MAXNAME+1]; /* file for diagnostic output */ @@ -95,18 +112,21 @@ typedef struct statserv_options_block int maxrecordsize; /* maximum value for negotiation */ char configname[ODR_MAXNAME+1]; /* given to the backend in bend_init */ char setuid[ODR_MAXNAME+1]; /* setuid to this user after binding */ - void (*pre_init)(struct statserv_options_block *p); + void (*bend_start)(struct statserv_options_block *p); + void (*bend_stop)(struct statserv_options_block *p); int (*options_func)(int argc, char **argv); + int (*check_ip)(void *cd, const char *addr, int len, int type); + char daemon_name[128]; int inetd; /* Do we use the inet deamon or not */ -#ifdef WINDOWS +#ifdef WIN32 /* We only have these members for the windows version */ /* They seemed a bit large to have them there in general */ char service_name[128]; /* NT Service Name */ char app_name[128]; /* Application Name */ char service_dependencies[128]; /* The services we are dependent on */ char service_display_name[128]; /* The service display name */ -#endif /* WINDOWS */ +#endif /* WIN32 */ } statserv_options_block; int statserv_main(int argc, char **argv); @@ -115,6 +135,8 @@ void statserv_closedown(void); statserv_options_block *statserv_getcontrol(void); void statserv_setcontrol(statserv_options_block *block); +int check_ip_tcpd(void *cd, const char *addr, int len, int type); + #ifdef __cplusplus } #endif