diff --git a/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.c b/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.c index a7f2fa719f..9961f5231d 100644 --- a/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.c +++ b/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.c @@ -42,7 +42,7 @@ #include "threading_alt.h" #include "mbedtls/entropy.h" #include "mbedtls/ssl.h" - +#include "mbedtls_bio_freertos_plus_tcp.h" /*-----------------------------------------------------------*/ /** diff --git a/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.h b/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.h new file mode 100644 index 0000000000..93fa16095b --- /dev/null +++ b/FreeRTOS-Plus/Source/Application-Protocols/network_transport/mbedtls_bio_freertos_plus_tcp.h @@ -0,0 +1,62 @@ +/* + * FreeRTOS V202112.00 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * https://www.FreeRTOS.org + * https://github.com/FreeRTOS + * + */ + + /** + * @file mbedtls_bio_freertos_plus_tcp.h + * @brief TLS transport interface header. + */ + +#ifndef MBEDTLS_BIO_FREERTOS_PLUS_TCP +#define MBEDTLS_BIO_FREERTOS_PLUS_TCP + + /** + * @brief Sends data over FreeRTOS+TCP sockets. + * + * @param[in] ctx The network context containing the socket handle. + * @param[in] buf Buffer containing the bytes to send. + * @param[in] len Number of bytes to send from the buffer. + * + * @return Number of bytes sent on success; else a negative value. + */ +int mbedtls_platform_send(void* ctx, + const unsigned char* buf, + size_t len); + + /** + * @brief Receives data from FreeRTOS+TCP socket. + * + * @param[in] ctx The network context containing the socket handle. + * @param[out] buf Buffer to receive bytes into. + * @param[in] len Number of bytes to receive from the network. + * + * @return Number of bytes received if successful; Negative value on error. + */ +int mbedtls_platform_recv(void* ctx, + unsigned char* buf, + size_t len); + + +#endif MBEDTLS_BIO_FREERTOS_PLUS_TCP \ No newline at end of file