srw.h File Reference

Header for SRW/SRU. More...

#include <yaz/soap.h>
#include <yaz/zgdu.h>
#include <yaz/diagsrw.h>
#include <yaz/diagsru_update.h>

Go to the source code of this file.

Data Structures

struct  Z_SRW_extra_record
struct  Z_SRW_record
struct  Z_SRW_diagnostic
struct  Z_SRW_searchRetrieveRequest
struct  Z_SRW_searchRetrieveResponse
struct  Z_SRW_explainRequest
struct  Z_SRW_explainResponse
struct  Z_SRW_scanRequest
struct  Z_SRW_scanTerm
struct  Z_SRW_scanResponse
struct  Z_SRW_recordVersion
struct  Z_SRW_updateRequest
struct  Z_SRW_extra_arg
struct  Z_SRW_updateResponse
struct  Z_SRW_PDU

Defines

#define Z_SRW_recordPacking_string   0
#define Z_SRW_recordPacking_XML   1
#define Z_SRW_recordPacking_URL   2
#define Z_SRW_query_type_cql   1
#define Z_SRW_query_type_xcql   2
#define Z_SRW_query_type_pqf   3
#define Z_SRW_sort_type_none   1
#define Z_SRW_sort_type_sort   2
#define Z_SRW_sort_type_xSort   3
#define Z_SRW_searchRetrieve_request   1
#define Z_SRW_searchRetrieve_response   2
#define Z_SRW_explain_request   3
#define Z_SRW_explain_response   4
#define Z_SRW_scan_request   5
#define Z_SRW_scan_response   6
#define Z_SRW_update_request   7
#define Z_SRW_update_response   8
#define YAZ_XMLNS_SRU_v1_0   "http://www.loc.gov/zing/srw/v1.0/"
#define YAZ_XMLNS_SRU_v1_1   "http://www.loc.gov/zing/srw/"
#define YAZ_XMLNS_DIAG_v1_1   "http://www.loc.gov/zing/srw/diagnostic/"
#define YAZ_XMLNS_UPDATE_v0_9   "http://www.loc.gov/zing/srw/update/"

Typedefs

typedef struct Z_SRW_extra_arg Z_SRW_extra_arg

Functions

int yaz_srw_codec (ODR o, void *pptr, Z_SRW_PDU **handler_data, void *client_data, const char *ns)
int yaz_ucp_codec (ODR o, void *pptr, Z_SRW_PDU **handler_data, void *client_data, const char *ns)
Z_SRW_PDUyaz_srw_get_core_v_1_1 (ODR o)
Z_SRW_PDUyaz_srw_get_pdu (ODR o, int which, const char *version)
Z_SRW_PDUyaz_srw_get (ODR o, int which)
Z_SRW_recordVersionyaz_srw_get_record_versions (ODR o, int num)
Z_SRW_extra_recordyaz_srw_get_extra_record (ODR o)
Z_SRW_recordyaz_srw_get_record (ODR o)
Z_SRW_recordyaz_srw_get_records (ODR o, int num)
int yaz_diag_bib1_to_srw (int bib1_code)
int yaz_diag_srw_to_bib1 (int srw_code)
const char * yaz_srw_pack_to_str (int pack)
int yaz_srw_str_to_pack (const char *str)
char * yaz_uri_val (const char *path, const char *name, ODR o)
void yaz_uri_val_int (const char *path, const char *name, ODR o, int **intp)
int yaz_srw_decode (Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, Z_SOAP **soap_package, ODR decode, char **charset)
int yaz_sru_decode (Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu, Z_SOAP **soap_package, ODR decode, char **charset, Z_SRW_diagnostic **, int *num_diagnostic)
void yaz_add_srw_diagnostic (ODR o, Z_SRW_diagnostic **d, int *num, int code, const char *addinfo)
void yaz_add_sru_update_diagnostic (ODR o, Z_SRW_diagnostic **d, int *num, int code, const char *addinfo)
void yaz_mk_std_diagnostic (ODR o, Z_SRW_diagnostic *d, int code, const char *details)
void yaz_add_srw_diagnostic_uri (ODR o, Z_SRW_diagnostic **d, int *num, const char *uri, const char *message, const char *details)
void yaz_mk_srw_diagnostic (ODR o, Z_SRW_diagnostic *d, const char *uri, const char *message, const char *details)
int yaz_sru_get_encode (Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, ODR encode, const char *charset)
int yaz_sru_post_encode (Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, ODR encode, const char *charset)
int yaz_sru_soap_encode (Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, ODR odr, const char *charset)
char * yaz_negotiate_sru_version (char *input_ver)
void yaz_encode_sru_extra (Z_SRW_PDU *sr, ODR odr, const char *extra_args)
int yaz_srw_check_content_type (Z_HTTP_Response *hres)
int sru_decode_surrogate_diagnostics (const char *buf, size_t len, Z_SRW_diagnostic **diag, int *num, ODR odr)
void yaz_mk_sru_surrogate (ODR o, Z_SRW_record *record, int pos, int code, const char *details)


Detailed Description

Header for SRW/SRU.

Definition in file srw.h.


Define Documentation

#define YAZ_XMLNS_DIAG_v1_1   "http://www.loc.gov/zing/srw/diagnostic/"

Definition at line 284 of file srw.h.

Referenced by yaz_ucp_codec().

#define YAZ_XMLNS_SRU_v1_0   "http://www.loc.gov/zing/srw/v1.0/"

Definition at line 282 of file srw.h.

Referenced by yaz_srw_decode().

#define YAZ_XMLNS_SRU_v1_1   "http://www.loc.gov/zing/srw/"

Definition at line 283 of file srw.h.

Referenced by yaz_sru_decode(), yaz_sru_soap_encode(), yaz_srw_decode(), and yaz_ucp_codec().

#define YAZ_XMLNS_UPDATE_v0_9   "http://www.loc.gov/zing/srw/update/"

Definition at line 285 of file srw.h.

Referenced by yaz_sru_soap_encode(), and yaz_srw_decode().

#define Z_SRW_explain_request   3

Definition at line 193 of file srw.h.

Referenced by yaz_sru_decode(), yaz_srw_codec(), yaz_srw_decode(), and yaz_srw_get_pdu().

#define Z_SRW_explain_response   4

Definition at line 194 of file srw.h.

Referenced by yaz_srw_codec(), and yaz_srw_get_pdu().

#define Z_SRW_query_type_cql   1

Definition at line 68 of file srw.h.

Referenced by yaz_sru_decode(), yaz_srw_codec(), and yaz_srw_get_pdu().

#define Z_SRW_query_type_pqf   3

Definition at line 70 of file srw.h.

Referenced by yaz_sru_decode(), and yaz_srw_codec().

#define Z_SRW_query_type_xcql   2

Definition at line 69 of file srw.h.

Referenced by yaz_srw_codec().

#define Z_SRW_recordPacking_string   0

#define Z_SRW_recordPacking_URL   2

Definition at line 54 of file srw.h.

Referenced by yaz_srw_pack_to_str(), and yaz_srw_str_to_pack().

#define Z_SRW_recordPacking_XML   1

Definition at line 53 of file srw.h.

Referenced by yaz_srw_pack_to_str(), and yaz_srw_str_to_pack().

#define Z_SRW_scan_request   5

Definition at line 195 of file srw.h.

Referenced by yaz_sru_decode(), yaz_srw_codec(), yaz_srw_decode(), and yaz_srw_get_pdu().

#define Z_SRW_scan_response   6

Definition at line 196 of file srw.h.

Referenced by yaz_srw_codec(), and yaz_srw_get_pdu().

#define Z_SRW_searchRetrieve_request   1

Definition at line 191 of file srw.h.

Referenced by yaz_sru_decode(), yaz_srw_codec(), yaz_srw_decode(), and yaz_srw_get_pdu().

#define Z_SRW_searchRetrieve_response   2

Definition at line 192 of file srw.h.

Referenced by yaz_srw_codec(), and yaz_srw_get_pdu().

#define Z_SRW_sort_type_none   1

Definition at line 78 of file srw.h.

Referenced by yaz_srw_codec(), and yaz_srw_get_pdu().

#define Z_SRW_sort_type_sort   2

Definition at line 79 of file srw.h.

Referenced by yaz_sru_decode(), and yaz_srw_codec().

#define Z_SRW_sort_type_xSort   3

Definition at line 80 of file srw.h.

Referenced by yaz_srw_codec().

#define Z_SRW_update_request   7

Definition at line 197 of file srw.h.

Referenced by yaz_sru_soap_encode(), yaz_srw_decode(), yaz_srw_get_pdu(), and yaz_ucp_codec().

#define Z_SRW_update_response   8

Definition at line 198 of file srw.h.

Referenced by yaz_sru_soap_encode(), yaz_srw_get_pdu(), and yaz_ucp_codec().


Typedef Documentation

Definition at line 171 of file srw.h.


Function Documentation

int sru_decode_surrogate_diagnostics ( const char *  buf,
size_t  len,
Z_SRW_diagnostic **  diag,
int *  num,
ODR  odr 
)

Definition at line 491 of file srw.c.

void yaz_add_sru_update_diagnostic ( ODR  o,
Z_SRW_diagnostic **  d,
int *  num,
int  code,
const char *  addinfo 
)

Definition at line 337 of file srwutil.c.

References yaz_add_srw_diagnostic_uri().

void yaz_add_srw_diagnostic ( ODR  o,
Z_SRW_diagnostic **  d,
int *  num,
int  code,
const char *  addinfo 
)

Definition at line 327 of file srwutil.c.

References yaz_add_srw_diagnostic_uri().

Referenced by yaz_sru_decode(), and yaz_srw_decode().

void yaz_add_srw_diagnostic_uri ( ODR  o,
Z_SRW_diagnostic **  d,
int *  num,
const char *  uri,
const char *  message,
const char *  details 
)

Definition at line 313 of file srwutil.c.

References odr_malloc(), and yaz_mk_srw_diagnostic().

Referenced by yaz_add_sru_update_diagnostic(), and yaz_add_srw_diagnostic().

int yaz_diag_bib1_to_srw ( int  bib1_code  ) 

Definition at line 1165 of file srwutil.c.

int yaz_diag_srw_to_bib1 ( int  srw_code  ) 

Definition at line 1177 of file srwutil.c.

void yaz_encode_sru_extra ( Z_SRW_PDU sr,
ODR  odr,
const char *  extra_args 
)

void yaz_mk_sru_surrogate ( ODR  o,
Z_SRW_record record,
int  pos,
int  code,
const char *  details 
)

void yaz_mk_srw_diagnostic ( ODR  o,
Z_SRW_diagnostic d,
const char *  uri,
const char *  message,
const char *  details 
)

void yaz_mk_std_diagnostic ( ODR  o,
Z_SRW_diagnostic d,
int  code,
const char *  details 
)

Definition at line 304 of file srwutil.c.

References yaz_mk_srw_diagnostic().

char* yaz_negotiate_sru_version ( char *  input_ver  ) 

Definition at line 197 of file srw.c.

Referenced by yaz_sru_decode(), and yaz_srw_codec().

int yaz_sru_decode ( Z_HTTP_Request hreq,
Z_SRW_PDU **  srw_pdu,
Z_SOAP **  soap_package,
ODR  decode,
char **  charset,
Z_SRW_diagnostic **  diag,
int *  num_diag 
)

http://www.loc.gov/z3950/agency/zing/srw/service.html

Definition at line 493 of file srwutil.c.

References Z_HTTP_Request::content_buf, Z_SRW_scanRequest::cql, Z_SRW_searchRetrieveRequest::cql, Z_SRW_scanRequest::database, Z_SRW_explainRequest::database, Z_SRW_searchRetrieveRequest::database, Z_SRW_PDU::explain_request, Z_SRW_PDU::extra_args, Z_HTTP_Request::headers, Z_SRW_searchRetrieveRequest::maximumRecords, Z_SRW_scanRequest::maximumTerms, Z_HTTP_Request::method, Z_SRW_extra_arg::next, Z_SOAP_Handler::ns, odr_malloc(), odr_strdup(), Z_HTTP_Request::path, Z_SRW_scanRequest::pqf, Z_SRW_searchRetrieveRequest::pqf, Z_SRW_searchRetrieveRequest::query, Z_SRW_scanRequest::query_type, Z_SRW_searchRetrieveRequest::query_type, Z_SRW_explainRequest::recordPacking, Z_SRW_searchRetrieveRequest::recordPacking, Z_SRW_searchRetrieveRequest::recordSchema, Z_SRW_searchRetrieveRequest::recordXPath, Z_SRW_PDU::request, Z_SRW_scanRequest::responsePosition, Z_SRW_PDU::scan_request, Z_SRW_scanRequest::scanClause, Z_SRW_searchRetrieveRequest::sort, Z_SRW_searchRetrieveRequest::sort_type, Z_SRW_searchRetrieveRequest::sortKeys, Z_SRW_PDU::srw_version, Z_SRW_searchRetrieveRequest::startRecord, Z_SRW_scanRequest::stylesheet, Z_SRW_explainRequest::stylesheet, Z_SRW_searchRetrieveRequest::stylesheet, Z_SRW_PDU::u, yaz_add_srw_diagnostic(), yaz_negotiate_sru_version(), yaz_srw_codec(), yaz_srw_get(), YAZ_SRW_MANDATORY_PARAMETER_NOT_SUPPLIED, YAZ_SRW_UNSUPP_OPERATION, YAZ_SRW_UNSUPP_PARAMETER, YAZ_SRW_UNSUPP_VERSION, yaz_strcmp_del(), yaz_uri_to_array(), YAZ_XMLNS_SRU_v1_1, z_HTTP_header_lookup(), Z_SOAP_generic, Z_SRW_explain_request, Z_SRW_query_type_cql, Z_SRW_query_type_pqf, Z_SRW_scan_request, Z_SRW_searchRetrieve_request, and Z_SRW_sort_type_sort.

int yaz_sru_get_encode ( Z_HTTP_Request hreq,
Z_SRW_PDU srw_pdu,
ODR  encode,
const char *  charset 
)

int yaz_sru_post_encode ( Z_HTTP_Request hreq,
Z_SRW_PDU srw_pdu,
ODR  encode,
const char *  charset 
)

int yaz_sru_soap_encode ( Z_HTTP_Request hreq,
Z_SRW_PDU srw_pdu,
ODR  odr,
const char *  charset 
)

int yaz_srw_check_content_type ( Z_HTTP_Response hres  ) 

Definition at line 227 of file srwutil.c.

References Z_HTTP_Response::headers, yaz_strcmp_del(), and z_HTTP_header_lookup().

int yaz_srw_codec ( ODR  o,
void *  pptr,
Z_SRW_PDU **  handler_data,
void *  client_data,
const char *  ns 
)

Definition at line 629 of file srw.c.

References add_xsd_string(), Z_SRW_scanRequest::cql, Z_SRW_searchRetrieveRequest::cql, Z_SRW_scanRequest::database, Z_SRW_explainRequest::database, Z_SRW_searchRetrieveRequest::database, Z_SRW_scanResponse::diagnostics, Z_SRW_explainResponse::diagnostics, Z_SRW_searchRetrieveResponse::diagnostics, odr::direction, Z_SRW_explainResponse::extra_record, Z_SRW_searchRetrieveResponse::extra_records, Z_SRW_searchRetrieveRequest::maximumRecords, Z_SRW_scanRequest::maximumTerms, Z_SRW_searchRetrieveResponse::nextRecordPosition, Z_SRW_searchRetrieveRequest::none, Z_SRW_scanResponse::num_diagnostics, Z_SRW_explainResponse::num_diagnostics, Z_SRW_searchRetrieveResponse::num_diagnostics, Z_SRW_searchRetrieveResponse::num_records, Z_SRW_scanResponse::num_terms, Z_SRW_searchRetrieveResponse::numberOfRecords, ODR_DECODE, ODR_ENCODE, odr_malloc(), Z_SRW_scanRequest::pqf, Z_SRW_searchRetrieveRequest::pqf, Z_SRW_searchRetrieveRequest::query, Z_SRW_scanRequest::query_type, Z_SRW_searchRetrieveRequest::query_type, Z_SRW_explainResponse::record, Z_SRW_record::recordData_buf, Z_SRW_record::recordData_len, Z_SRW_explainRequest::recordPacking, Z_SRW_searchRetrieveRequest::recordPacking, Z_SRW_record::recordPosition, Z_SRW_searchRetrieveResponse::records, Z_SRW_record::recordSchema, Z_SRW_searchRetrieveRequest::recordSchema, Z_SRW_searchRetrieveRequest::recordXPath, Z_SRW_PDU::request, Z_SRW_scanRequest::responsePosition, Z_SRW_searchRetrieveResponse::resultSetId, Z_SRW_searchRetrieveResponse::resultSetIdleTime, Z_SRW_searchRetrieveRequest::resultSetTTL, Z_SRW_scanRequest::scanClause, Z_SRW_searchRetrieveRequest::sort, Z_SRW_searchRetrieveRequest::sort_type, Z_SRW_searchRetrieveRequest::sortKeys, Z_SRW_searchRetrieveRequest::startRecord, Z_SRW_scanRequest::stylesheet, Z_SRW_explainRequest::stylesheet, Z_SRW_searchRetrieveRequest::stylesheet, Z_SRW_scanResponse::terms, Z_SRW_PDU::u, Z_SRW_searchRetrieveRequest::xcql, Z_SRW_searchRetrieveRequest::xSortKeys, yaz_negotiate_sru_version(), yaz_srw_get_core_v_1_1(), Z_SRW_explain_request, Z_SRW_explain_response, Z_SRW_query_type_cql, Z_SRW_query_type_pqf, Z_SRW_query_type_xcql, Z_SRW_scan_request, Z_SRW_scan_response, Z_SRW_searchRetrieve_request, Z_SRW_searchRetrieve_response, Z_SRW_sort_type_none, Z_SRW_sort_type_sort, and Z_SRW_sort_type_xSort.

Referenced by yaz_sru_decode(), yaz_sru_soap_encode(), and yaz_srw_decode().

int yaz_srw_decode ( Z_HTTP_Request hreq,
Z_SRW_PDU **  srw_pdu,
Z_SOAP **  soap_package,
ODR  decode,
char **  charset 
)

Z_SRW_PDU* yaz_srw_get ( ODR  o,
int  which 
)

Definition at line 873 of file srwutil.c.

References yaz_srw_get_pdu().

Referenced by yaz_sru_decode().

Z_SRW_PDU* yaz_srw_get_core_v_1_1 ( ODR  o  ) 

Definition at line 868 of file srwutil.c.

Referenced by yaz_srw_codec(), and yaz_ucp_codec().

Z_SRW_extra_record* yaz_srw_get_extra_record ( ODR  o  ) 

Z_SRW_PDU* yaz_srw_get_pdu ( ODR  o,
int  which,
const char *  version 
)

Definition at line 878 of file srwutil.c.

References Z_SRW_scanRequest::cql, Z_SRW_searchRetrieveRequest::cql, Z_SRW_updateRequest::database, Z_SRW_scanRequest::database, Z_SRW_explainRequest::database, Z_SRW_searchRetrieveRequest::database, Z_SRW_updateResponse::diagnostics, Z_SRW_scanResponse::diagnostics, Z_SRW_explainResponse::diagnostics, Z_SRW_searchRetrieveResponse::diagnostics, Z_SRW_PDU::explain_request, Z_SRW_PDU::explain_response, Z_SRW_updateResponse::extra_record, Z_SRW_updateRequest::extra_record, Z_SRW_explainResponse::extra_record, Z_SRW_searchRetrieveResponse::extra_records, Z_SRW_updateRequest::extraRequestData_buf, Z_SRW_updateRequest::extraRequestData_len, Z_SRW_updateResponse::extraResponseData_buf, Z_SRW_updateResponse::extraResponseData_len, Z_SRW_searchRetrieveRequest::maximumRecords, Z_SRW_scanRequest::maximumTerms, Z_SRW_searchRetrieveResponse::nextRecordPosition, Z_SRW_searchRetrieveRequest::none, Z_SRW_updateResponse::num_diagnostics, Z_SRW_scanResponse::num_diagnostics, Z_SRW_explainResponse::num_diagnostics, Z_SRW_searchRetrieveResponse::num_diagnostics, Z_SRW_searchRetrieveResponse::num_records, Z_SRW_updateResponse::num_recordVersions, Z_SRW_updateRequest::num_recordVersions, Z_SRW_scanResponse::num_terms, Z_SRW_searchRetrieveResponse::numberOfRecords, odr_malloc(), Z_SRW_updateResponse::operationStatus, Z_SRW_searchRetrieveRequest::query, Z_SRW_scanRequest::query_type, Z_SRW_searchRetrieveRequest::query_type, Z_SRW_updateResponse::record, Z_SRW_updateRequest::record, Z_SRW_explainResponse::record, Z_SRW_record::recordData_buf, Z_SRW_record::recordData_len, Z_SRW_updateResponse::recordId, Z_SRW_updateRequest::recordId, Z_SRW_record::recordPacking, Z_SRW_explainRequest::recordPacking, Z_SRW_searchRetrieveRequest::recordPacking, Z_SRW_record::recordPosition, Z_SRW_searchRetrieveResponse::records, Z_SRW_record::recordSchema, Z_SRW_searchRetrieveRequest::recordSchema, Z_SRW_updateResponse::recordVersions, Z_SRW_updateRequest::recordVersions, Z_SRW_searchRetrieveRequest::recordXPath, Z_SRW_PDU::request, Z_SRW_PDU::response, Z_SRW_scanRequest::responsePosition, Z_SRW_searchRetrieveResponse::resultSetId, Z_SRW_searchRetrieveResponse::resultSetIdleTime, Z_SRW_searchRetrieveRequest::resultSetTTL, Z_SRW_PDU::scan_request, Z_SRW_PDU::scan_response, Z_SRW_scanRequest::scanClause, Z_SRW_searchRetrieveRequest::sort, Z_SRW_searchRetrieveRequest::sort_type, Z_SRW_searchRetrieveRequest::startRecord, Z_SRW_updateRequest::stylesheet, Z_SRW_scanRequest::stylesheet, Z_SRW_explainRequest::stylesheet, Z_SRW_searchRetrieveRequest::stylesheet, Z_SRW_scanResponse::terms, Z_SRW_PDU::u, Z_SRW_PDU::update_request, Z_SRW_PDU::update_response, Z_SRW_PDU::which, Z_SRW_explain_request, Z_SRW_explain_response, Z_SRW_query_type_cql, Z_SRW_recordPacking_string, Z_SRW_scan_request, Z_SRW_scan_response, Z_SRW_searchRetrieve_request, Z_SRW_searchRetrieve_response, Z_SRW_sort_type_none, Z_SRW_update_request, and Z_SRW_update_response.

Referenced by yaz_srw_get().

Z_SRW_record* yaz_srw_get_record ( ODR  o  ) 

Definition at line 853 of file srwutil.c.

References yaz_srw_get_records().

Referenced by yaz_ucp_codec().

Z_SRW_recordVersion* yaz_srw_get_record_versions ( ODR  o,
int  num 
)

Z_SRW_record* yaz_srw_get_records ( ODR  o,
int  num 
)

const char* yaz_srw_pack_to_str ( int  pack  ) 

int yaz_srw_str_to_pack ( const char *  str  ) 

int yaz_ucp_codec ( ODR  o,
void *  pptr,
Z_SRW_PDU **  handler_data,
void *  client_data,
const char *  ns 
)

char* yaz_uri_val ( const char *  path,
const char *  name,
ODR  o 
)

Definition at line 133 of file srwutil.c.

References odr_malloc().

Referenced by yaz_uri_val_int().

void yaz_uri_val_int ( const char *  path,
const char *  name,
ODR  o,
int **  intp 
)

Definition at line 282 of file srwutil.c.

References odr_intdup(), and yaz_uri_val().


Generated on Mon Nov 10 17:14:38 2008 for YAZ by  doxygen 1.5.6