X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fbackend.h;h=e32cd73d3a3c54035680c02be99e176b05d6e441;hp=84df83bbb2aed2a66dc323b7aae22b2dcd035f35;hb=7efed25c2ed807d32001e749f87f2eb300548c22;hpb=6ac71490dcd57707b2f5e77abfe3ca4e0944cc68 diff --git a/include/yaz/backend.h b/include/yaz/backend.h index 84df83b..e32cd73 100644 --- a/include/yaz/backend.h +++ b/include/yaz/backend.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2013 Index Data. + * Copyright (C) Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -151,6 +151,7 @@ typedef struct bend_scan_rr { char *errstring; char *scanClause; /**< CQL scan clause */ char *setname; /**< Scan in result set (NULL if omitted) */ + Z_SRW_extra_arg *extra_args; /**< SRU extra request parameters (input) */ char *extra_response_data; /**< SRW extra XML response (output) */ } bend_scan_rr; @@ -323,25 +324,26 @@ typedef struct bend_initresult void *handle; /* private handle to the backend module */ } bend_initresult; +#define BEND_NAME_MAX 1024 + /** \brief control block for server */ typedef struct statserv_options_block { int dynamic; /**< fork on incoming requests */ int threads; /**< use threads */ int one_shot; /**< one session then exit(1) */ - char apdufile[ODR_MAXNAME+1]; /**< file for pretty-printed PDUs */ - char logfile[ODR_MAXNAME+1]; /**< file for diagnostic output */ - char default_listen[1024]; /**< 0 == no default listen */ + char apdufile[BEND_NAME_MAX]; /**< file for pretty-printed PDUs */ + char logfile[BEND_NAME_MAX]; /**< file for diagnostic output */ enum oid_proto default_proto; /**< PROTO_SR or PROTO_Z3950 */ int idle_timeout; /**< how many minutes to wait before closing */ 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 */ + char configname[BEND_NAME_MAX]; /**< given to the backend in bend_init */ + char setuid[BEND_NAME_MAX]; /**< 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]; + char daemon_name[BEND_NAME_MAX]; int inetd; /**< Do we use the inet deamon or not */ void *handle; /**< Handle */ @@ -350,17 +352,16 @@ typedef struct statserv_options_block #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 */ + char service_name[BEND_NAME_MAX];/**< NT Service Name */ + char app_name[BEND_NAME_MAX]; /**< Application Name */ + char service_dependencies[BEND_NAME_MAX]; + char service_display_name[BEND_NAME_MAX]; #endif /* WIN32 */ - struct bend_soap_handler *soap_handlers; - char pid_fname[128]; /**< pid fname */ - int background; /**< auto daemon */ - char cert_fname[128]; /**< SSL certificate fname */ - char xml_config[128]; /**< XML config filename */ - int keepalive; /**< keep alive if HTTP 1.1 (default: 1) */ + char pid_fname[BEND_NAME_MAX]; /**< pid fname */ + int background; /**< auto daemon */ + char cert_fname[BEND_NAME_MAX];/**< SSL certificate fname */ + char xml_config[BEND_NAME_MAX];/**< XML config filename */ + int keepalive; /**< keep alive if HTTP 1.1 (default: 1) */ } statserv_options_block; YAZ_EXPORT int statserv_main(