X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fcomstack.h;h=3f8ca6477c9ffdcd9893f91dfe0666921db340f6;hp=b335c86a1b3e7b4972f0e7eb27974fdb90a7d061;hb=11dbebdf973d652e486f2b5e457cc46d1478556f;hpb=fb6d99a0c7e07d9cc4a315c447deaf6564a85505 diff --git a/include/yaz/comstack.h b/include/yaz/comstack.h index b335c86..3f8ca64 100644 --- a/include/yaz/comstack.h +++ b/include/yaz/comstack.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2006, Index Data ApS * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -23,7 +23,7 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * - * $Id: comstack.h,v 1.21 2005-06-25 15:46:01 adam Exp $ + * $Id: comstack.h,v 1.23 2006-09-06 15:01:53 adam Exp $ */ /** @@ -44,7 +44,7 @@ YAZ_BEGIN_CDECL struct comstack; typedef struct comstack *COMSTACK; -typedef COMSTACK (*CS_TYPE)(int s, int blocking, int protocol, void *vp); +typedef COMSTACK (*CS_TYPE)(int s, int flags, int protocol, void *vp); struct comstack { @@ -54,7 +54,7 @@ struct comstack int iofile; /* UNIX file descriptor for iochannel */ int timeout; /* how long to wait for trailing blocks (ignored for now) */ void *cprivate;/* state info for lower stack */ - int more; /* connection has extra data in buffer */ + int max_recv_bytes; /* max size of incoming package */ int state; /* current state */ #define CS_ST_UNBND 0 #define CS_ST_IDLE 1 @@ -64,7 +64,7 @@ struct comstack #define CS_ST_ACCEPT 5 #define CS_ST_CONNECTING 6 int newfd; /* storing new descriptor between listen and accept */ - int blocking; /* is this link (supposed to be) blocking? */ + int flags; /* flags, blocking etc.. CS_FLAGS_.. */ unsigned io_pending; /* flag to signal read / write op is incomplete */ int event; /* current event */ #define CS_NONE 0 @@ -131,6 +131,7 @@ YAZ_EXPORT void *cs_get_ssl(COMSTACK cs); YAZ_EXPORT int cs_set_ssl_ctx(COMSTACK cs, void *ctx); YAZ_EXPORT int cs_set_ssl_certificate_file(COMSTACK cs, const char *fname); YAZ_EXPORT int cs_get_peer_certificate_x509(COMSTACK cs, char **buf, int *len); +YAZ_EXPORT void cs_set_max_recv_bytes(COMSTACK cs, int max_recv_bytes); /* * error management. @@ -143,12 +144,16 @@ YAZ_EXPORT int cs_get_peer_certificate_x509(COMSTACK cs, char **buf, int *len); #define CSWRONGBUF 4 #define CSDENY 5 #define CSERRORSSL 6 -#define CSLASTERROR CSERRORSSL /* must be the value of last CS error */ +#define CSBUFSIZE 7 +#define CSLASTERROR CSBUFSIZE /* must be the value of last CS error */ /* backwards compatibility */ #define CS_SR PROTO_SR #define CS_Z3950 PROTO_Z3950 +#define CS_FLAGS_BLOCKING 1 +#define CS_FLAGS_NUMERICHOST 2 + YAZ_END_CDECL #endif