X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fproto.h;h=8051bca45cf51d59944dae848a82272ba8198b42;hb=ac286ae76051058c8e340bf84eb98391340b7d22;hp=be0d05bbb52319ba0f345efe7fed7710922cb7e6;hpb=c34d71d35aceed27cf7e30e6b329a235b48b9ccd;p=yaz-moved-to-github.git diff --git a/include/yaz/proto.h b/include/yaz/proto.h index be0d05b..8051bca 100644 --- a/include/yaz/proto.h +++ b/include/yaz/proto.h @@ -1,49 +1,9 @@ /* - * 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.2 2002-02-11 23:25:26 adam - * Rustam's patch - * - * 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.8 2003-02-14 18:49:23 adam Exp $ */ #ifndef Z_PROTO_H #define Z_PROTO_H @@ -79,6 +39,9 @@ #include #include #include +#include +#include +#include YAZ_BEGIN_CDECL @@ -143,6 +106,56 @@ YAZ_EXPORT Odr_oid *yaz_str_to_z3950oid (ODR o, int oid_class, 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_EXPORT Z_GDU *z_get_HTTP_Request(ODR o); + YAZ_END_CDECL #include