/*
- * Copyright (c) 1995-2002, Index Data.
+ * Copyright (c) 1995-2003, 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,
* 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.21 2003-04-24 13:30:32 adam Exp $
*/
#ifndef BACKEND_H
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;
bend_association association;
} bend_segment_rr;
+typedef struct {
+ ODR stream;
+ ODR decode;
+ ODR print;
+ char *explain_buf;
+} 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);
} 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;
} 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