X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fproto.h;h=8051bca45cf51d59944dae848a82272ba8198b42;hb=39f322672612cc6146a9a85fd32d2f8c325763da;hp=2350c577baae422ab8bb98d2732db59b322b163d;hpb=05586eb8028d6f6a84d6389f8f3ab829b19f1760;p=yaz-moved-to-github.git diff --git a/include/yaz/proto.h b/include/yaz/proto.h index 2350c57..8051bca 100644 --- a/include/yaz/proto.h +++ b/include/yaz/proto.h @@ -1,9 +1,9 @@ /* - * Copyright (c) 1998-2002, Index Data + * Copyright (c) 1998-2003, Index Data * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * - * $Id: proto.h,v 1.5 2002-12-05 12:07:00 adam Exp $ + * $Id: proto.h,v 1.8 2003-02-14 18:49:23 adam Exp $ */ #ifndef Z_PROTO_H #define Z_PROTO_H @@ -110,6 +110,52 @@ 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