Error: 'struct freertos_sockaddr' has no member named 'sin_address'; did you mean 'sin_addr'?

Currently, FreeRTOS+TCP ignores the value of sin_len. Other OS’s might check it, so it’s a good habit to set it anyway.

memset( &xAddress, 0, sizeof( xAddress ) );
xAddress.sin_family = FREERTOS_AF_INET4;
xAddress.sin_address.ulIP_IPv4 = FreeRTOS_inet_addr("192.168.0.50");
xAddress.sin_port = FreeRTOS_htons(10000U);
xAddress.sin_len = ( uint8_t ) sizeof( xAddress );

Or when the target is an IPv6 address:

memset( &xAddress, 0, sizeof( xAddress ) );
xAddress.sin_family = FREERTOS_AF_INET6;
FreeRTOS_inet_pton( FREERTOS_AF_INET6,       /* xAddressFamily */
                    "2600:70ff:c066::2001",  /* pcSource */
                    xAddress.sin_address.xIP_IPv6.ucBytes ); /* pucTarget */
xAddress.sin_port = FreeRTOS_htons(10000U);
xAddress.sin_len = ( uint8_t ) sizeof( xAddress );
2 Likes