/*
- * Copyright (c) 1995-2002, 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.16 2002-09-16 10:48:06 adam Exp $
+ * $Id: backend.h,v 1.31 2005-05-20 19:29:18 adam Exp $
+ */
+
+/**
+ * \file backend.h
+ * \brief Header for GFS
+ *
+ * This header includes all public definitions for the
+ * Generic Frontend Server (GFS).
*/
#ifndef BACKEND_H
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 */
} bend_search_rr;
/* extended present handler. Does not replace bend_fetch. */
int errcode; /* 0==success */
char *errstring; /* system error string or NULL */
int surrogate_flag; /* surrogate diagnostic */
+ char *schema; /* string record schema input/output */
} bend_fetch_rr;
struct scan_entry {
int occurrences; /* no of occurrences or -1 if error (see below) */
int errcode; /* Bib-1 diagnostic code; only used when occur.= -1 */
char *errstring; /* Additional string */
+ char *display_term;
};
typedef enum {
int term_position; /* desired index of term in result list/returned */
int num_entries; /* number of entries requested/returned */
+ /* scan term entries. The called handler does not have
+ to allocate this. Size of entries is num_entries (see above) */
struct scan_entry *entries;
bend_scan_status status;
int errcode;
char *errstring;
+ char *scanClause; /* CQL scan clause */
} bend_scan_rr;
/* delete handler */
bend_association association;
} bend_segment_rr;
+typedef struct {
+ ODR stream;
+ ODR decode;
+ ODR print;
+ char *explain_buf;
+ char *database;
+ char *schema;
+ void *server_node_ptr;
+} bend_explain_rr;
+
typedef struct bend_initrequest
{
Z_IdAuthentication *auth;
/* character set and language negotiation - see include/yaz/z-charneg.h */
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);
} bend_initrequest;
typedef struct bend_initresult
char service_dependencies[128]; /* The services we are dependent on */
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_EXPORT void statserv_setcontrol(statserv_options_block *block);
YAZ_EXPORT int check_ip_tcpd(void *cd, const char *addr, int len, int type);
+
YAZ_END_CDECL
#endif