FreeRTOS_sockets.h
uint32_t FreeRTOS_inet_addr( const uint8_t * pucIPAddress );
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 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_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.
ipconfigINCLUDE_FULL_INET_ADDR must be set to 1 in FreeRTOSIPConfig.h
for FreeRTOS_inet_addr() to be available. FreeRTOS_inet_addr_quick() is
always available.
Parameters:
pucIPAddress
|
A pointer to a string that contains the IP address being
converted in decimal dot format.
|
Returns:
If the format of the string pointed to by the pucIPAddress parameter is
valid then the same IP address expressed as a 32-bit number in network
byte order is returned. In all other cases 0 is returned.
Example usage:
This example sends a string to port 5000 of IP address 192.168.0.100, using
FreeRTOS_inet_addr() to convert the IP address from a string to 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( "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.