/*
- * Copyright (c) 1995-2003, Index Data.
+ * Copyright (C) 1995-2005, Index Data ApS
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: backend.h,v 1.22 2003-12-29 14:54:33 adam Exp $
+ * $Id: backend.h,v 1.36 2006-03-22 13:55:06 mike Exp $
+ */
+
+/**
+ * \file backend.h
+ * \brief Header for GFS
+ *
+ * This header includes all public definitions for the
+ * Generic Frontend Server (GFS).
*/
#ifndef BACKEND_H
#include <yaz/yconfig.h>
#include <yaz/proto.h>
+#include <yaz/srw.h>
YAZ_BEGIN_CDECL
int errcode; /* 0==OK */
char *errstring; /* system error string or NULL */
Z_OtherInformation *search_info; /* additional search info */
+ char *srw_sortKeys; /* holds SRU/SRW sortKeys info */
+ char *srw_setname; /* holds SRU/SRW generated resultsetID */
+ int *srw_setnameIdleTime; /* holds SRU/SRW life-time */
} bend_search_rr;
/* extended present handler. Does not replace bend_fetch. */
bend_scan_status status;
int errcode;
char *errstring;
+ char *scanClause; /* CQL scan clause */
} bend_scan_rr;
+typedef struct bend_update_rr {
+ int num_bases; /* number of elements in databaselist */
+ char **basenames; /* databases to search */
+ Z_ReferenceId *referenceId; /* reference ID */
+ ODR stream; /* encoding stream - memory source if required */
+ ODR print; /* printing stream */
+ char *operation;
+ char *operation_status;
+ char *record_id;
+ char *record_version;
+ char *record_checksum;
+ char *record_old_version;
+ char *record_packing;
+ char *record_schema;
+ char *record_data;
+ Z_SRW_extra_record *request_extra_record;
+ Z_SRW_extra_record *response_extra_record;
+ char *extra_request_data;
+ char *extra_response_data;
+ int errcode;
+ char *errstring;
+} bend_update_rr;
+
/* delete handler */
typedef struct bend_delete_rr {
int function;
ODR print;
char *explain_buf;
char *database;
+ char *schema;
+ void *server_node_ptr;
} bend_explain_rr;
typedef struct bend_initrequest
Z_CharSetandLanguageNegotiation *charneg_request;
Z_External *charneg_response;
int (*bend_explain)(void *handle, bend_explain_rr *rr);
+ int (*bend_srw_scan)(void *handle, bend_scan_rr *rr);
+ int (*bend_srw_update)(void *handle, bend_update_rr *rr);
} bend_initrequest;
typedef struct bend_initresult
} bend_initresult;
YAZ_EXPORT void bend_request_send (bend_association a, bend_request req,
- Z_APDU *res);
+ Z_APDU *res);
YAZ_EXPORT bend_request bend_request_mk (bend_association a);
int dynamic; /* fork on incoming requests */
int threads; /* use threads */
int one_shot; /* one session then exit(1) */
- int loglevel; /* desired logging-level */
+ int __UNUSED__loglevel; /* desired logging-level */
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 service_display_name[128]; /* The service display name */
#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 */
} statserv_options_block;
YAZ_EXPORT int statserv_main(
YAZ_END_CDECL
#endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+