/usr/include/yaz/retrieval.h is in libyaz4-dev 4.2.30-4build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | /* This file is part of the YAZ toolkit.
* Copyright (C) 1995-2012 Index Data.
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Index Data nor the names of its contributors
* may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* \file retrieval.h
* \brief Retrieval Utility
*/
#ifndef YAZ_RETRIEVAL_H
#define YAZ_RETRIEVAL_H
#include <stddef.h>
#include <yaz/wrbuf.h>
#include <yaz/yconfig.h>
#include <yaz/oid_util.h>
#include <yaz/record_conv.h>
YAZ_BEGIN_CDECL
/** retrieval handle */
typedef struct yaz_retrieval_struct *yaz_retrieval_t;
/** creates retrieval handle
\return retrieval handle
*/
YAZ_EXPORT yaz_retrieval_t yaz_retrieval_create(void);
/** destroys retrieval handle
\param p retrieval handle
*/
YAZ_EXPORT void yaz_retrieval_destroy(yaz_retrieval_t p);
#if YAZ_HAVE_XML2
/** configures retrieval
\param p retrieval handle
\param node xmlNode pointer (root element of XML config)
\retval 0 success
\retval -1 failure
On failure, call yaz_retrieval_get_error to get error string.
For retrieval:
\verbatim
<retrievalinfo>
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="marc-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="marc-8"/>
<xslt stylesheet="MARC21slim2DC.xsl"/>
</backend>
</retrieval>
</retrievalinfo>
\endverbatim
*/
YAZ_EXPORT
int yaz_retrieval_configure(yaz_retrieval_t p, const xmlNode *node);
/** configures retrieval with user-defined conversion types
\param p retrieval handle
\param node xmlNode pointer (root element of XML config)
\param types record conversion types
\retval 0 success
\retval -1 failure
On failure, use yaz_retrieval_get_error to get error string.
*/
YAZ_EXPORT
int yaz_retrieval_configure_t(yaz_retrieval_t p, const xmlNode *node,
struct yaz_record_conv_type *types);
#endif
/** performs retrieval request based on schema and format
\param p retrieval handle
\param schema record schema (SRU) / element set name (Z39.50)
\param syntax record syntax (format)
\param match_schema matched schema (if conversion was successful)
\param match_syntax matced syntax OID if conversion was successful)
\param rc record conversion reference (if conversion was successful)
\param backend_schema backend scchema (if conversion was successful)
\param backend_syntax backend syntax (if conversion was successful)
\retval 0 success, schema and syntax matches
\retval -1 failure, use yaz_retrieval_get_error() for reason
\retval 1 schema does not match
\retval 2 syntax does not match
\retval 3 both match but not together
*/
YAZ_EXPORT
int yaz_retrieval_request(yaz_retrieval_t p,
const char *schema, Odr_oid *syntax,
const char **match_schema, Odr_oid **match_syntax,
yaz_record_conv_t *rc,
const char **backend_schema,
Odr_oid **backend_syntax);
/** returns error string (for last error)
\param p record conversion handle
\return error string
*/
YAZ_EXPORT
const char *yaz_retrieval_get_error(yaz_retrieval_t p);
/** set path for opening stylesheets etc.
\param p record conversion handle
\param path file path (UNIX style with : / Windows with ;)
*/
YAZ_EXPORT
void yaz_retrieval_set_path(yaz_retrieval_t p, const char *path);
YAZ_END_CDECL
#endif
/*
* Local variables:
* c-basic-offset: 4
* c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab
*/
|