X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Ffrontend.xml;h=2247a5fef92dc0a2f06c02c5aba487e59e9fe943;hb=5b9a39fc00ab0969ff020f05c51c5d336e00d762;hp=7ab9e8381af2f7c276669d64f7e0999ee36cd42f;hpb=02e5bbc0d685b1f565cbd71bc7c61858e74c4382;p=yaz-moved-to-github.git diff --git a/doc/frontend.xml b/doc/frontend.xml index 7ab9e83..2247a5f 100644 --- a/doc/frontend.xml +++ b/doc/frontend.xml @@ -1,4 +1,4 @@ - + Generic server Introduction @@ -99,6 +99,10 @@ Result-Set Sort (optional). + + Return Explain for SRW/SRU (optional). + + @@ -372,6 +376,8 @@ typedef struct bend_initrequest /* character set and language negotiation - see include/yaz/z-charneg.h */ Z_CharSetandLanguageNegotiation *charneg_request; Z_External *charneg_response; + int (*bend_srw_explain)(void *handle, bend_explain_rr *rr); + int (*bend_srw_scan)(void *handle, bend_scan_rr *rr); } bend_initrequest; typedef struct bend_initresult @@ -458,6 +464,7 @@ typedef struct { int hits; /* number of hits */ int errcode; /* 0==OK */ char *errstring; /* system error string or NULL */ + Z_OtherInformation *search_info; } bend_search_rr; @@ -715,8 +722,22 @@ typedef struct bend_scan_rr { bend_scan_status status; int errcode; char *errstring; + char *scanClause; /* CQL scan clause */ } bend_scan_rr; + + This backend server handles both Z39.50 scan + and SRW/SRU scan. In order for a + handler to distinguish between SRW/SRU (CQL) scan + Z39.50 Scan , it must check for a non-NULL value of + scanClause. + + + + if designed today, it would be a choice using a union or similar, + but that would break binary compatibility with existing servers. + + @@ -814,7 +835,7 @@ typedef struct bend_scan_rr { - Virtual hosts + Virtual Hosts &gfs-virtual;