mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
add WOLFSSL set IO callbacks
This commit is contained in:
24
src/wolfio.c
24
src/wolfio.c
@ -1486,6 +1486,30 @@ WOLFSSL_API void wolfSSL_CTX_SetIOSend(WOLFSSL_CTX *ctx, CallbackIOSend CBIOSend
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* sets the IO callback to use for receives at WOLFSSL level */
|
||||||
|
WOLFSSL_API void wolfSSL_SSLSetIORecv(WOLFSSL *ssl, CallbackIORecv CBIORecv)
|
||||||
|
{
|
||||||
|
if (ssl != NULL) {
|
||||||
|
ssl->CBIORecv = CBIORecv;
|
||||||
|
#ifdef OPENSSL_EXTRA
|
||||||
|
ssl->cbioFlag |= WOLFSSL_CBIO_RECV;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* sets the IO callback to use for sends at WOLFSSL level */
|
||||||
|
WOLFSSL_API void wolfSSL_SSLSetIOSend(WOLFSSL *ssl, CallbackIOSend CBIOSend)
|
||||||
|
{
|
||||||
|
if (ssl != NULL) {
|
||||||
|
ssl->CBIOSend = CBIOSend;
|
||||||
|
#ifdef OPENSSL_EXTRA
|
||||||
|
ssl->cbioFlag |= WOLFSSL_CBIO_SEND;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
WOLFSSL_API void wolfSSL_SetIOReadCtx(WOLFSSL* ssl, void *rctx)
|
WOLFSSL_API void wolfSSL_SetIOReadCtx(WOLFSSL* ssl, void *rctx)
|
||||||
{
|
{
|
||||||
ssl->IOCB_ReadCtx = rctx;
|
ssl->IOCB_ReadCtx = rctx;
|
||||||
|
@ -418,6 +418,8 @@ typedef int (*CallbackIORecv)(WOLFSSL *ssl, char *buf, int sz, void *ctx);
|
|||||||
typedef int (*CallbackIOSend)(WOLFSSL *ssl, char *buf, int sz, void *ctx);
|
typedef int (*CallbackIOSend)(WOLFSSL *ssl, char *buf, int sz, void *ctx);
|
||||||
WOLFSSL_API void wolfSSL_CTX_SetIORecv(WOLFSSL_CTX*, CallbackIORecv);
|
WOLFSSL_API void wolfSSL_CTX_SetIORecv(WOLFSSL_CTX*, CallbackIORecv);
|
||||||
WOLFSSL_API void wolfSSL_CTX_SetIOSend(WOLFSSL_CTX*, CallbackIOSend);
|
WOLFSSL_API void wolfSSL_CTX_SetIOSend(WOLFSSL_CTX*, CallbackIOSend);
|
||||||
|
WOLFSSL_API void wolfSSL_SSLSetIORecv(WOLFSSL*, CallbackIORecv);
|
||||||
|
WOLFSSL_API void wolfSSL_SSLSetIOSend(WOLFSSL*, CallbackIOSend);
|
||||||
/* deprecated old name */
|
/* deprecated old name */
|
||||||
#define wolfSSL_SetIORecv wolfSSL_CTX_SetIORecv
|
#define wolfSSL_SetIORecv wolfSSL_CTX_SetIORecv
|
||||||
#define wolfSSL_SetIOSend wolfSSL_CTX_SetIOSend
|
#define wolfSSL_SetIOSend wolfSSL_CTX_SetIOSend
|
||||||
|
Reference in New Issue
Block a user