/*
- * Copyright (c) 1998-2003, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
*
- * $Id: proto.h,v 1.9 2003-02-21 12:08:58 adam Exp $
+ * $Id: proto.h,v 1.20 2005-02-25 17:05:09 adam Exp $
+ */
+/**
+ * \file proto.h
+ * \brief Header for Z39.50 Protocol
*/
#ifndef Z_PROTO_H
#define Z_PROTO_H
#include <yaz/oid.h>
#include <yaz/wrbuf.h>
#include <yaz/zgdu.h>
+#include <yaz/z-oclcui.h>
+#include <yaz/marcdisp.h>
YAZ_BEGIN_CDECL
+#if 1
#define Z_PRES_SUCCESS Z_PresentStatus_success
#define Z_PRES_PARTIAL_1 Z_PresentStatus_partial_1
#define Z_PRES_PARTIAL_2 Z_PresentStatus_partial_2
#define Z_SortResultSetStatus_interim Z_SortResponse_interim
#define Z_SortResultSetStatus_unchanged Z_SortResponse_unchanged
#define Z_SortResultSetStatus_none Z_SortResponse_none
+#endif
typedef Z_External Z_DatabaseRecord;
typedef struct Z_IOItemOrder Z_ItemOrder;
YAZ_EXPORT const char* yaz_z3950_oid_value_to_str(oid_value ov, oid_class oc);
+/** \brief Performs "pretty" display of GRS-1 record to WRBUF */
YAZ_EXPORT void yaz_display_grs1(WRBUF wrbuf, Z_GenericRecord *r, int flags);
+/** \brief Performs "pretty" display of OPAC record to WRBUF */
+YAZ_EXPORT void yaz_display_OPAC(WRBUF wrbuf, Z_OPACRecord *r, int flags);
+
+/** \brief Performs "pretty" display of OPAC record to WRBUF using marc_t */
+void yaz_opac_decode_wrbuf(yaz_marc_t mt, Z_OPACRecord *r, WRBUF wrbuf);
+
+/** \brief Encodes Z39.50 Init OPtions based on string mnemonics */
+YAZ_EXPORT int yaz_init_opt_encode(Z_Options *opt, const char *opt_str,
+ int *error_pos);
+
+/** \brief Decodes Z39.50 Init Options - for printing */
+YAZ_EXPORT void yaz_init_opt_decode(Z_Options *opt,
+ void (*pr)(const char *name,
+ void *clientData),
+ void *clientData);
+/** \brief Creates Default Diag Format Diagnostic */
+YAZ_EXPORT
+Z_DefaultDiagFormat *zget_DefaultDiagFormat(ODR o, int error,
+ const char *addinfo);
+
+/** \brief Creates Surrogate Diagnostic Records */
+YAZ_EXPORT
+Z_NamePlusRecord *zget_surrogateDiagRec(ODR o, const char *dbname,
+ int error, const char *addinfo);
+
+/** \brief Creates Initialize Response diagnostics */
+YAZ_EXPORT
+Z_External *zget_init_diagnostics(ODR odr, int error, const char *addinfo);
+
+/** \brief Creates Initialize Response diagnostics (Octet-aligned EXTERNAL) */
+YAZ_EXPORT
+Z_External *zget_init_diagnostics_octet(ODR odr, int error, const char *addinfo);
+
+/** \brief Creates Diagnostic record - Z_DiagRecs type */
+YAZ_EXPORT
+Z_DiagRecs *zget_DiagRecs(ODR o, int error, const char *addinfo);
+
+/** \brief Creates Diagnostic record - Z_DiagRecs type */
+YAZ_EXPORT
+Z_DiagRec *zget_DiagRec(ODR o, int error, const char *addinfo);
YAZ_END_CDECL