X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fsrw.h;h=22433538f5f6ba61c577793c50541e3065eb017d;hp=18cc7430a75a350cb476a0fc1db873eec75e2072;hb=d21f71aa7f9d30fdf457c58e7403723415506c1e;hpb=e12377e7ea8e58cf447492b5cb9887b839a78700 diff --git a/include/yaz/srw.h b/include/yaz/srw.h index 18cc743..2243353 100644 --- a/include/yaz/srw.h +++ b/include/yaz/srw.h @@ -2,7 +2,7 @@ * Copyright (c) 2002-2003, Index Data. * See the file LICENSE for details. * - * $Id: srw.h,v 1.4 2003-02-19 15:22:11 adam Exp $ + * $Id: srw.h,v 1.6 2003-03-20 21:15:00 adam Exp $ */ #ifndef YAZ_SRW_H @@ -12,6 +12,9 @@ typedef struct { char *recordSchema; + int recordPacking; +#define Z_SRW_recordPacking_string 0 +#define Z_SRW_recordPacking_XML 1 char *recordData_buf; int recordData_len; int *recordPosition; @@ -23,11 +26,26 @@ typedef struct { } Z_SRW_diagnostic; typedef struct { - char *query; - char *pQuery; - void *xQuery; - char *sortKeys; - void *xSortKeys; + +#define Z_SRW_query_type_cql 1 +#define Z_SRW_query_type_xcql 2 +#define Z_SRW_query_type_pqf 3 + int query_type; + union { + char *cql; + char *xcql; + char *pqf; + } query; + +#define Z_SRW_sort_type_none 1 +#define Z_SRW_sort_type_sort 2 +#define Z_SRW_sort_type_xSort 3 + int sort_type; + union { + char *none; + char *sortKeys; + char *xSortKeys; + } sort; int *startRecord; int *maximumRecords; char *recordSchema; @@ -57,12 +75,12 @@ typedef struct { Z_SRW_searchRetrieveRequest *request; Z_SRW_searchRetrieveResponse *response; } u; -} Z_SRW_searchRetrieve; +} Z_SRW_PDU; YAZ_EXPORT int yaz_srw_codec(ODR o, void * pptr, - Z_SRW_searchRetrieve **handler_data, + Z_SRW_PDU **handler_data, void *client_data, const char *ns); -YAZ_EXPORT Z_SRW_searchRetrieve *yaz_srw_get(ODR o, int which); +YAZ_EXPORT Z_SRW_PDU *yaz_srw_get(ODR o, int which); YAZ_EXPORT const char *yaz_diag_srw_str (int code);