1 /* 2 * FreeRTOS V202212.00 3 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 * this software and associated documentation files (the "Software"), to deal in 7 * the Software without restriction, including without limitation the rights to 8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 * the Software, and to permit persons to whom the Software is furnished to do so, 10 * subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be included in all 13 * copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 * 22 * https://www.FreeRTOS.org 23 * https://github.com/FreeRTOS 24 * 25 */ 26 27 /** 28 * @file sockets_wrapper.h 29 * @brief FreeRTOS Sockets connect and disconnect function wrapper. 30 */ 31 32 #ifndef SOCKETS_WRAPPER_H 33 #define SOCKETS_WRAPPER_H 34 35 /* FreeRTOS+TCP includes. */ 36 #include "FreeRTOS_IP.h" 37 #include "FreeRTOS_Sockets.h" 38 #include "FreeRTOS_DNS.h" 39 40 #define SOCKETS_INVALID_SOCKET ( ( Socket_t ) ~0U ) 41 42 /** 43 * @brief Establish a connection to server. 44 * 45 * @param[out] pTcpSocket The output parameter to return the created socket descriptor. 46 * @param[in] pHostName Server hostname to connect to. 47 * @param[in] pServerInfo Server port to connect to. 48 * @param[in] receiveTimeoutMs Timeout (in milliseconds) for transport receive. 49 * @param[in] sendTimeoutMs Timeout (in milliseconds) for transport send. 50 * 51 * @note A timeout of 0 means infinite timeout. 52 * 53 * @return Non-zero value on error, 0 on success. 54 */ 55 BaseType_t Sockets_Connect( Socket_t * pTcpSocket, 56 const char * pHostName, 57 uint16_t port, 58 uint32_t receiveTimeoutMs, 59 uint32_t sendTimeoutMs ); 60 61 /** 62 * @brief End connection to server. 63 * 64 * @param[in] tcpSocket The socket descriptor. 65 */ 66 void Sockets_Disconnect( Socket_t tcpSocket ); 67 68 #endif /* ifndef SOCKETS_WRAPPER_H */ 69