diff --git a/cyassl/ssl.h b/cyassl/ssl.h index 13bb20cee..88b6687ef 100644 --- a/cyassl/ssl.h +++ b/cyassl/ssl.h @@ -863,6 +863,9 @@ CYASSL_API void CyaSSL_SetIOSend(CYASSL_CTX*, CallbackIOSend); CYASSL_API void CyaSSL_SetIOReadCtx( CYASSL* ssl, void *ctx); CYASSL_API void CyaSSL_SetIOWriteCtx(CYASSL* ssl, void *ctx); +CYASSL_API void* CyaSSL_GetIOReadCtx( CYASSL* ssl); +CYASSL_API void* CyaSSL_GetIOWriteCtx(CYASSL* ssl); + CYASSL_API void CyaSSL_SetIOReadFlags( CYASSL* ssl, int flags); CYASSL_API void CyaSSL_SetIOWriteFlags(CYASSL* ssl, int flags); diff --git a/src/io.c b/src/io.c index a9f73bfb2..2442de433 100644 --- a/src/io.c +++ b/src/io.c @@ -853,6 +853,24 @@ CYASSL_API void CyaSSL_SetIOWriteCtx(CYASSL* ssl, void *wctx) } +CYASSL_API void* CyaSSL_GetIOReadCtx(CYASSL* ssl) +{ + if (ssl) + return ssl->IOCB_ReadCtx; + + return NULL; +} + + +CYASSL_API void* CyaSSL_GetIOWriteCtx(CYASSL* ssl) +{ + if (ssl) + return ssl->IOCB_WriteCtx; + + return NULL; +} + + CYASSL_API void CyaSSL_SetIOReadFlags(CYASSL* ssl, int flags) { ssl->rflags = flags;