FreeRTOS_sockets.h
uint32_t FreeRTOS_inet_addr_quick( uint8_t ucOctet1, uint8_t ucOctet2,
uint8_t ucOctet3, uint8_t ucOctet4 );
FreeRTOS_inet_addr_quick() is a macro that converts an IP address expressed
as four separate numeric octets (for example 192, 168, 0, 100) into a
an IP address expressed as a 32-bit number in network byte order
FreeRTOS_inet_addr()
is a function that converts an IP address expressed
in decimal dot notation (for example "192.168.0.100") into a 32-bit IP
address in network byte order.
FreeRTOS_inet_addr_quick() is the preferred method because of its smaller
size and faster execution. FreeRTOS_inet_addr() is provided because it
conforms to the expected Berkeley sockets function prototype.
Parameters:
ucOctet1
|
The first octet of the four octet IP address.
|
ucOctet2
|
The second octet of the four octet IP address.
|
ucOctet3
|
The third octet of the four octet IP address.
|
ucOctet4
|
The forth octet of the four octet IP address.
|
Returns:
The IP address represented by the four parameters expressed as a single
32-bit number in network byte order.
Example usage:
This example sends a string to port 5000 of IP address 192.168.0.100, using
FreeRTOS_inet_addr_quick() to convert the IP address from individual octets to a string in the necessary
32-bit format.
The socket is passed in as the function parameter, and is assumed to have already
been created using a call to FreeRTOS_socket().
If ipconfigALLOW_SOCKET_SEND_WITHOUT_BIND is not set to 1 in
FreeRTOSIPConfig.h, then the socket is also assumed to have been bound to
a port number using FreeRTOS_bind().
#include "FreeRTOS_sockets.h"
void aFunction( Socket_t xSocket )
{
struct freertos_sockaddr xDestinationAddress;
const int8_t *pcMessageToSend = "String being sent";
xDestinationAddress.sin_addr = FreeRTOS_inet_addr_quick( 192, 168, 0, 100 );
xDestinationAddress.sin_port = FreeRTOS_htons( 5000 );
iReturned = FreeRTOS_sendto(
xSocket,
pcMessageToSend,
strlen( pcMessageToSend ),
0,
&xDestinationAddress,
sizeof( xDestinationAddress )
);
}
Example use of the FreeRTOS_inet_addr_quick() API function
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.