/*
- * Copyright (c) 1998-2001, Index Data
+ * Copyright (c) 1998-2003, Index Data
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
- * $Log: proto.h,v $
- * Revision 1.1 2001-10-23 21:00:19 adam
- * Old Z39.50 codecs gone. Added ZOOM. WRBUF MARC display util.
- *
- * Revision 1.7 2001/09/24 21:51:55 adam
- * New Z39.50 OID utilities: yaz_oidval_to_z3950oid, yaz_str_to_z3950oid
- * and yaz_z3950oid_to_str.
- *
- * Revision 1.6 2001/09/19 10:19:07 adam
- * Z_SortCase_caseInsensitive was set to wrong value.
- *
- * Revision 1.5 2001/05/17 14:16:15 adam
- * Added EXTERNAL handling for item update0 (1.0).
- *
- * Revision 1.4 2000/03/14 09:19:49 ian
- * Added admin extended service encoders & decoders.
- *
- * Revision 1.3 2000/02/28 11:20:06 adam
- * Using autoconf. New definitions: YAZ_BEGIN_CDECL/YAZ_END_CDECL.
- *
- * Revision 1.2 1999/12/16 23:36:19 adam
- * Implemented ILL protocol. Minor updates ASN.1 compiler.
- *
- * Revision 1.1 1999/11/30 13:47:11 adam
- * Improved installation. Moved header files to include/yaz.
- *
- * Revision 1.2 1999/06/09 10:52:11 adam
- * Added YAZ_EXPORT.
- *
- * Revision 1.1 1999/06/08 13:11:55 adam
- * Fixed problem with proto.h.
- *
- * Revision 1.2 1999/04/20 10:37:04 adam
- * Updated for ODR - added name parameter.
- *
- * Revision 1.1 1998/03/31 16:04:05 adam
- * First version of proto.h which is almost compatible with the old one.
- *
+ * $Id: proto.h,v 1.7 2003-02-12 15:06:43 adam Exp $
*/
#ifndef Z_PROTO_H
#define Z_PROTO_H
#include <yaz/z-date.h>
#include <yaz/z-univ.h>
#include <yaz/zes-update0.h>
+#include <yaz/z-charneg.h>
+#include <yaz/z-mterm2.h>
+#include <yaz/oid.h>
+#include <yaz/wrbuf.h>
YAZ_BEGIN_CDECL
const char *str);
YAZ_EXPORT const char *yaz_z3950oid_to_str (Odr_oid *oid, int *oid_class);
+YAZ_EXPORT const char* yaz_z3950_oid_value_to_str(oid_value ov, oid_class oc);
+
+YAZ_EXPORT void yaz_display_grs1(WRBUF wrbuf, Z_GenericRecord *r, int flags);
+
+typedef struct Z_HTTP_Header Z_HTTP_Header;
+
+struct Z_HTTP_Header {
+ char *name;
+ char *value;
+ Z_HTTP_Header *next;
+};
+
+typedef struct {
+ char *method;
+ char *version;
+ char *path;
+ Z_HTTP_Header *headers;
+ char *content_buf;
+ int content_len;
+} Z_HTTP_Request;
+
+typedef struct {
+ int code;
+ char *version;
+ Z_HTTP_Header *headers;
+ char *content_buf;
+ int content_len;
+} Z_HTTP_Response;
+
+#define Z_GDU_Z3950 1
+#define Z_GDU_HTTP_Request 2
+#define Z_GDU_HTTP_Response 3
+typedef struct {
+ int which;
+ union {
+ Z_APDU *z3950;
+ Z_HTTP_Request *HTTP_Request;
+ Z_HTTP_Response *HTTP_Response;
+ } u;
+} Z_GDU ;
+YAZ_EXPORT int z_GDU (ODR o, Z_GDU **p, int opt, const char *name);
+YAZ_EXPORT void z_HTTP_header_add(ODR o, Z_HTTP_Header **hp, const char *n,
+ const char *v);
+YAZ_EXPORT const char *z_HTTP_header_lookup(Z_HTTP_Header *hp, const char *n);
+
+YAZ_EXPORT const char *z_HTTP_errmsg(int code);
+
+YAZ_EXPORT Z_GDU *z_get_HTTP_Response(ODR o, int code);
+
YAZ_END_CDECL
#include <yaz/prt-ext.h>