X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fstatserv.h;h=f27442a755ce545fe0d155cfe33a0f86582cfee0;hb=957e9475ba40602fa1def5f1a6ff5a5b10c7c13c;hp=47a093e471909d85d7e63bd879aaa10f9f26f257;hpb=46ed30d0d83dd1b21e58a4db365a60aefaa5aad8;p=yaz-moved-to-github.git diff --git a/include/statserv.h b/include/statserv.h index 47a093e..f27442a 100644 --- a/include/statserv.h +++ b/include/statserv.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 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,43 @@ * OF THIS SOFTWARE. * * $Log: statserv.h,v $ - * Revision 1.9 1997-09-01 08:49:53 adam + * 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 + * to pass the full service details accross to the service manager (CW). + * + * Revision 1.??? 1997/12/18 Chas + * 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 + * to pass the full service details accross to the service manager. + * + * Revision 1.12 1997/11/07 13:31:47 adam + * Added NT Service name part of statserv_options_block. Moved NT + * service utility to server library. + * + * Revision 1.11 1997/10/27 14:03:01 adam + * Added new member to statserver_options_block, pre_init, which + * specifies a callback to be invoked after command line parsing and + * before the server listens for the first time. + * + * Revision 1.10 1997/09/01 09:31:26 adam + * Removed definition statserv_remove to eventl.h. (A hack really). + * + * Revision 1.9 1997/09/01 08:49:53 adam * New windows NT/95 port using MSV5.0. To export DLL functions the * YAZ_EXPORT modifier was added. Defined in yconfig.h. * @@ -53,13 +89,13 @@ #define STATSERVER_H #include +#include #include -#include "eventl.h" #ifdef __cplusplus extern "C" { #endif - + typedef struct statserv_options_block { int dynamic; /* fork on incoming requests */ @@ -72,13 +108,30 @@ 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 (*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 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 /* WIN32 */ } statserv_options_block; - + int statserv_main(int argc, char **argv); +int statserv_start(int argc, char **argv); void statserv_closedown(void); statserv_options_block *statserv_getcontrol(void); void statserv_setcontrol(statserv_options_block *block); -void statserv_remove(IOCHAN pIOChannel); + +int check_ip_tcpd(void *cd, const char *addr, int len, int type); #ifdef __cplusplus }