int32_t NET_PRES_EncProviderPeek0(void * providerData, uint8_t * buffer, uint16_t size) { WOLFSSL* ssl; memcpy(&ssl, providerData, sizeof(WOLFSSL*)); int ret = wolfSSL_peek(ssl, buffer, size); if (ret < 0) { return 0; } return ret; }
int32_t NET_PRES_EncProviderReadReady0(void * providerData) { WOLFSSL* ssl; memcpy(&ssl, providerData, sizeof(WOLFSSL*)); int32_t ret = wolfSSL_pending(ssl); if (ret == 0) // wolfSSL_pending() doesn't check the underlying layer. { char buffer; if (wolfSSL_peek(ssl, &buffer, 1) == 0) { return 0; } ret = wolfSSL_pending(ssl); } return ret; }
int32_t NET_PRES_EncProviderPeek0(void * providerData, uint8_t * buffer, uint16_t size) { WOLFSSL* ssl; memcpy(&ssl, providerData, sizeof(WOLFSSL*)); int ret = wolfSSL_peek(ssl, buffer, size); if (ret < 0) { int error = wolfSSL_get_error(ssl, ret); if ((error == SSL_ERROR_WANT_READ) || (error == SSL_ERROR_WANT_WRITE)) { return 0; } } return ret; }