mirror of
https://github.com/FreeRTOS/FreeRTOS-Plus-TCP
synced 2025-10-21 15:10:39 +08:00
Fix Additional Clang warnings
Corrects several warnings from Clang flags for Clang 13.
This commit is contained in:
@@ -48,9 +48,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Initialise a bit-config struct.
|
* @brief Initialise a bit-config struct.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
* @param[in] uxSize: The length of the binary data stream.
|
* @param[in] uxSize The length of the binary data stream.
|
||||||
* @param[in] pucData: Not NULL if a bit-stream must be analysed, otherwise NULL.
|
* @param[in] pucData Not NULL if a bit-stream must be analysed, otherwise NULL.
|
||||||
*
|
*
|
||||||
* @return pdTRUE if the malloc was OK, otherwise pdFALSE.
|
* @return pdTRUE if the malloc was OK, otherwise pdFALSE.
|
||||||
*/
|
*/
|
||||||
@@ -90,9 +90,9 @@ BaseType_t xBitConfig_init( BitConfig_t * pxConfig,
|
|||||||
/**
|
/**
|
||||||
* @brief Initialise a bit-config struct.
|
* @brief Initialise a bit-config struct.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
* @param[in] uxSize: The length of the binary data stream.
|
* @param[in] uxSize The length of the binary data stream.
|
||||||
* @param[in] pucData: Not NULL if a bit-stream must be analysed, otherwise NULL.
|
* @param[in] pucData Not NULL if a bit-stream must be analysed, otherwise NULL.
|
||||||
*
|
*
|
||||||
* @return pdTRUE if the malloc was OK, otherwise pdFALSE.
|
* @return pdTRUE if the malloc was OK, otherwise pdFALSE.
|
||||||
*/
|
*/
|
||||||
@@ -132,7 +132,7 @@ BaseType_t xBitConfig_read_uc( BitConfig_t * pxConfig,
|
|||||||
/**
|
/**
|
||||||
* @brief Read a byte from the bit stream.
|
* @brief Read a byte from the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
*
|
*
|
||||||
* @return A byte value. When there was not enough data, xHasError will be set.
|
* @return A byte value. When there was not enough data, xHasError will be set.
|
||||||
*/
|
*/
|
||||||
@@ -154,7 +154,7 @@ uint8_t ucBitConfig_read_8( BitConfig_t * pxConfig )
|
|||||||
/**
|
/**
|
||||||
* @brief Read 2 bytes from the bit stream.
|
* @brief Read 2 bytes from the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
*
|
*
|
||||||
* @return A 16-bit value. When there was not enough data, xHasError will be set.
|
* @return A 16-bit value. When there was not enough data, xHasError will be set.
|
||||||
*/
|
*/
|
||||||
@@ -177,7 +177,7 @@ uint16_t usBitConfig_read_16( BitConfig_t * pxConfig )
|
|||||||
/**
|
/**
|
||||||
* @brief Read 4 bytes from the bit stream.
|
* @brief Read 4 bytes from the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
*
|
*
|
||||||
* @return A 32-bit value. When there was not enough data, xHasError will be set.
|
* @return A 32-bit value. When there was not enough data, xHasError will be set.
|
||||||
*/
|
*/
|
||||||
@@ -202,9 +202,9 @@ uint32_t ulBitConfig_read_32( BitConfig_t * pxConfig )
|
|||||||
/**
|
/**
|
||||||
* @brief Read any number bytes from the bit stream.
|
* @brief Read any number bytes from the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bit stream.
|
* @param[in] pxConfig The structure containing a copy of the bit stream.
|
||||||
* @param[in] pucData: The binary data to be written.
|
* @param[in] pucData The binary data to be written.
|
||||||
* @param[in] uxSize: The number of bytes to be written.
|
* @param[in] uxSize The number of bytes to be written.
|
||||||
*
|
*
|
||||||
* There is no return value. If the operation has failed,
|
* There is no return value. If the operation has failed,
|
||||||
* the field xHasError will be set.
|
* the field xHasError will be set.
|
||||||
@@ -234,8 +234,8 @@ void vBitConfig_write_uc( BitConfig_t * pxConfig,
|
|||||||
/**
|
/**
|
||||||
* @brief Write a byte to the bit stream.
|
* @brief Write a byte to the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
* @param[in] ucValue: The byte to be written.
|
* @param[in] ucValue The byte to be written.
|
||||||
*
|
*
|
||||||
* There is no return value. If the operation has failed,
|
* There is no return value. If the operation has failed,
|
||||||
* the field xHasError will be set.
|
* the field xHasError will be set.
|
||||||
@@ -252,8 +252,8 @@ void vBitConfig_write_8( BitConfig_t * pxConfig,
|
|||||||
/**
|
/**
|
||||||
* @brief Write a short word to the bit stream.
|
* @brief Write a short word to the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
* @param[in] usValue: The 16-bit value to be written.
|
* @param[in] usValue The 16-bit value to be written.
|
||||||
*
|
*
|
||||||
* There is no return value. If the operation has failed,
|
* There is no return value. If the operation has failed,
|
||||||
* the field xHasError will be set.
|
* the field xHasError will be set.
|
||||||
@@ -273,8 +273,8 @@ void vBitConfig_write_16( BitConfig_t * pxConfig,
|
|||||||
/**
|
/**
|
||||||
* @brief Write a 32-bit word to the bit stream.
|
* @brief Write a 32-bit word to the bit stream.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
* @param[in] ulValue: The 32-bit value to be written.
|
* @param[in] ulValue The 32-bit value to be written.
|
||||||
*
|
*
|
||||||
* There is no return value. If the operation has failed,
|
* There is no return value. If the operation has failed,
|
||||||
* the field xHasError will be set.
|
* the field xHasError will be set.
|
||||||
@@ -298,7 +298,7 @@ void vBitConfig_write_32( BitConfig_t * pxConfig,
|
|||||||
* @brief Deallocate ( release ) the buffer, and clear the bit stream structure.
|
* @brief Deallocate ( release ) the buffer, and clear the bit stream structure.
|
||||||
* Note that the struct must have be initialised before calling this function.
|
* Note that the struct must have be initialised before calling this function.
|
||||||
*
|
*
|
||||||
* @param[in] pxConfig: The structure containing a copy of the bits.
|
* @param[in] pxConfig The structure containing a copy of the bits.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vBitConfig_release( BitConfig_t * pxConfig )
|
void vBitConfig_release( BitConfig_t * pxConfig )
|
||||||
|
@@ -213,7 +213,7 @@ static DHCPMessage_IPv6_t xDHCPMessage;
|
|||||||
/**
|
/**
|
||||||
* @brief Get the DHCP state from a given endpoint.
|
* @brief Get the DHCP state from a given endpoint.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point for which vDHCPv6Process() is called.
|
* @param[in] pxEndPoint The end-point for which vDHCPv6Process() is called.
|
||||||
*
|
*
|
||||||
* @return DHCP state of the given endpoint
|
* @return DHCP state of the given endpoint
|
||||||
*
|
*
|
||||||
@@ -228,7 +228,7 @@ eDHCPState_t eGetDHCPv6State( struct xNetworkEndPoint * pxEndPoint )
|
|||||||
/**
|
/**
|
||||||
* @brief A DHCPv6 reply has been received. See to which end-point it belongs and pass it.
|
* @brief A DHCPv6 reply has been received. See to which end-point it belongs and pass it.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point for which vDHCPv6Process() is called.
|
* @param[in] pxEndPoint The end-point for which vDHCPv6Process() is called.
|
||||||
*
|
*
|
||||||
* @return In case the message is passed to 'pxEndPoint', return pdFALSE, meaning that
|
* @return In case the message is passed to 'pxEndPoint', return pdFALSE, meaning that
|
||||||
* the it has done its periodic processing.
|
* the it has done its periodic processing.
|
||||||
@@ -296,9 +296,9 @@ static BaseType_t xDHCPv6Process_PassReplyToEndPoint( struct xNetworkEndPoint *
|
|||||||
/**
|
/**
|
||||||
* @brief Check the DHCP socket and run one cycle of the DHCP state machine.
|
* @brief Check the DHCP socket and run one cycle of the DHCP state machine.
|
||||||
*
|
*
|
||||||
* @param[in] xReset: When pdTRUE, the state machine needs to be reset. This may happen
|
* @param[in] xReset When pdTRUE, the state machine needs to be reset. This may happen
|
||||||
* when the end-point has just become up.
|
* when the end-point has just become up.
|
||||||
* @param[in] pxEndPoint: The end-point that wants a DHCPv6 address.
|
* @param[in] pxEndPoint The end-point that wants a DHCPv6 address.
|
||||||
*/
|
*/
|
||||||
void vDHCPv6Process( BaseType_t xReset,
|
void vDHCPv6Process( BaseType_t xReset,
|
||||||
struct xNetworkEndPoint * pxEndPoint )
|
struct xNetworkEndPoint * pxEndPoint )
|
||||||
@@ -377,8 +377,8 @@ void vDHCPv6Process( BaseType_t xReset,
|
|||||||
/**
|
/**
|
||||||
* @brief The DHCP process is about ready: the server sends a confirmation that the
|
* @brief The DHCP process is about ready: the server sends a confirmation that the
|
||||||
* assigned IPv6 address may be used. The settings will be copied to 'pxEndPoint->ipv6_settings'.
|
* assigned IPv6 address may be used. The settings will be copied to 'pxEndPoint->ipv6_settings'.
|
||||||
* @param[in] pxEndPoint: The end-point that is asking for an IP-address.
|
* @param[in] pxEndPoint The end-point that is asking for an IP-address.
|
||||||
* @param[in] pxDHCPMessage: The reply received from the DHCP server.
|
* @param[in] pxDHCPMessage The reply received from the DHCP server.
|
||||||
*/
|
*/
|
||||||
static void vDHCPv6ProcessEndPoint_HandleReply( NetworkEndPoint_t * pxEndPoint,
|
static void vDHCPv6ProcessEndPoint_HandleReply( NetworkEndPoint_t * pxEndPoint,
|
||||||
DHCPMessage_IPv6_t * pxDHCPMessage )
|
DHCPMessage_IPv6_t * pxDHCPMessage )
|
||||||
@@ -433,8 +433,8 @@ static void vDHCPv6ProcessEndPoint_HandleReply( NetworkEndPoint_t * pxEndPoint,
|
|||||||
/**
|
/**
|
||||||
* @brief An advertise packet has been received. Ask the application if
|
* @brief An advertise packet has been received. Ask the application if
|
||||||
* it it shall send a request to obtain this IP-address.
|
* it it shall send a request to obtain this IP-address.
|
||||||
* @param[in] pxEndPoint: The end-point that is asking for an IP-address.
|
* @param[in] pxEndPoint The end-point that is asking for an IP-address.
|
||||||
* @param[in] pxDHCPMessage: The advertisement received from the DHCP server.
|
* @param[in] pxDHCPMessage The advertisement received from the DHCP server.
|
||||||
* @return When the request will be send, pdFALSE will be returned.
|
* @return When the request will be send, pdFALSE will be returned.
|
||||||
*/
|
*/
|
||||||
static BaseType_t xDHCPv6ProcessEndPoint_HandleAdvertise( NetworkEndPoint_t * pxEndPoint,
|
static BaseType_t xDHCPv6ProcessEndPoint_HandleAdvertise( NetworkEndPoint_t * pxEndPoint,
|
||||||
@@ -483,7 +483,7 @@ static BaseType_t xDHCPv6ProcessEndPoint_HandleAdvertise( NetworkEndPoint_t * px
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The first step in the DHCP dialogue is to ask the server for an offer.
|
* @brief The first step in the DHCP dialogue is to ask the server for an offer.
|
||||||
* @param[in] pxEndPoint: The end-point that is asking for an IP-address.
|
* @param[in] pxEndPoint The end-point that is asking for an IP-address.
|
||||||
*/
|
*/
|
||||||
static void vDHCPv6ProcessEndPoint_SendDiscover( NetworkEndPoint_t * pxEndPoint )
|
static void vDHCPv6ProcessEndPoint_SendDiscover( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -510,8 +510,8 @@ static void vDHCPv6ProcessEndPoint_SendDiscover( NetworkEndPoint_t * pxEndPoint
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function is called periodically, or when a message was received for this end-point.
|
* @brief This function is called periodically, or when a message was received for this end-point.
|
||||||
* @param[in] pxEndPoint: The end-point that is asking for an IP-address.
|
* @param[in] pxEndPoint The end-point that is asking for an IP-address.
|
||||||
* @param[in] pxDHCPMessage: when not NULL, a message that was received for this end-point.
|
* @param[in] pxDHCPMessage when not NULL, a message that was received for this end-point.
|
||||||
* @return It returns pdTRUE in case the DHCP process is to be cancelled.
|
* @return It returns pdTRUE in case the DHCP process is to be cancelled.
|
||||||
*/
|
*/
|
||||||
static BaseType_t xDHCPv6ProcessEndPoint_HandleState( NetworkEndPoint_t * pxEndPoint,
|
static BaseType_t xDHCPv6ProcessEndPoint_HandleState( NetworkEndPoint_t * pxEndPoint,
|
||||||
@@ -734,9 +734,9 @@ static BaseType_t xDHCPv6ProcessEndPoint_HandleState( NetworkEndPoint_t * pxEndP
|
|||||||
/**
|
/**
|
||||||
* @brief Run one cycle of the DHCP state machine.
|
* @brief Run one cycle of the DHCP state machine.
|
||||||
*
|
*
|
||||||
* @param[in] xReset: pdTRUE is the state machine has to be reset.
|
* @param[in] xReset pdTRUE is the state machine has to be reset.
|
||||||
* @param[in] pxEndPoint: The end-point that needs DHCP.
|
* @param[in] pxEndPoint The end-point that needs DHCP.
|
||||||
* @param[in] pxDHCPMessage: A DHCP message that has just been received, or NULL.
|
* @param[in] pxDHCPMessage A DHCP message that has just been received, or NULL.
|
||||||
*/
|
*/
|
||||||
static void vDHCPv6ProcessEndPoint( BaseType_t xReset,
|
static void vDHCPv6ProcessEndPoint( BaseType_t xReset,
|
||||||
NetworkEndPoint_t * pxEndPoint,
|
NetworkEndPoint_t * pxEndPoint,
|
||||||
@@ -810,7 +810,7 @@ static void vDHCPv6ProcessEndPoint( BaseType_t xReset,
|
|||||||
* @brief Close the shared UDP/DHCP socket. This results in lowering the reference count.
|
* @brief Close the shared UDP/DHCP socket. This results in lowering the reference count.
|
||||||
* The last user of the socket will close it.
|
* The last user of the socket will close it.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point that wants to close the socket.
|
* @param[in] pxEndPoint The end-point that wants to close the socket.
|
||||||
*/
|
*/
|
||||||
static void prvCloseDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
static void prvCloseDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -846,7 +846,7 @@ static void prvCloseDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
|||||||
/**
|
/**
|
||||||
* @brief Return the UDP/DHCP socket, or create if it doesn't exist.
|
* @brief Return the UDP/DHCP socket, or create if it doesn't exist.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point that needs the socket.
|
* @param[in] pxEndPoint The end-point that needs the socket.
|
||||||
*/
|
*/
|
||||||
static void prvCreateDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
static void prvCreateDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -894,7 +894,7 @@ static void prvCreateDHCPv6Socket( NetworkEndPoint_t * pxEndPoint )
|
|||||||
/**
|
/**
|
||||||
* @brief Initialise the DHCP state machine of a given end-point.
|
* @brief Initialise the DHCP state machine of a given end-point.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point.
|
* @param[in] pxEndPoint The end-point.
|
||||||
*/
|
*/
|
||||||
static void prvInitialiseDHCPv6( NetworkEndPoint_t * pxEndPoint )
|
static void prvInitialiseDHCPv6( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -919,7 +919,7 @@ static void prvInitialiseDHCPv6( NetworkEndPoint_t * pxEndPoint )
|
|||||||
/**
|
/**
|
||||||
* @brief Send a DHCPv6 message to a DHCP server.
|
* @brief Send a DHCPv6 message to a DHCP server.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point for which a message will be sent.
|
* @param[in] pxEndPoint The end-point for which a message will be sent.
|
||||||
*/
|
*/
|
||||||
static void prvSendDHCPMessage( NetworkEndPoint_t * pxEndPoint )
|
static void prvSendDHCPMessage( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -1073,10 +1073,10 @@ static void prvSendDHCPMessage( NetworkEndPoint_t * pxEndPoint )
|
|||||||
* was received. This function will read sub options like 'IA_Address',
|
* was received. This function will read sub options like 'IA_Address',
|
||||||
* IA_Prefix, and Status_Code.
|
* IA_Prefix, and Status_Code.
|
||||||
* It parses the raw message and fills 'pxDHCPMessage'.
|
* It parses the raw message and fills 'pxDHCPMessage'.
|
||||||
* @param[in] usOption: The DHCPv6 option that was received.
|
* @param[in] usOption The DHCPv6 option that was received.
|
||||||
* @param[in] pxSet: It contains the length and offset of the DHCP option.
|
* @param[in] pxSet It contains the length and offset of the DHCP option.
|
||||||
* @param[out] pxDHCPMessage: it will be filled with the information from the option.
|
* @param[out] pxDHCPMessage it will be filled with the information from the option.
|
||||||
* @param[in] pxMessage: The raw packet as it was received.
|
* @param[in] pxMessage The raw packet as it was received.
|
||||||
*/
|
*/
|
||||||
static void prvDHCPv6_subOption( uint16_t usOption,
|
static void prvDHCPv6_subOption( uint16_t usOption,
|
||||||
const DHCPOptionSet_t * pxSet,
|
const DHCPOptionSet_t * pxSet,
|
||||||
@@ -1136,10 +1136,10 @@ static void prvDHCPv6_subOption( uint16_t usOption,
|
|||||||
/**
|
/**
|
||||||
* @brief A DHCP packet has a list of options, each one starting with a type and a length
|
* @brief A DHCP packet has a list of options, each one starting with a type and a length
|
||||||
* field. This function parses a single DHCP option.
|
* field. This function parses a single DHCP option.
|
||||||
* @param[in] usOption: IPv6 DHCP option to be handled.
|
* @param[in] usOption IPv6 DHCP option to be handled.
|
||||||
* @param[in] pxSet: It contains the length and offset of the DHCP option.
|
* @param[in] pxSet It contains the length and offset of the DHCP option.
|
||||||
* @param[out] pxDHCPMessage: it will be filled with the information from the option.
|
* @param[out] pxDHCPMessage it will be filled with the information from the option.
|
||||||
* @param[in] pxMessage: The raw packet as it was received.
|
* @param[in] pxMessage The raw packet as it was received.
|
||||||
*/
|
*/
|
||||||
static BaseType_t prvDHCPv6_handleOption( uint16_t usOption,
|
static BaseType_t prvDHCPv6_handleOption( uint16_t usOption,
|
||||||
const DHCPOptionSet_t * pxSet,
|
const DHCPOptionSet_t * pxSet,
|
||||||
@@ -1295,9 +1295,9 @@ static BaseType_t prvDHCPv6_handleOption( uint16_t usOption,
|
|||||||
/**
|
/**
|
||||||
* @brief Analyse the reply from a DHCP server.
|
* @brief Analyse the reply from a DHCP server.
|
||||||
*
|
*
|
||||||
* @param[in] pucAnswer: The payload text of the incoming packet.
|
* @param[in] pucAnswer The payload text of the incoming packet.
|
||||||
* @param[in] uxTotalLength: The number of valid bytes in pucAnswer.
|
* @param[in] uxTotalLength The number of valid bytes in pucAnswer.
|
||||||
* @param[in] pxDHCPMessage: The DHCP object of the end-point.
|
* @param[in] pxDHCPMessage The DHCP object of the end-point.
|
||||||
*
|
*
|
||||||
* @return pdTRUE if the analysis was successful.
|
* @return pdTRUE if the analysis was successful.
|
||||||
*/
|
*/
|
||||||
@@ -1422,7 +1422,7 @@ static BaseType_t prvDHCPv6Analyse( const uint8_t * pucAnswer,
|
|||||||
/**
|
/**
|
||||||
* @brief transform a state number in a descriptive string.
|
* @brief transform a state number in a descriptive string.
|
||||||
*
|
*
|
||||||
* @param[in] eState: The DHCP state number.
|
* @param[in] eState The DHCP state number.
|
||||||
*
|
*
|
||||||
* @return A descriptive string.
|
* @return A descriptive string.
|
||||||
*/
|
*/
|
||||||
|
@@ -194,7 +194,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Define FreeRTOS_gethostbyname() as a normal blocking call.
|
* @brief Define FreeRTOS_gethostbyname() as a normal blocking call.
|
||||||
* @param[in] pcHostName: The hostname whose IP address is being searched for.
|
* @param[in] pcHostName The hostname whose IP address is being searched for.
|
||||||
* @return The IP-address of the hostname.
|
* @return The IP-address of the hostname.
|
||||||
*/
|
*/
|
||||||
uint32_t FreeRTOS_gethostbyname( const char * pcHostName )
|
uint32_t FreeRTOS_gethostbyname( const char * pcHostName )
|
||||||
@@ -219,7 +219,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Remove the entry defined by the search ID to cancel a DNS request.
|
* @brief Remove the entry defined by the search ID to cancel a DNS request.
|
||||||
* @param[in] pvSearchID: The search ID of the callback function associated with
|
* @param[in] pvSearchID The search ID of the callback function associated with
|
||||||
* the DNS request being cancelled. Note that the value of
|
* the DNS request being cancelled. Note that the value of
|
||||||
* the pointer matters, not the pointee.
|
* the pointer matters, not the pointee.
|
||||||
*/
|
*/
|
||||||
@@ -236,10 +236,10 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Look-up the IP-address of a host.
|
* @brief Look-up the IP-address of a host.
|
||||||
*
|
*
|
||||||
* @param[in] pcName: The name of the node or device
|
* @param[in] pcName The name of the node or device
|
||||||
* @param[in] pcService: Ignored for now.
|
* @param[in] pcService Ignored for now.
|
||||||
* @param[in] pxHints: If not NULL: preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
* @param[in] pxHints If not NULL preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
||||||
* @param[out] ppxResult: An allocated struct, containing the results.
|
* @param[out] ppxResult An allocated struct, containing the results.
|
||||||
*
|
*
|
||||||
* @return Zero when the operation was successful, otherwise a negative errno value.
|
* @return Zero when the operation was successful, otherwise a negative errno value.
|
||||||
*/
|
*/
|
||||||
@@ -257,9 +257,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Internal function: allocate and initialise a new struct of type freertos_addrinfo.
|
* @brief Internal function: allocate and initialise a new struct of type freertos_addrinfo.
|
||||||
*
|
*
|
||||||
* @param[in] pcName: the name of the host.
|
* @param[in] pcName the name of the host.
|
||||||
* @param[in] xFamily: the type of IP-address: FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
* @param[in] xFamily the type of IP-address: FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
||||||
* @param[in] pucAddress: The IP-address of the host.
|
* @param[in] pucAddress The IP-address of the host.
|
||||||
*
|
*
|
||||||
* @return A pointer to the newly allocated struct, or NULL in case malloc failed..
|
* @return A pointer to the newly allocated struct, or NULL in case malloc failed..
|
||||||
*/
|
*/
|
||||||
@@ -311,7 +311,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Free a chain of structs of type 'freertos_addrinfo'.
|
* @brief Free a chain of structs of type 'freertos_addrinfo'.
|
||||||
* @param[in] pxInfo: The first find result.
|
* @param[in] pxInfo The first find result.
|
||||||
*/
|
*/
|
||||||
void FreeRTOS_freeaddrinfo( struct freertos_addrinfo * pxInfo )
|
void FreeRTOS_freeaddrinfo( struct freertos_addrinfo * pxInfo )
|
||||||
{
|
{
|
||||||
@@ -335,13 +335,13 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Asynchronous version of getaddrinfo().
|
* @brief Asynchronous version of getaddrinfo().
|
||||||
*
|
*
|
||||||
* @param[in] pcName: The name of the node or device
|
* @param[in] pcName The name of the node or device
|
||||||
* @param[in] pcService: Ignored for now.
|
* @param[in] pcService Ignored for now.
|
||||||
* @param[in] pxHints: If not NULL: preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
* @param[in] pxHints If not NULL preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
||||||
* @param[out] ppxResult: An allocated struct, containing the results.
|
* @param[out] ppxResult An allocated struct, containing the results.
|
||||||
* @param[in] pCallback: A user-defined function which will be called on completion, either when found or after a time-out.
|
* @param[in] pCallback A user-defined function which will be called on completion, either when found or after a time-out.
|
||||||
* @param[in] pvSearchID: A user provided void pointer that will be communicated on completion.
|
* @param[in] pvSearchID A user provided void pointer that will be communicated on completion.
|
||||||
* @param[in] uxTimeout: The maximum number of clock ticks that must be waited for a reply.
|
* @param[in] uxTimeout The maximum number of clock ticks that must be waited for a reply.
|
||||||
*
|
*
|
||||||
* @return Zero when the operation was successful, otherwise a negative errno value.
|
* @return Zero when the operation was successful, otherwise a negative errno value.
|
||||||
*/
|
*/
|
||||||
@@ -356,10 +356,10 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Look-up the IP-address of a host.
|
* @brief Look-up the IP-address of a host.
|
||||||
* @param[in] pcName: The name of the node or device
|
* @param[in] pcName The name of the node or device
|
||||||
* @param[in] pcService: Ignored for now.
|
* @param[in] pcService Ignored for now.
|
||||||
* @param[in] pxHints: If not NULL: preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
* @param[in] pxHints If not NULL preferences. Can be used to indicate the preferred type if IP ( v4 or v6 ).
|
||||||
* @param[out] ppxResult: An allocated struct, containing the results.
|
* @param[out] ppxResult An allocated struct, containing the results.
|
||||||
* @return Zero when the operation was successful, otherwise a negative errno value.
|
* @return Zero when the operation was successful, otherwise a negative errno value.
|
||||||
*/
|
*/
|
||||||
BaseType_t FreeRTOS_getaddrinfo( const char * pcName, /* The name of the node or device */
|
BaseType_t FreeRTOS_getaddrinfo( const char * pcName, /* The name of the node or device */
|
||||||
@@ -487,9 +487,9 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief See if pcHostName contains a valid IPv4 or IPv6 IP-address.
|
* @brief See if pcHostName contains a valid IPv4 or IPv6 IP-address.
|
||||||
* @param[in] pcHostName: The name to be looked up
|
* @param[in] pcHostName The name to be looked up
|
||||||
* @param[in] xFamily: the IP-type, either FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
* @param[in] xFamily the IP-type, either FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
||||||
* @param[in] ppxAddressInfo: A pointer to a pointer where the find results will
|
* @param[in] ppxAddressInfo A pointer to a pointer where the find results will
|
||||||
* be stored.
|
* be stored.
|
||||||
* @return Either 0 or an IP=address.
|
* @return Either 0 or an IP=address.
|
||||||
*/
|
*/
|
||||||
@@ -983,7 +983,7 @@
|
|||||||
/*!
|
/*!
|
||||||
* @brief return ip address from the dns reply message
|
* @brief return ip address from the dns reply message
|
||||||
* @param [in] pxReceiveBuffer received buffer from the DNS server
|
* @param [in] pxReceiveBuffer received buffer from the DNS server
|
||||||
* @param[in,out] ppxAddressInfo: A pointer to a pointer where the find results
|
* @param[in,out] ppxAddressInfo A pointer to a pointer where the find results
|
||||||
* will be stored.
|
* will be stored.
|
||||||
* @param [in] uxIdentifier matches sent and received packets
|
* @param [in] uxIdentifier matches sent and received packets
|
||||||
* @param [in] usPort Port from which DNS reply was read
|
* @param [in] usPort Port from which DNS reply was read
|
||||||
@@ -1153,7 +1153,7 @@
|
|||||||
* @param [in] pcHostName hostname to get its ip address
|
* @param [in] pcHostName hostname to get its ip address
|
||||||
* @param [in] uxIdentifier Identifier to match sent and received packets
|
* @param [in] uxIdentifier Identifier to match sent and received packets
|
||||||
* @param [in] xDNSSocket socket
|
* @param [in] xDNSSocket socket
|
||||||
* @param[in,out] ppxAddressInfo: A pointer to a pointer where the find results
|
* @param[in,out] ppxAddressInfo A pointer to a pointer where the find results
|
||||||
* will be stored.
|
* will be stored.
|
||||||
* @param[in] xFamily Either FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
* @param[in] xFamily Either FREERTOS_AF_INET4 or FREERTOS_AF_INET6.
|
||||||
* @param[in] uxReadTimeOut_ticks The timeout in ticks for waiting. In case the user has supplied
|
* @param[in] uxReadTimeOut_ticks The timeout in ticks for waiting. In case the user has supplied
|
||||||
|
@@ -48,8 +48,8 @@
|
|||||||
* @brief A DNS reply was received, see if there is any matching entry and
|
* @brief A DNS reply was received, see if there is any matching entry and
|
||||||
* call the handler.
|
* call the handler.
|
||||||
*
|
*
|
||||||
* @param[in,out] pxSet: a set of variables that are shared among the helper functions.
|
* @param[in,out] pxSet a set of variables that are shared among the helper functions.
|
||||||
* @param[in] pxAddress: Pointer to address info ( IPv4/IPv6 ) obtained from the DNS server.
|
* @param[in] pxAddress Pointer to address info ( IPv4/IPv6 ) obtained from the DNS server.
|
||||||
*
|
*
|
||||||
* @return Returns pdTRUE if uxIdentifier was recognized.
|
* @return Returns pdTRUE if uxIdentifier was recognized.
|
||||||
*/
|
*/
|
||||||
@@ -122,12 +122,12 @@
|
|||||||
* @brief FreeRTOS_gethostbyname_a() was called along with callback parameters.
|
* @brief FreeRTOS_gethostbyname_a() was called along with callback parameters.
|
||||||
* Store them in a list for later reference.
|
* Store them in a list for later reference.
|
||||||
*
|
*
|
||||||
* @param[in] pcHostName: The hostname whose IP address is being searched for.
|
* @param[in] pcHostName The hostname whose IP address is being searched for.
|
||||||
* @param[in] pvSearchID: The search ID of the DNS callback function to set.
|
* @param[in] pvSearchID The search ID of the DNS callback function to set.
|
||||||
* @param[in] pCallbackFunction: The callback function pointer.
|
* @param[in] pCallbackFunction The callback function pointer.
|
||||||
* @param[in] uxTimeout: Timeout of the callback function.
|
* @param[in] uxTimeout Timeout of the callback function.
|
||||||
* @param[in] uxIdentifier: Random number used as ID in the DNS message.
|
* @param[in] uxIdentifier Random number used as ID in the DNS message.
|
||||||
* @param[in] xIsIPv6: pdTRUE if the address type should be IPv6.
|
* @param[in] xIsIPv6 pdTRUE if the address type should be IPv6.
|
||||||
*/
|
*/
|
||||||
void vDNSSetCallBack( const char * pcHostName,
|
void vDNSSetCallBack( const char * pcHostName,
|
||||||
void * pvSearchID,
|
void * pvSearchID,
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
* As soon as the list has become empty, the DNS timer will be stopped.
|
* As soon as the list has become empty, the DNS timer will be stopped.
|
||||||
* In case pvSearchID is supplied, the user wants to cancel a DNS request.
|
* In case pvSearchID is supplied, the user wants to cancel a DNS request.
|
||||||
*
|
*
|
||||||
* @param[in] pvSearchID: The search ID of callback function whose associated
|
* @param[in] pvSearchID The search ID of callback function whose associated
|
||||||
* DNS request is being cancelled. If non-ID specific checking of
|
* DNS request is being cancelled. If non-ID specific checking of
|
||||||
* all requests is required, then this field should be kept as NULL.
|
* all requests is required, then this field should be kept as NULL.
|
||||||
*/
|
*/
|
||||||
|
@@ -39,8 +39,8 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Bind the socket to a port number.
|
* @brief Bind the socket to a port number.
|
||||||
* @param[in] xSocket: the socket that must be bound.
|
* @param[in] xSocket the socket that must be bound.
|
||||||
* @param[in] usPort: the port number to bind to.
|
* @param[in] usPort the port number to bind to.
|
||||||
* @return The created socket - or NULL if the socket could not be created or could not be bound.
|
* @return The created socket - or NULL if the socket could not be created or could not be bound.
|
||||||
*/
|
*/
|
||||||
BaseType_t DNS_BindSocket( Socket_t xSocket,
|
BaseType_t DNS_BindSocket( Socket_t xSocket,
|
||||||
|
@@ -137,10 +137,10 @@ static uint16_t prvGetChecksumFromPacket( const struct xPacketSummary * pxSet );
|
|||||||
/**
|
/**
|
||||||
* @brief Set checksum in the packet
|
* @brief Set checksum in the packet
|
||||||
*
|
*
|
||||||
* @param pxSet: Pointer to the packet summary that describes the packet,
|
* @param pxSet Pointer to the packet summary that describes the packet,
|
||||||
* to which the checksum will be set.
|
* to which the checksum will be set.
|
||||||
*
|
*
|
||||||
* @param usChecksum: Checksum value to be set.
|
* @param usChecksum Checksum value to be set.
|
||||||
*/
|
*/
|
||||||
static void prvSetChecksumInPacket( const struct xPacketSummary * pxSet,
|
static void prvSetChecksumInPacket( const struct xPacketSummary * pxSet,
|
||||||
uint16_t usChecksum )
|
uint16_t usChecksum )
|
||||||
@@ -171,7 +171,7 @@ static void prvSetChecksumInPacket( const struct xPacketSummary * pxSet,
|
|||||||
/**
|
/**
|
||||||
* @brief Get checksum from the packet summary
|
* @brief Get checksum from the packet summary
|
||||||
*
|
*
|
||||||
* @param pxSet: Pointer to the packet summary that describes the packet,
|
* @param pxSet Pointer to the packet summary that describes the packet,
|
||||||
* from which the checksum will be retrieved.
|
* from which the checksum will be retrieved.
|
||||||
*
|
*
|
||||||
* @return Checksum value that is retrieved from pxSet.
|
* @return Checksum value that is retrieved from pxSet.
|
||||||
@@ -213,7 +213,7 @@ static uint16_t prvGetChecksumFromPacket( const struct xPacketSummary * pxSet )
|
|||||||
*
|
*
|
||||||
* @return pdPASS or pdFAIL, depending on whether xSendEventStructToIPTask()
|
* @return pdPASS or pdFAIL, depending on whether xSendEventStructToIPTask()
|
||||||
* succeeded.
|
* succeeded.
|
||||||
* @param pxEndPoint: The end-point that needs DHCP.
|
* @param pxEndPoint The end-point that needs DHCP.
|
||||||
*/
|
*/
|
||||||
BaseType_t xSendDHCPEvent( struct xNetworkEndPoint * pxEndPoint )
|
BaseType_t xSendDHCPEvent( struct xNetworkEndPoint * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -371,8 +371,8 @@ static uintptr_t void_ptr_to_uintptr( const void * pvPointer )
|
|||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/** @brief Get and check the specific lengths depending on the protocol ( TCP/UDP/ICMP/IGMP ).
|
/** @brief Get and check the specific lengths depending on the protocol ( TCP/UDP/ICMP/IGMP ).
|
||||||
* @param[in] uxBufferLength: The number of bytes to be sent or received.
|
* @param[in] uxBufferLength The number of bytes to be sent or received.
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*
|
*
|
||||||
* @return Non-zero in case of an error.
|
* @return Non-zero in case of an error.
|
||||||
*/
|
*/
|
||||||
@@ -469,7 +469,7 @@ static BaseType_t prvChecksumProtocolChecks( size_t uxBufferLength,
|
|||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/** @brief See if the packet doesn't get bigger than the value of MTU.
|
/** @brief See if the packet doesn't get bigger than the value of MTU.
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*
|
*
|
||||||
* @return Non-zero in case of an error.
|
* @return Non-zero in case of an error.
|
||||||
*/
|
*/
|
||||||
@@ -507,9 +507,9 @@ static BaseType_t prvChecksumProtocolMTUCheck( struct xPacketSummary * pxSet )
|
|||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/** @brief Do the actual checksum calculations, both the pseudo header, and the payload.
|
/** @brief Do the actual checksum calculations, both the pseudo header, and the payload.
|
||||||
* @param[in] xOutgoingPacket: pdTRUE when the packet is to be sent.
|
* @param[in] xOutgoingPacket pdTRUE when the packet is to be sent.
|
||||||
* @param[in] pucEthernetBuffer: The buffer containing the packet.
|
* @param[in] pucEthernetBuffer The buffer containing the packet.
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*/
|
*/
|
||||||
static void prvChecksumProtocolCalculate( BaseType_t xOutgoingPacket,
|
static void prvChecksumProtocolCalculate( BaseType_t xOutgoingPacket,
|
||||||
const uint8_t * pucEthernetBuffer,
|
const uint8_t * pucEthernetBuffer,
|
||||||
@@ -612,10 +612,10 @@ static void prvChecksumProtocolCalculate( BaseType_t xOutgoingPacket,
|
|||||||
|
|
||||||
/** @brief For outgoing packets, set the checksum in the packet,
|
/** @brief For outgoing packets, set the checksum in the packet,
|
||||||
* for incoming packets: show logging in case an error occurred.
|
* for incoming packets: show logging in case an error occurred.
|
||||||
* @param[in] xOutgoingPacket: Non-zero if this is an outgoing packet.
|
* @param[in] xOutgoingPacket Non-zero if this is an outgoing packet.
|
||||||
* @param[in] pucEthernetBuffer: The buffer containing the packet.
|
* @param[in] pucEthernetBuffer The buffer containing the packet.
|
||||||
* @param[in] uxBufferLength: the total number of bytes received, or the number of bytes written
|
* @param[in] uxBufferLength the total number of bytes received, or the number of bytes written
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*/
|
*/
|
||||||
static void prvChecksumProtocolSetChecksum( BaseType_t xOutgoingPacket,
|
static void prvChecksumProtocolSetChecksum( BaseType_t xOutgoingPacket,
|
||||||
const uint8_t * pucEthernetBuffer,
|
const uint8_t * pucEthernetBuffer,
|
||||||
@@ -762,7 +762,7 @@ BaseType_t xIsCallingFromIPTask( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Process a 'Network down' event and complete required processing.
|
* @brief Process a 'Network down' event and complete required processing.
|
||||||
* @param pxInterface: The interface that goes down.
|
* @param pxInterface The interface that goes down.
|
||||||
*/
|
*/
|
||||||
/* MISRA Ref 8.9.1 [File scoped variables] */
|
/* MISRA Ref 8.9.1 [File scoped variables] */
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/MISRA.md#rule-89 */
|
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/MISRA.md#rule-89 */
|
||||||
|
@@ -58,8 +58,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Check IPv4 packet length.
|
* @brief Check IPv4 packet length.
|
||||||
*
|
*
|
||||||
* @param[in] pvEthernetBuffer: The Ethernet packet received.
|
* @param[in] pvEthernetBuffer The Ethernet packet received.
|
||||||
* @param[in] uxBufferLength: The total number of bytes received.
|
* @param[in] uxBufferLength The total number of bytes received.
|
||||||
*
|
*
|
||||||
* @return pdPASS when the length fields in the packet OK, pdFAIL when the packet
|
* @return pdPASS when the length fields in the packet OK, pdFAIL when the packet
|
||||||
* should be dropped.
|
* should be dropped.
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Is the IP address an IPv4 multicast address.
|
* @brief Is the IP address an IPv4 multicast address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: The IP address being checked.
|
* @param[in] ulIPAddress The IP address being checked.
|
||||||
*
|
*
|
||||||
* @return pdTRUE if the IP address is a multicast address or else, pdFALSE.
|
* @return pdTRUE if the IP address is a multicast address or else, pdFALSE.
|
||||||
*/
|
*/
|
||||||
@@ -208,9 +208,9 @@ BaseType_t xIsIPv4Multicast( uint32_t ulIPAddress )
|
|||||||
/**
|
/**
|
||||||
* @brief Check whether this IPv4 packet is to be allowed or to be dropped.
|
* @brief Check whether this IPv4 packet is to be allowed or to be dropped.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPPacket: The IP packet under consideration.
|
* @param[in] pxIPPacket The IP packet under consideration.
|
||||||
* @param[in] pxNetworkBuffer: The whole network buffer.
|
* @param[in] pxNetworkBuffer The whole network buffer.
|
||||||
* @param[in] uxHeaderLength: The length of the header.
|
* @param[in] uxHeaderLength The length of the header.
|
||||||
*
|
*
|
||||||
* @return Whether the packet should be processed or dropped.
|
* @return Whether the packet should be processed or dropped.
|
||||||
*/
|
*/
|
||||||
@@ -408,7 +408,7 @@ eFrameProcessingResult_t prvAllowIPPacketIPv4( const IPPacket_t * const pxIPPack
|
|||||||
|
|
||||||
|
|
||||||
/** @brief Check if the IP-header is carrying options.
|
/** @brief Check if the IP-header is carrying options.
|
||||||
* @param[in] pxNetworkBuffer: the network buffer that contains the packet.
|
* @param[in] pxNetworkBuffer the network buffer that contains the packet.
|
||||||
*
|
*
|
||||||
* @return Either 'eProcessBuffer' or 'eReleaseBuffer'
|
* @return Either 'eProcessBuffer' or 'eReleaseBuffer'
|
||||||
*/
|
*/
|
||||||
|
@@ -56,8 +56,8 @@
|
|||||||
* structure, then copies the network address structure to pvDestination.
|
* structure, then copies the network address structure to pvDestination.
|
||||||
* pvDestination is written in network byte order.
|
* pvDestination is written in network byte order.
|
||||||
*
|
*
|
||||||
* @param[in] pcSource: The character string in holding the IP address.
|
* @param[in] pcSource The character string in holding the IP address.
|
||||||
* @param[out] pvDestination: The returned network address in 32-bit network-endian format.
|
* @param[out] pvDestination The returned network address in 32-bit network-endian format.
|
||||||
*
|
*
|
||||||
* @return pdPASS if the translation was successful or else pdFAIL.
|
* @return pdPASS if the translation was successful or else pdFAIL.
|
||||||
*/
|
*/
|
||||||
@@ -180,10 +180,10 @@ BaseType_t FreeRTOS_inet_pton4( const char * pcSource,
|
|||||||
/**
|
/**
|
||||||
* @brief Convert the 32-bit representation of the IP-address to the dotted decimal format.
|
* @brief Convert the 32-bit representation of the IP-address to the dotted decimal format.
|
||||||
*
|
*
|
||||||
* @param[in] pvSource: The pointer to the 32-bit representation of the IP-address.
|
* @param[in] pvSource The pointer to the 32-bit representation of the IP-address.
|
||||||
* @param[out] pcDestination: The pointer to a character array where the string of the
|
* @param[out] pcDestination The pointer to a character array where the string of the
|
||||||
* dotted decimal IP format.
|
* dotted decimal IP format.
|
||||||
* @param[in] uxSize: Size of the character array. This value makes sure that the code
|
* @param[in] uxSize Size of the character array. This value makes sure that the code
|
||||||
* doesn't write beyond it's bounds.
|
* doesn't write beyond it's bounds.
|
||||||
*
|
*
|
||||||
* @return The pointer to the string holding the dotted decimal format of the IP-address. If
|
* @return The pointer to the string holding the dotted decimal format of the IP-address. If
|
||||||
@@ -217,8 +217,8 @@ const char * FreeRTOS_inet_ntop4( const void * pvSource,
|
|||||||
/**
|
/**
|
||||||
* @brief Called by prvSendUDPPacket(), this function will UDP packet
|
* @brief Called by prvSendUDPPacket(), this function will UDP packet
|
||||||
* fields and IPv4 address for the packet to be send.
|
* fields and IPv4 address for the packet to be send.
|
||||||
* @param[in] pxNetworkBuffer : The packet to be sent.
|
* @param[in] pxNetworkBuffer The packet to be sent.
|
||||||
* @param[in] pxDestinationAddress: The IPv4 socket address.
|
* @param[in] pxDestinationAddress The IPv4 socket address.
|
||||||
* @return Returns NULL, always.
|
* @return Returns NULL, always.
|
||||||
*/
|
*/
|
||||||
void * xSend_UDP_Update_IPv4( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
void * xSend_UDP_Update_IPv4( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
@@ -239,8 +239,8 @@ void * xSend_UDP_Update_IPv4( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
|||||||
/**
|
/**
|
||||||
* @brief Called by FreeRTOS_recvfrom(), this function will update socket
|
* @brief Called by FreeRTOS_recvfrom(), this function will update socket
|
||||||
* address with IPv4 address from the packet received.
|
* address with IPv4 address from the packet received.
|
||||||
* @param[in] pxNetworkBuffer : The packet received.
|
* @param[in] pxNetworkBuffer The packet received.
|
||||||
* @param[in] pxSourceAddress: The IPv4 socket address.
|
* @param[in] pxSourceAddress The IPv4 socket address.
|
||||||
* @return The Payload Offset.
|
* @return The Payload Offset.
|
||||||
*/
|
*/
|
||||||
size_t xRecv_Update_IPv4( const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
size_t xRecv_Update_IPv4( const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
|
@@ -45,8 +45,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Set multicast MAC address.
|
* @brief Set multicast MAC address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: IP address.
|
* @param[in] ulIPAddress IP address.
|
||||||
* @param[out] pxMACAddress: Pointer to MAC address.
|
* @param[out] pxMACAddress Pointer to MAC address.
|
||||||
*/
|
*/
|
||||||
void vSetMultiCastIPv4MacAddress( uint32_t ulIPAddress,
|
void vSetMultiCastIPv4MacAddress( uint32_t ulIPAddress,
|
||||||
MACAddress_t * pxMACAddress )
|
MACAddress_t * pxMACAddress )
|
||||||
@@ -63,9 +63,9 @@ void vSetMultiCastIPv4MacAddress( uint32_t ulIPAddress,
|
|||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/** @brief Do the first IPv4 length checks at the IP-header level.
|
/** @brief Do the first IPv4 length checks at the IP-header level.
|
||||||
* @param[in] pucEthernetBuffer: The buffer containing the packet.
|
* @param[in] pucEthernetBuffer The buffer containing the packet.
|
||||||
* @param[in] uxBufferLength: The number of bytes to be sent or received.
|
* @param[in] uxBufferLength The number of bytes to be sent or received.
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*
|
*
|
||||||
* @return Non-zero in case of an error.
|
* @return Non-zero in case of an error.
|
||||||
*/
|
*/
|
||||||
|
@@ -80,8 +80,8 @@ const struct xIPv6_Address FreeRTOS_in6addr_loopback = { { 0, 0, 0, 0, 0, 0, 0,
|
|||||||
/**
|
/**
|
||||||
* @brief Check IPv6 packet length.
|
* @brief Check IPv6 packet length.
|
||||||
*
|
*
|
||||||
* @param[in] pvEthernetBuffer: The Ethernet packet received.
|
* @param[in] pvEthernetBuffer The Ethernet packet received.
|
||||||
* @param[in] uxBufferLength: The total number of bytes received.
|
* @param[in] uxBufferLength The total number of bytes received.
|
||||||
*
|
*
|
||||||
* @return pdPASS when the length fields in the packet OK, pdFAIL when the packet
|
* @return pdPASS when the length fields in the packet OK, pdFAIL when the packet
|
||||||
* should be dropped.
|
* should be dropped.
|
||||||
@@ -210,7 +210,7 @@ const struct xIPv6_Address FreeRTOS_in6addr_loopback = { { 0, 0, 0, 0, 0, 0, 0,
|
|||||||
/**
|
/**
|
||||||
* @brief Check if ucNextHeader is an extension header.
|
* @brief Check if ucNextHeader is an extension header.
|
||||||
*
|
*
|
||||||
* @param[in] ucNextHeader: Next header, such as ipIPv6_EXT_HEADER_HOP_BY_HOP.
|
* @param[in] ucNextHeader Next header, such as ipIPv6_EXT_HEADER_HOP_BY_HOP.
|
||||||
*
|
*
|
||||||
* @return pdTRUE if it's extension header, otherwise pdFALSE.
|
* @return pdTRUE if it's extension header, otherwise pdFALSE.
|
||||||
*/
|
*/
|
||||||
@@ -253,7 +253,7 @@ static const struct xIPv6_Address xIPv6UnspecifiedAddress = { { 0, 0, 0, 0, 0, 0
|
|||||||
/**
|
/**
|
||||||
* @brief Get the group ID and stored into IPv6_Address_t.
|
* @brief Get the group ID and stored into IPv6_Address_t.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPv6Address: The multicast address to filter group ID.
|
* @param[in] pxIPv6Address The multicast address to filter group ID.
|
||||||
*
|
*
|
||||||
* @return IPv6_Address_t with group ID only.
|
* @return IPv6_Address_t with group ID only.
|
||||||
*/
|
*/
|
||||||
@@ -276,7 +276,7 @@ static IPv6_Address_t xGetIPv6MulticastGroupID( const IPv6_Address_t * pxIPv6Add
|
|||||||
/**
|
/**
|
||||||
* @brief Check if the packet is a loopback packet.
|
* @brief Check if the packet is a loopback packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPv6Header: The IP packet in pxNetworkBuffer.
|
* @param[in] pxIPv6Header The IP packet in pxNetworkBuffer.
|
||||||
*
|
*
|
||||||
* @return Returns pdTRUE if it's a legal loopback packet, pdFALSE if not .
|
* @return Returns pdTRUE if it's a legal loopback packet, pdFALSE if not .
|
||||||
*/
|
*/
|
||||||
@@ -306,7 +306,7 @@ static IPv6_Address_t xGetIPv6MulticastGroupID( const IPv6_Address_t * pxIPv6Add
|
|||||||
/**
|
/**
|
||||||
* @brief Check whether this IPv6 address is an allowed multicast address or not.
|
* @brief Check whether this IPv6 address is an allowed multicast address or not.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPAddress: The IP address to be checked.
|
* @param[in] pxIPAddress The IP address to be checked.
|
||||||
*
|
*
|
||||||
* @return Returns pdTRUE if pxIPAddress is an allowed multicast address, pdFALSE if not.
|
* @return Returns pdTRUE if pxIPAddress is an allowed multicast address, pdFALSE if not.
|
||||||
*/
|
*/
|
||||||
@@ -354,9 +354,9 @@ BaseType_t xIsIPv6AllowedMulticast( const IPv6_Address_t * pxIPAddress )
|
|||||||
* the special unicast address: ff02::1:ffnn:nnnn, where nn:nnnn are
|
* the special unicast address: ff02::1:ffnn:nnnn, where nn:nnnn are
|
||||||
* the last 3 bytes of the IPv6 address.
|
* the last 3 bytes of the IPv6 address.
|
||||||
*
|
*
|
||||||
* @param[in] pxLeft: First IP address.
|
* @param[in] pxLeft First IP address.
|
||||||
* @param[in] pxRight: Second IP address.
|
* @param[in] pxRight Second IP address.
|
||||||
* @param[in] uxPrefixLength: The IP address prefix length in bits.
|
* @param[in] uxPrefixLength The IP address prefix length in bits.
|
||||||
*
|
*
|
||||||
* @return Returns 0 if it can handle it, else non zero .
|
* @return Returns 0 if it can handle it, else non zero .
|
||||||
*/
|
*/
|
||||||
@@ -438,9 +438,9 @@ BaseType_t xCompareIPv6_Address( const IPv6_Address_t * pxLeft,
|
|||||||
/**
|
/**
|
||||||
* @brief Check whether this IPv6 packet is to be allowed or to be dropped.
|
* @brief Check whether this IPv6 packet is to be allowed or to be dropped.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPv6Header: The IP packet under consideration.
|
* @param[in] pxIPv6Header The IP packet under consideration.
|
||||||
* @param[in] pxNetworkBuffer: The whole network buffer.
|
* @param[in] pxNetworkBuffer The whole network buffer.
|
||||||
* @param[in] uxHeaderLength: The length of the header.
|
* @param[in] uxHeaderLength The length of the header.
|
||||||
*
|
*
|
||||||
* @return Whether the packet should be processed or dropped.
|
* @return Whether the packet should be processed or dropped.
|
||||||
*/
|
*/
|
||||||
@@ -550,8 +550,8 @@ eFrameProcessingResult_t prvAllowIPPacketIPv6( const IPHeader_IPv6_t * const pxI
|
|||||||
/**
|
/**
|
||||||
* @brief Check extension header and next header and return their order.
|
* @brief Check extension header and next header and return their order.
|
||||||
*
|
*
|
||||||
* @param[in] ucProtocol: Extension header ID.
|
* @param[in] ucProtocol Extension header ID.
|
||||||
* @param[in] ucNextHeader: Next header ID.
|
* @param[in] ucNextHeader Next header ID.
|
||||||
*
|
*
|
||||||
* @return Extension header order in the packet.
|
* @return Extension header order in the packet.
|
||||||
*/
|
*/
|
||||||
@@ -613,8 +613,8 @@ BaseType_t xGetExtensionOrder( uint8_t ucProtocol,
|
|||||||
/**
|
/**
|
||||||
* @brief Handle the IPv6 extension headers.
|
* @brief Handle the IPv6 extension headers.
|
||||||
*
|
*
|
||||||
* @param[in,out] pxNetworkBuffer: The received packet that contains IPv6 extension headers.
|
* @param[in,out] pxNetworkBuffer The received packet that contains IPv6 extension headers.
|
||||||
* @param[in] xDoRemove: Function removes the extension header if xDoRemove is set to pdTRUE.
|
* @param[in] xDoRemove Function removes the extension header if xDoRemove is set to pdTRUE.
|
||||||
*
|
*
|
||||||
* @return eProcessBuffer in case the options are removed successfully, otherwise
|
* @return eProcessBuffer in case the options are removed successfully, otherwise
|
||||||
* eReleaseBuffer.
|
* eReleaseBuffer.
|
||||||
@@ -638,6 +638,8 @@ eFrameProcessingResult_t eHandleIPv6ExtensionHeaders( NetworkBufferDescriptor_t
|
|||||||
BaseType_t xNextOrder = 0;
|
BaseType_t xNextOrder = 0;
|
||||||
BaseType_t xExtHeaderCount = 0;
|
BaseType_t xExtHeaderCount = 0;
|
||||||
|
|
||||||
|
( void ) xNextOrder;
|
||||||
|
|
||||||
while( ( uxIndex + 8U ) < uxMaxLength )
|
while( ( uxIndex + 8U ) < uxMaxLength )
|
||||||
{
|
{
|
||||||
BaseType_t xCurrentOrder;
|
BaseType_t xCurrentOrder;
|
||||||
|
@@ -53,9 +53,9 @@
|
|||||||
* @brief Called by pxTCPSocketLookup(), this function will check if a socket
|
* @brief Called by pxTCPSocketLookup(), this function will check if a socket
|
||||||
* is connected to a remote IP-address. It will be called from a loop
|
* is connected to a remote IP-address. It will be called from a loop
|
||||||
* iterating through all sockets.
|
* iterating through all sockets.
|
||||||
* @param[in] pxSocket: The socket to be inspected.
|
* @param[in] pxSocket The socket to be inspected.
|
||||||
* @param[in] pxAddress_IPv6: The IPv6 address, or NULL if the peer has a IPv4 address.
|
* @param[in] pxAddress_IPv6 The IPv6 address, or NULL if the peer has a IPv4 address.
|
||||||
* @param[in] ulRemoteIP: The IPv4 address.
|
* @param[in] ulRemoteIP The IPv4 address.
|
||||||
* @return The socket in case it is connected to the remote IP-address.
|
* @return The socket in case it is connected to the remote IP-address.
|
||||||
*/
|
*/
|
||||||
FreeRTOS_Socket_t * pxTCPSocketLookup_IPv6( FreeRTOS_Socket_t * pxSocket,
|
FreeRTOS_Socket_t * pxTCPSocketLookup_IPv6( FreeRTOS_Socket_t * pxSocket,
|
||||||
@@ -97,8 +97,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Called by prvSendUDPPacket(), this function will UDP packet
|
* @brief Called by prvSendUDPPacket(), this function will UDP packet
|
||||||
* fields and IPv6 address for the packet to be send.
|
* fields and IPv6 address for the packet to be send.
|
||||||
* @param[in] pxNetworkBuffer : The packet to be sent.
|
* @param[in] pxNetworkBuffer The packet to be sent.
|
||||||
* @param[in] pxDestinationAddress: The IPv4 socket address.
|
* @param[in] pxDestinationAddress The IPv4 socket address.
|
||||||
* @return Returns NULL, always.
|
* @return Returns NULL, always.
|
||||||
*/
|
*/
|
||||||
void * xSend_UDP_Update_IPv6( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
void * xSend_UDP_Update_IPv6( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
@@ -122,8 +122,8 @@ void * xSend_UDP_Update_IPv6( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
|||||||
/**
|
/**
|
||||||
* @brief Called by FreeRTOS_recvfrom(), this function will update socket
|
* @brief Called by FreeRTOS_recvfrom(), this function will update socket
|
||||||
* address with IPv6 address from the packet received.
|
* address with IPv6 address from the packet received.
|
||||||
* @param[in] pxNetworkBuffer : The packet received.
|
* @param[in] pxNetworkBuffer The packet received.
|
||||||
* @param[in] pxSourceAddress: The IPv4 socket address.
|
* @param[in] pxSourceAddress The IPv4 socket address.
|
||||||
* @return The Payload Offset.
|
* @return The Payload Offset.
|
||||||
*/
|
*/
|
||||||
size_t xRecv_Update_IPv6( const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
size_t xRecv_Update_IPv6( const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
@@ -155,7 +155,7 @@ size_t xRecv_Update_IPv6( const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Converts a hex value to a readable hex character, e.g. 14 becomes 'e'.
|
* @brief Converts a hex value to a readable hex character, e.g. 14 becomes 'e'.
|
||||||
* @param usValue : The value to be converted, must be between 0 and 15.
|
* @param usValue The value to be converted, must be between 0 and 15.
|
||||||
* @return The character, between '0' and '9', or between 'a' and 'f'.
|
* @return The character, between '0' and '9', or between 'a' and 'f'.
|
||||||
*/
|
*/
|
||||||
char cHexToChar( uint16_t usValue )
|
char cHexToChar( uint16_t usValue )
|
||||||
@@ -187,9 +187,9 @@ char cHexToChar( uint16_t usValue )
|
|||||||
* @brief Convert a short numeric value to a hex string of at most 4 characters.
|
* @brief Convert a short numeric value to a hex string of at most 4 characters.
|
||||||
* The resulting string is **not** null-terminated. The resulting string
|
* The resulting string is **not** null-terminated. The resulting string
|
||||||
* will not have leading zero's, except when 'usValue' equals zero.
|
* will not have leading zero's, except when 'usValue' equals zero.
|
||||||
* @param[in] pcBuffer : The buffer to which the string is written.
|
* @param[in] pcBuffer The buffer to which the string is written.
|
||||||
* @param[in] uxBufferSize : The size of the buffer pointed to by 'pcBuffer'.
|
* @param[in] uxBufferSize The size of the buffer pointed to by 'pcBuffer'.
|
||||||
* @param[in] usValue : The 16-bit value to be converted.
|
* @param[in] usValue The 16-bit value to be converted.
|
||||||
* @return The number of bytes written to 'pcBuffer'.
|
* @return The number of bytes written to 'pcBuffer'.
|
||||||
*/
|
*/
|
||||||
socklen_t uxHexPrintShort( char * pcBuffer,
|
socklen_t uxHexPrintShort( char * pcBuffer,
|
||||||
@@ -232,7 +232,7 @@ socklen_t uxHexPrintShort( char * pcBuffer,
|
|||||||
/**
|
/**
|
||||||
* @brief Scan the binary IPv6 address and find the longest train of consecutive zero's.
|
* @brief Scan the binary IPv6 address and find the longest train of consecutive zero's.
|
||||||
* The result of this search will be stored in 'xZeroStart' and 'xZeroLength'.
|
* The result of this search will be stored in 'xZeroStart' and 'xZeroLength'.
|
||||||
* @param pxSet: the set of parameters as used by FreeRTOS_inet_ntop6().
|
* @param pxSet the set of parameters as used by FreeRTOS_inet_ntop6().
|
||||||
*/
|
*/
|
||||||
void prv_ntop6_search_zeros( struct sNTOP6_Set * pxSet )
|
void prv_ntop6_search_zeros( struct sNTOP6_Set * pxSet )
|
||||||
{
|
{
|
||||||
@@ -282,9 +282,9 @@ void prv_ntop6_search_zeros( struct sNTOP6_Set * pxSet )
|
|||||||
/**
|
/**
|
||||||
* @brief The location is now at the longest train of zero's. Two colons have to
|
* @brief The location is now at the longest train of zero's. Two colons have to
|
||||||
* be printed without a numeric value, e.g. "ff02::1".
|
* be printed without a numeric value, e.g. "ff02::1".
|
||||||
* @param pcDestination: the output buffer where the colons will be printed.
|
* @param pcDestination the output buffer where the colons will be printed.
|
||||||
* @param uxSize: the remaining length of the output buffer.
|
* @param uxSize the remaining length of the output buffer.
|
||||||
* @param pxSet: the set of parameters as used by FreeRTOS_inet_ntop6().
|
* @param pxSet the set of parameters as used by FreeRTOS_inet_ntop6().
|
||||||
* @return pdPASS in case the output buffer is big enough to contain the colons.
|
* @return pdPASS in case the output buffer is big enough to contain the colons.
|
||||||
* @note uxSize must be at least 2, enough to print "::". The string will get
|
* @note uxSize must be at least 2, enough to print "::". The string will get
|
||||||
* null-terminated later on.
|
* null-terminated later on.
|
||||||
@@ -333,9 +333,9 @@ static BaseType_t prv_ntop6_write_zeros( char * pcDestination,
|
|||||||
/**
|
/**
|
||||||
* @brief Write a short value, as a hex number with at most 4 characters. E.g. the
|
* @brief Write a short value, as a hex number with at most 4 characters. E.g. the
|
||||||
* value 15 will be printed as "f".
|
* value 15 will be printed as "f".
|
||||||
* @param pcDestination: the output buffer where the hex number is to be printed.
|
* @param pcDestination the output buffer where the hex number is to be printed.
|
||||||
* @param uxSize: the remaining length of the output buffer.
|
* @param uxSize the remaining length of the output buffer.
|
||||||
* @param pxSet: the set of parameters as used by FreeRTOS_inet_ntop6().
|
* @param pxSet the set of parameters as used by FreeRTOS_inet_ntop6().
|
||||||
* @return pdPASS in case the output buffer is big enough to contain the string.
|
* @return pdPASS in case the output buffer is big enough to contain the string.
|
||||||
* @note uxSize must be at least 4, enough to print "abcd". The string will get
|
* @note uxSize must be at least 4, enough to print "abcd". The string will get
|
||||||
* null-terminated later on.
|
* null-terminated later on.
|
||||||
@@ -389,10 +389,10 @@ static BaseType_t prv_ntop6_write_short( char * pcDestination,
|
|||||||
/**
|
/**
|
||||||
* @brief This function converts a binary IPv6 address to a human readable notation.
|
* @brief This function converts a binary IPv6 address to a human readable notation.
|
||||||
*
|
*
|
||||||
* @param[in] pvSource: The binary address, 16 bytes long..
|
* @param[in] pvSource The binary address, 16 bytes long..
|
||||||
* @param[out] pcDestination: The human-readable ( hexadecimal ) notation of the
|
* @param[out] pcDestination The human-readable ( hexadecimal ) notation of the
|
||||||
* address.
|
* address.
|
||||||
* @param[in] uxSize: The size of pvDestination. A value of 40 is recommended.
|
* @param[in] uxSize The size of pvDestination. A value of 40 is recommended.
|
||||||
*
|
*
|
||||||
* @return pdPASS if the translation was successful or else pdFAIL.
|
* @return pdPASS if the translation was successful or else pdFAIL.
|
||||||
*/
|
*/
|
||||||
@@ -456,9 +456,9 @@ const char * FreeRTOS_inet_ntop6( const void * pvSource,
|
|||||||
/**
|
/**
|
||||||
* @brief Converting a readable IPv6 address to its binary form, add one nibble.
|
* @brief Converting a readable IPv6 address to its binary form, add one nibble.
|
||||||
*
|
*
|
||||||
* @param[in] pxSet : A set of variables describing the conversion.
|
* @param[in] pxSet A set of variables describing the conversion.
|
||||||
* @param[in] ucNew : The hex value, between 0 and 15
|
* @param[in] ucNew The hex value, between 0 and 15
|
||||||
* @param[in] ch : The character, such as '5', 'f', or ':'.
|
* @param[in] ch The character, such as '5', 'f', or ':'.
|
||||||
*
|
*
|
||||||
* @return pdTRUE when the nibble was added, otherwise pdFALSE.
|
* @return pdTRUE when the nibble was added, otherwise pdFALSE.
|
||||||
*/
|
*/
|
||||||
@@ -530,7 +530,7 @@ static BaseType_t prv_inet_pton6_add_nibble( struct sPTON6_Set * pxSet,
|
|||||||
/**
|
/**
|
||||||
* @brief Convert an ASCII character to its corresponding hexadecimal value.
|
* @brief Convert an ASCII character to its corresponding hexadecimal value.
|
||||||
* A :: block was found, now fill in the zero's.
|
* A :: block was found, now fill in the zero's.
|
||||||
* @param[in] pxSet : A set of variables describing the conversion.
|
* @param[in] pxSet A set of variables describing the conversion.
|
||||||
*/
|
*/
|
||||||
static void prv_inet_pton6_set_zeros( struct sPTON6_Set * pxSet )
|
static void prv_inet_pton6_set_zeros( struct sPTON6_Set * pxSet )
|
||||||
{
|
{
|
||||||
@@ -557,8 +557,8 @@ static void prv_inet_pton6_set_zeros( struct sPTON6_Set * pxSet )
|
|||||||
/**
|
/**
|
||||||
* @brief Convert an IPv6 address in hexadecimal notation to a binary format of 16 bytes.
|
* @brief Convert an IPv6 address in hexadecimal notation to a binary format of 16 bytes.
|
||||||
*
|
*
|
||||||
* @param[in] pcSource: The address in hexadecimal notation.
|
* @param[in] pcSource The address in hexadecimal notation.
|
||||||
* @param[out] pvDestination: The address in binary format, 16 bytes long.
|
* @param[out] pvDestination The address in binary format, 16 bytes long.
|
||||||
*
|
*
|
||||||
* @return The 32-bit representation of IP(v4) address.
|
* @return The 32-bit representation of IP(v4) address.
|
||||||
*/
|
*/
|
||||||
|
@@ -49,8 +49,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Set multicast MAC address.
|
* @brief Set multicast MAC address.
|
||||||
*
|
*
|
||||||
* @param[in] pxAddress: IPv6 address.
|
* @param[in] pxAddress IPv6 address.
|
||||||
* @param[out] pxMACAddress: Pointer to MAC address.
|
* @param[out] pxMACAddress Pointer to MAC address.
|
||||||
*/
|
*/
|
||||||
void vSetMultiCastIPv6MacAddress( const IPv6_Address_t * pxAddress,
|
void vSetMultiCastIPv6MacAddress( const IPv6_Address_t * pxAddress,
|
||||||
MACAddress_t * pxMACAddress )
|
MACAddress_t * pxMACAddress )
|
||||||
@@ -65,9 +65,9 @@ void vSetMultiCastIPv6MacAddress( const IPv6_Address_t * pxAddress,
|
|||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/** @brief Do the first IPv6 length checks at the IP-header level.
|
/** @brief Do the first IPv6 length checks at the IP-header level.
|
||||||
* @param[in] pucEthernetBuffer: The buffer containing the packet.
|
* @param[in] pucEthernetBuffer The buffer containing the packet.
|
||||||
* @param[in] uxBufferLength: The number of bytes to be sent or received.
|
* @param[in] uxBufferLength The number of bytes to be sent or received.
|
||||||
* @param[in] pxSet: A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
*
|
*
|
||||||
* @return Non-zero in case of an error.
|
* @return Non-zero in case of an error.
|
||||||
*/
|
*/
|
||||||
@@ -115,7 +115,7 @@ BaseType_t prvChecksumIPv6Checks( uint8_t * pucEthernetBuffer,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check the buffer lengths of an ICMPv6 packet.
|
* @brief Check the buffer lengths of an ICMPv6 packet.
|
||||||
* @param[in] uxBufferLength: The total length of the packet.
|
* @param[in] uxBufferLength The total length of the packet.
|
||||||
* @param[in] pxSet A struct describing this packet.
|
* @param[in] pxSet A struct describing this packet.
|
||||||
* @return Non-zero in case of an error.
|
* @return Non-zero in case of an error.
|
||||||
*/
|
*/
|
||||||
|
@@ -140,9 +140,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief See if the MAC-address can be resolved because it is a multi-cast address.
|
* @brief See if the MAC-address can be resolved because it is a multi-cast address.
|
||||||
*
|
*
|
||||||
* @param[in] pxAddressToLookup: The IP-address to look-up.
|
* @param[in] pxAddressToLookup The IP-address to look-up.
|
||||||
* @param[out] pxMACAddress: The resulting MAC-address is stored here.
|
* @param[out] pxMACAddress The resulting MAC-address is stored here.
|
||||||
* @param[out] ppxEndPoint: A pointer to an end-point pointer where the end-point will be stored.
|
* @param[out] ppxEndPoint A pointer to an end-point pointer where the end-point will be stored.
|
||||||
*
|
*
|
||||||
* @return An enum, either eARPCacheHit or eARPCacheMiss.
|
* @return An enum, either eARPCacheHit or eARPCacheMiss.
|
||||||
*/
|
*/
|
||||||
@@ -178,9 +178,9 @@
|
|||||||
* @brief Find the MAC-address of an IPv6 address. It will first determine if is a multicast
|
* @brief Find the MAC-address of an IPv6 address. It will first determine if is a multicast
|
||||||
* address, if not, it will check the ND cache.
|
* address, if not, it will check the ND cache.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPAddress: The IPv6 address to be looked up.
|
* @param[in] pxIPAddress The IPv6 address to be looked up.
|
||||||
* @param[out] pxMACAddress: The MAC-address found.
|
* @param[out] pxMACAddress The MAC-address found.
|
||||||
* @param[out] ppxEndPoint: A pointer to a pointer to an end-point, where the end-point will be stored.
|
* @param[out] ppxEndPoint A pointer to a pointer to an end-point, where the end-point will be stored.
|
||||||
*
|
*
|
||||||
* @return An enum which says whether the address was found: eARPCacheHit or eARPCacheMiss.
|
* @return An enum which says whether the address was found: eARPCacheHit or eARPCacheMiss.
|
||||||
*/
|
*/
|
||||||
@@ -274,9 +274,9 @@
|
|||||||
* @brief Store a combination of IP-address, MAC-address and an end-point in a free location
|
* @brief Store a combination of IP-address, MAC-address and an end-point in a free location
|
||||||
* in the ND cache.
|
* in the ND cache.
|
||||||
*
|
*
|
||||||
* @param[in] pxMACAddress: The MAC-address
|
* @param[in] pxMACAddress The MAC-address
|
||||||
* @param[in] pxIPAddress: The IP-address
|
* @param[in] pxIPAddress The IP-address
|
||||||
* @param[in] pxEndPoint: The end-point through which the IP-address can be reached.
|
* @param[in] pxEndPoint The end-point through which the IP-address can be reached.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vNDRefreshCacheEntry( const MACAddress_t * pxMACAddress,
|
void vNDRefreshCacheEntry( const MACAddress_t * pxMACAddress,
|
||||||
@@ -410,9 +410,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Look-up an IPv6 address in the cache.
|
* @brief Look-up an IPv6 address in the cache.
|
||||||
*
|
*
|
||||||
* @param[in] pxAddressToLookup: The IPv6 address to look-up.Ethernet packet.
|
* @param[in] pxAddressToLookup The IPv6 address to look-up.Ethernet packet.
|
||||||
* @param[out] pxMACAddress: The resulting MAC-address will be stored here.
|
* @param[out] pxMACAddress The resulting MAC-address will be stored here.
|
||||||
* @param[out] ppxEndPoint: A pointer to a pointer to an end-point, where the end-point will be stored.
|
* @param[out] ppxEndPoint A pointer to a pointer to an end-point, where the end-point will be stored.
|
||||||
*
|
*
|
||||||
* @return An enum: either eARPCacheHit or eARPCacheMiss.
|
* @return An enum: either eARPCacheHit or eARPCacheMiss.
|
||||||
*/
|
*/
|
||||||
@@ -512,8 +512,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Return an ICMPv6 packet to the peer.
|
* @brief Return an ICMPv6 packet to the peer.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The Ethernet packet.
|
* @param[in] pxNetworkBuffer The Ethernet packet.
|
||||||
* @param[in] uxICMPSize: The number of bytes to be sent.
|
* @param[in] uxICMPSize The number of bytes to be sent.
|
||||||
*/
|
*/
|
||||||
static void prvReturnICMP_IPv6( NetworkBufferDescriptor_t * const pxNetworkBuffer,
|
static void prvReturnICMP_IPv6( NetworkBufferDescriptor_t * const pxNetworkBuffer,
|
||||||
size_t uxICMPSize )
|
size_t uxICMPSize )
|
||||||
@@ -558,8 +558,8 @@
|
|||||||
* add an entry into the ND table that indicates that an ND reply is outstanding
|
* add an entry into the ND table that indicates that an ND reply is outstanding
|
||||||
* so re-transmissions can be generated.
|
* so re-transmissions can be generated.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer in which the message shall be stored.
|
* @param[in] pxNetworkBuffer The network buffer in which the message shall be stored.
|
||||||
* @param[in] pxIPAddress: The IPv6 address that is asked to send a Neighbour Advertisement.
|
* @param[in] pxIPAddress The IPv6 address that is asked to send a Neighbour Advertisement.
|
||||||
*
|
*
|
||||||
* @note Send out an ND request for the IPv6 address contained in pxNetworkBuffer, and
|
* @note Send out an ND request for the IPv6 address contained in pxNetworkBuffer, and
|
||||||
* add an entry into the ND table that indicates that an ND reply is
|
* add an entry into the ND table that indicates that an ND reply is
|
||||||
@@ -661,9 +661,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Send a PING request using an ICMPv6 format.
|
* @brief Send a PING request using an ICMPv6 format.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPAddress: Send an IPv6 PING request.
|
* @param[in] pxIPAddress Send an IPv6 PING request.
|
||||||
* @param[in] uxNumberOfBytesToSend: The number of bytes to be sent.
|
* @param[in] uxNumberOfBytesToSend The number of bytes to be sent.
|
||||||
* @param[in] uxBlockTimeTicks: The maximum number of clock-ticks to wait while
|
* @param[in] uxBlockTimeTicks The maximum number of clock-ticks to wait while
|
||||||
* putting the message on the queue for the IP-task.
|
* putting the message on the queue for the IP-task.
|
||||||
*
|
*
|
||||||
* @return When failed: pdFAIL, otherwise the PING sequence number.
|
* @return When failed: pdFAIL, otherwise the PING sequence number.
|
||||||
@@ -821,7 +821,7 @@
|
|||||||
* @brief Returns a printable string for the major ICMPv6 message types. Used for
|
* @brief Returns a printable string for the major ICMPv6 message types. Used for
|
||||||
* debugging only.
|
* debugging only.
|
||||||
*
|
*
|
||||||
* @param[in] xType: The type of message.
|
* @param[in] xType The type of message.
|
||||||
*
|
*
|
||||||
* @return A null-terminated string that represents the type the kind of message.
|
* @return A null-terminated string that represents the type the kind of message.
|
||||||
*/
|
*/
|
||||||
@@ -923,7 +923,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Process an ICMPv6 packet and send replies when applicable.
|
* @brief Process an ICMPv6 packet and send replies when applicable.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The Ethernet packet which contains an IPv6 message.
|
* @param[in] pxNetworkBuffer The Ethernet packet which contains an IPv6 message.
|
||||||
*
|
*
|
||||||
* @return A const value 'eReleaseBuffer' which means that the network must still be released.
|
* @return A const value 'eReleaseBuffer' which means that the network must still be released.
|
||||||
*/
|
*/
|
||||||
@@ -1122,7 +1122,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Send out a Neighbour Advertisement message.
|
* @brief Send out a Neighbour Advertisement message.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point to use.
|
* @param[in] pxEndPoint The end-point to use.
|
||||||
*/
|
*/
|
||||||
/* MISRA Ref 8.9.1 [File scoped variables] */
|
/* MISRA Ref 8.9.1 [File scoped variables] */
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/MISRA.md#rule-89 */
|
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/blob/main/MISRA.md#rule-89 */
|
||||||
@@ -1202,10 +1202,10 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Create an IPv16 address, based on a prefix.
|
* @brief Create an IPv16 address, based on a prefix.
|
||||||
*
|
*
|
||||||
* @param[out] pxIPAddress: The location where the new IPv6 address will be stored.
|
* @param[out] pxIPAddress The location where the new IPv6 address will be stored.
|
||||||
* @param[in] pxPrefix: The prefix to be used.
|
* @param[in] pxPrefix The prefix to be used.
|
||||||
* @param[in] uxPrefixLength: The length of the prefix.
|
* @param[in] uxPrefixLength The length of the prefix.
|
||||||
* @param[in] xDoRandom: A non-zero value if the bits after the prefix should have a random value.
|
* @param[in] xDoRandom A non-zero value if the bits after the prefix should have a random value.
|
||||||
*
|
*
|
||||||
* @return pdPASS if the operation was successful. Or pdFAIL in case xApplicationGetRandomNumber()
|
* @return pdPASS if the operation was successful. Or pdFAIL in case xApplicationGetRandomNumber()
|
||||||
* returned an error.
|
* returned an error.
|
||||||
|
@@ -91,8 +91,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Find a link-local address that is bound to a given interface.
|
* @brief Find a link-local address that is bound to a given interface.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The interface for which a link-local address is looked up.
|
* @param[in] pxInterface The interface for which a link-local address is looked up.
|
||||||
* @param[out] pxAddress: The IP address will be copied to this parameter.
|
* @param[out] pxAddress The IP address will be copied to this parameter.
|
||||||
*
|
*
|
||||||
* @return pdPASS in case a link-local address was found, otherwise pdFAIL.
|
* @return pdPASS in case a link-local address was found, otherwise pdFAIL.
|
||||||
*/
|
*/
|
||||||
@@ -123,8 +123,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Send an ICMPv6 message of the type: Router Solicitation.
|
* @brief Send an ICMPv6 message of the type: Router Solicitation.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer which can be used for this.
|
* @param[in] pxNetworkBuffer The network buffer which can be used for this.
|
||||||
* @param[in] pxIPAddress: The target address, normally ff02::2
|
* @param[in] pxIPAddress The target address, normally ff02::2
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vNDSendRouterSolicitation( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
void vNDSendRouterSolicitation( NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
@@ -216,7 +216,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Receive a NA ( Neighbour Advertisement ) message to see if a chosen IP-address is already in use.
|
* @brief Receive a NA ( Neighbour Advertisement ) message to see if a chosen IP-address is already in use.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The buffer that contains the message.
|
* @param[in] pxNetworkBuffer The buffer that contains the message.
|
||||||
*/
|
*/
|
||||||
void vReceiveNA( const NetworkBufferDescriptor_t * pxNetworkBuffer )
|
void vReceiveNA( const NetworkBufferDescriptor_t * pxNetworkBuffer )
|
||||||
{
|
{
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Read a received RA reply and return the prefix option from the packet.
|
* @brief Read a received RA reply and return the prefix option from the packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The buffer that contains the message.
|
* @param[in] pxNetworkBuffer The buffer that contains the message.
|
||||||
*
|
*
|
||||||
* @returns Returns the ICMP prefix option pointer, pointing to its location in the
|
* @returns Returns the ICMP prefix option pointer, pointing to its location in the
|
||||||
* input RA reply message buffer.
|
* input RA reply message buffer.
|
||||||
@@ -308,6 +308,7 @@
|
|||||||
case ndICMP_MTU_OPTION: /* 5 */
|
case ndICMP_MTU_OPTION: /* 5 */
|
||||||
{
|
{
|
||||||
uint32_t ulMTU;
|
uint32_t ulMTU;
|
||||||
|
( void ) ulMTU;
|
||||||
|
|
||||||
/* ulChar2u32 returns host-endian numbers. */
|
/* ulChar2u32 returns host-endian numbers. */
|
||||||
ulMTU = ulChar2u32( &( pucBytes[ uxIndex + 4U ] ) );
|
ulMTU = ulChar2u32( &( pucBytes[ uxIndex + 4U ] ) );
|
||||||
@@ -333,7 +334,7 @@
|
|||||||
* prefix offered, and completed with random bits. It will start testing if another device
|
* prefix offered, and completed with random bits. It will start testing if another device
|
||||||
* already exists that uses the same IP-address.
|
* already exists that uses the same IP-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The buffer that contains the message.
|
* @param[in] pxNetworkBuffer The buffer that contains the message.
|
||||||
*/
|
*/
|
||||||
void vReceiveRA( const NetworkBufferDescriptor_t * pxNetworkBuffer )
|
void vReceiveRA( const NetworkBufferDescriptor_t * pxNetworkBuffer )
|
||||||
{
|
{
|
||||||
@@ -407,8 +408,8 @@
|
|||||||
* @brief This is an option to test SLAAC. This device will take the IP-address of a
|
* @brief This is an option to test SLAAC. This device will take the IP-address of a
|
||||||
* known device in the LAN, just to simulate a IP-address clash.
|
* known device in the LAN, just to simulate a IP-address clash.
|
||||||
*
|
*
|
||||||
* @param[in] xIndex: the index to be used in the list of IP-addresses.
|
* @param[in] xIndex the index to be used in the list of IP-addresses.
|
||||||
* @param[out] pxIPAddress: Here the IP-address will be written.
|
* @param[out] pxIPAddress Here the IP-address will be written.
|
||||||
*
|
*
|
||||||
* @return pdPASS if an existing IP-address has been found and written to pxIPAddress.
|
* @return pdPASS if an existing IP-address has been found and written to pxIPAddress.
|
||||||
*/
|
*/
|
||||||
@@ -449,8 +450,8 @@
|
|||||||
* there is no other device using the same IP-address vIPNetworkUpCalls() is called
|
* there is no other device using the same IP-address vIPNetworkUpCalls() is called
|
||||||
* to send the network up event.
|
* to send the network up event.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end point for which RA assignment is required.
|
* @param[in] pxEndPoint The end point for which RA assignment is required.
|
||||||
* @param[out] uxReloadTime: Timer reload value in ticks.
|
* @param[out] uxReloadTime Timer reload value in ticks.
|
||||||
*
|
*
|
||||||
* @return New timer reload value.
|
* @return New timer reload value.
|
||||||
*/
|
*/
|
||||||
@@ -541,8 +542,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Handles the RA states other than the wait states.
|
* @brief Handles the RA states other than the wait states.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end point for which RA assignment is required.
|
* @param[in] pxEndPoint The end point for which RA assignment is required.
|
||||||
* @param[out] uxReloadTime: Timer reload value in ticks.
|
* @param[out] uxReloadTime Timer reload value in ticks.
|
||||||
*
|
*
|
||||||
* @return New timer reload value.
|
* @return New timer reload value.
|
||||||
*/
|
*/
|
||||||
@@ -659,7 +660,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Initialise the RA state machine.
|
* @brief Initialise the RA state machine.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: The end-point for which Router Advertisement is required.
|
* @param[in] pxEndPoint The end-point for which Router Advertisement is required.
|
||||||
*/
|
*/
|
||||||
static void vRAProcessInit( NetworkEndPoint_t * pxEndPoint )
|
static void vRAProcessInit( NetworkEndPoint_t * pxEndPoint )
|
||||||
{
|
{
|
||||||
@@ -670,8 +671,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Do a single cycle of the RA state machine.
|
* @brief Do a single cycle of the RA state machine.
|
||||||
*
|
*
|
||||||
* @param[in] xDoReset: pdTRUE if the state machine must be reset.
|
* @param[in] xDoReset pdTRUE if the state machine must be reset.
|
||||||
* @param[in] pxEndPoint: The end-point for which a RA assignment is required.
|
* @param[in] pxEndPoint The end-point for which a RA assignment is required.
|
||||||
*/
|
*/
|
||||||
void vRAProcess( BaseType_t xDoReset,
|
void vRAProcess( BaseType_t xDoReset,
|
||||||
NetworkEndPoint_t * pxEndPoint )
|
NetworkEndPoint_t * pxEndPoint )
|
||||||
|
@@ -74,15 +74,15 @@ struct xIPv6_Couple
|
|||||||
/**
|
/**
|
||||||
* @brief Configure and install a new IPv4 end-point.
|
* @brief Configure and install a new IPv4 end-point.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkInterface: The interface to which it belongs.
|
* @param[in] pxNetworkInterface The interface to which it belongs.
|
||||||
* @param[in] pxEndPoint: Space for the new end-point. This memory is dedicated for the
|
* @param[in] pxEndPoint Space for the new end-point. This memory is dedicated for the
|
||||||
* end-point and should not be freed or get any other purpose.
|
* end-point and should not be freed or get any other purpose.
|
||||||
* @param[in] ucIPAddress: The IP-address.
|
* @param[in] ucIPAddress The IP-address.
|
||||||
* @param[in] ucNetMask: The prefix which shall be used for this end-point.
|
* @param[in] ucNetMask The prefix which shall be used for this end-point.
|
||||||
* @param[in] ucGatewayAddress: The IP-address of a device on the LAN which can serve as
|
* @param[in] ucGatewayAddress The IP-address of a device on the LAN which can serve as
|
||||||
* as a gateway to the Internet.
|
* as a gateway to the Internet.
|
||||||
* @param[in] ucDNSServerAddress: The IP-address of a DNS server.
|
* @param[in] ucDNSServerAddress The IP-address of a DNS server.
|
||||||
* @param[in] ucMACAddress: The MAC address of the end-point.
|
* @param[in] ucMACAddress The MAC address of the end-point.
|
||||||
*/
|
*/
|
||||||
void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
||||||
NetworkEndPoint_t * pxEndPoint,
|
NetworkEndPoint_t * pxEndPoint,
|
||||||
@@ -142,7 +142,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
* @brief Add a network interface to the list of interfaces. Check if the interface was
|
* @brief Add a network interface to the list of interfaces. Check if the interface was
|
||||||
* already added in an earlier call.
|
* already added in an earlier call.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The address of the new interface.
|
* @param[in] pxInterface The address of the new interface.
|
||||||
*
|
*
|
||||||
* @return The value of the parameter 'pxInterface'.
|
* @return The value of the parameter 'pxInterface'.
|
||||||
*/
|
*/
|
||||||
@@ -232,8 +232,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Add an end-point to a given interface.
|
* @brief Add an end-point to a given interface.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The interface that gets a new end-point.
|
* @param[in] pxInterface The interface that gets a new end-point.
|
||||||
* @param[in] pxEndPoint: The end-point to be added.
|
* @param[in] pxEndPoint The end-point to be added.
|
||||||
*
|
*
|
||||||
* @return The value of the parameter 'pxEndPoint'.
|
* @return The value of the parameter 'pxEndPoint'.
|
||||||
*/
|
*/
|
||||||
@@ -311,7 +311,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the first end-point bound to a given interface.
|
* @brief Find the first end-point bound to a given interface.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The interface whose first end-point will be returned.
|
* @param[in] pxInterface The interface whose first end-point will be returned.
|
||||||
*
|
*
|
||||||
* @return The first end-point that is found to the interface, or NULL when the
|
* @return The first end-point that is found to the interface, or NULL when the
|
||||||
* interface doesn't have any end-point yet.
|
* interface doesn't have any end-point yet.
|
||||||
@@ -340,9 +340,9 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
* @brief Get the next end-point. The parameter 'pxInterface' may be NULL, which means:
|
* @brief Get the next end-point. The parameter 'pxInterface' may be NULL, which means:
|
||||||
* don't care which interface the end-point is bound to.
|
* don't care which interface the end-point is bound to.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: An interface of interest, or NULL when iterating through all
|
* @param[in] pxInterface An interface of interest, or NULL when iterating through all
|
||||||
* end-points.
|
* end-points.
|
||||||
* @param[in] pxEndPoint: This is the current end-point.
|
* @param[in] pxEndPoint This is the current end-point.
|
||||||
*
|
*
|
||||||
* @return The end-point that is found, or NULL when there are no more end-points in the list.
|
* @return The end-point that is found, or NULL when there are no more end-points in the list.
|
||||||
*/
|
*/
|
||||||
@@ -373,8 +373,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the end-point which has a given IPv4 address.
|
* @brief Find the end-point which has a given IPv4 address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: The IP-address of interest, or 0 if any IPv4 end-point may be returned.
|
* @param[in] ulIPAddress The IP-address of interest, or 0 if any IPv4 end-point may be returned.
|
||||||
* @param[in] ulWhere: For maintaining routing statistics ulWhere acts as an index to the data structure
|
* @param[in] ulWhere For maintaining routing statistics ulWhere acts as an index to the data structure
|
||||||
* that keep track of the number of times 'FreeRTOS_FindEndPointOnIP_IPv4()'
|
* that keep track of the number of times 'FreeRTOS_FindEndPointOnIP_IPv4()'
|
||||||
* has been called from a particular location. Used only if
|
* has been called from a particular location. Used only if
|
||||||
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
||||||
@@ -423,7 +423,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the end-point which handles a given IPv6 address.
|
* @brief Find the end-point which handles a given IPv6 address.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPAddress: The IP-address of interest.
|
* @param[in] pxIPAddress The IP-address of interest.
|
||||||
*
|
*
|
||||||
* @return The end-point found or NULL.
|
* @return The end-point found or NULL.
|
||||||
*/
|
*/
|
||||||
@@ -452,8 +452,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the end-point that has a certain MAC-address.
|
* @brief Find the end-point that has a certain MAC-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxMACAddress: The Ethernet packet.
|
* @param[in] pxMACAddress The Ethernet packet.
|
||||||
* @param[in] pxInterface: The interface on which the packet was received, or NULL when unknown.
|
* @param[in] pxInterface The interface on which the packet was received, or NULL when unknown.
|
||||||
*
|
*
|
||||||
* @return The end-point that has the given MAC-address.
|
* @return The end-point that has the given MAC-address.
|
||||||
*/
|
*/
|
||||||
@@ -494,8 +494,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles a given IPv4-address.
|
* @brief Find an end-point that handles a given IPv4-address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: The IP-address for which an end-point is looked-up.
|
* @param[in] ulIPAddress The IP-address for which an end-point is looked-up.
|
||||||
* @param[in] ulWhere: For maintaining routing statistics ulWhere acts as an index to the data structure
|
* @param[in] ulWhere For maintaining routing statistics ulWhere acts as an index to the data structure
|
||||||
* that keep track of the number of times 'FreeRTOS_InterfaceEndPointOnNetMask()'
|
* that keep track of the number of times 'FreeRTOS_InterfaceEndPointOnNetMask()'
|
||||||
* has been called from a particular location. Used only if
|
* has been called from a particular location. Used only if
|
||||||
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
||||||
@@ -513,11 +513,11 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles a given IPv4-address.
|
* @brief Find an end-point that handles a given IPv4-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: Only end-points that have this interface are returned, unless
|
* @param[in] pxInterface Only end-points that have this interface are returned, unless
|
||||||
* pxInterface is NULL.
|
* pxInterface is NULL.
|
||||||
* @param[in] ulIPAddress: The IP-address for which an end-point is looked-up.
|
* @param[in] ulIPAddress The IP-address for which an end-point is looked-up.
|
||||||
*
|
*
|
||||||
* @param[in] ulWhere: For maintaining routing statistics ulWhere acts as an index to the data structure
|
* @param[in] ulWhere For maintaining routing statistics ulWhere acts as an index to the data structure
|
||||||
* that keep track of the number of times 'FreeRTOS_InterfaceEndPointOnNetMask()'
|
* that keep track of the number of times 'FreeRTOS_InterfaceEndPointOnNetMask()'
|
||||||
* has been called from a particular location. Used only if
|
* has been called from a particular location. Used only if
|
||||||
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
* ipconfigHAS_ROUTING_STATISTICS is enabled.
|
||||||
@@ -583,16 +583,16 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Configure and install a new IPv6 end-point.
|
* @brief Configure and install a new IPv6 end-point.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkInterface: The interface to which it belongs.
|
* @param[in] pxNetworkInterface The interface to which it belongs.
|
||||||
* @param[in] pxEndPoint: Space for the new end-point. This memory is dedicated for the
|
* @param[in] pxEndPoint Space for the new end-point. This memory is dedicated for the
|
||||||
* end-point and should not be freed or get any other purpose.
|
* end-point and should not be freed or get any other purpose.
|
||||||
* @param[in] pxIPAddress: The IP-address.
|
* @param[in] pxIPAddress The IP-address.
|
||||||
* @param[in] pxNetPrefix: The prefix which shall be used for this end-point.
|
* @param[in] pxNetPrefix The prefix which shall be used for this end-point.
|
||||||
* @param[in] uxPrefixLength: The length of the above end-point.
|
* @param[in] uxPrefixLength The length of the above end-point.
|
||||||
* @param[in] pxGatewayAddress: The IP-address of a device on the LAN which can serve as
|
* @param[in] pxGatewayAddress The IP-address of a device on the LAN which can serve as
|
||||||
* as a gateway to the Internet.
|
* as a gateway to the Internet.
|
||||||
* @param[in] pxDNSServerAddress: The IP-address of a DNS server.
|
* @param[in] pxDNSServerAddress The IP-address of a DNS server.
|
||||||
* @param[in] ucMACAddress: The MAC address of the end-point.
|
* @param[in] ucMACAddress The MAC address of the end-point.
|
||||||
*/
|
*/
|
||||||
void FreeRTOS_FillEndPoint_IPv6( NetworkInterface_t * pxNetworkInterface,
|
void FreeRTOS_FillEndPoint_IPv6( NetworkInterface_t * pxNetworkInterface,
|
||||||
NetworkEndPoint_t * pxEndPoint,
|
NetworkEndPoint_t * pxEndPoint,
|
||||||
@@ -696,7 +696,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles a given IPv6-address.
|
* @brief Find an end-point that handles a given IPv6-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxIPv6Address: The IP-address for which an end-point is looked-up.
|
* @param[in] pxIPv6Address The IP-address for which an end-point is looked-up.
|
||||||
*
|
*
|
||||||
* @return An end-point that has the same network mask as the given IP-address.
|
* @return An end-point that has the same network mask as the given IP-address.
|
||||||
*/
|
*/
|
||||||
@@ -727,11 +727,11 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles an incoming packet based on its type, source/destination & MAC address.
|
* @brief Find an end-point that handles an incoming packet based on its type, source/destination & MAC address.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkInterface: The interface via which the packet was received.
|
* @param[in] pxNetworkInterface The interface via which the packet was received.
|
||||||
* @param[in] usFrameType: Frame type of the packet.
|
* @param[in] usFrameType Frame type of the packet.
|
||||||
* @param[in] pxIPAddressFrom: Source IP address of the packet.
|
* @param[in] pxIPAddressFrom Source IP address of the packet.
|
||||||
* @param[in] pxIPAddressTo: Destination IP address of the packet.
|
* @param[in] pxIPAddressTo Destination IP address of the packet.
|
||||||
* @param[in] pxMACAddress: Destination MAC address of the packet.
|
* @param[in] pxMACAddress Destination MAC address of the packet.
|
||||||
*
|
*
|
||||||
* @return An end-point that handles the packet.
|
* @return An end-point that handles the packet.
|
||||||
*/
|
*/
|
||||||
@@ -868,8 +868,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find out the best matching end-point given an incoming Ethernet packet.
|
* @brief Find out the best matching end-point given an incoming Ethernet packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkInterface: The interface on which the packet was received.
|
* @param[in] pxNetworkInterface The interface on which the packet was received.
|
||||||
* @param[in] pucEthernetBuffer: The Ethernet packet that was just received.
|
* @param[in] pucEthernetBuffer The Ethernet packet that was just received.
|
||||||
*
|
*
|
||||||
* @return The end-point that should handle the incoming Ethernet packet.
|
* @return The end-point that should handle the incoming Ethernet packet.
|
||||||
*/
|
*/
|
||||||
@@ -971,7 +971,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that defines a gateway of a certain type ( IPv4 or IPv6 ).
|
* @brief Find an end-point that defines a gateway of a certain type ( IPv4 or IPv6 ).
|
||||||
*
|
*
|
||||||
* @param[in] xIPType: The type of Gateway to look for ( ipTYPE_IPv4 or ipTYPE_IPv6 ).
|
* @param[in] xIPType The type of Gateway to look for ( ipTYPE_IPv4 or ipTYPE_IPv6 ).
|
||||||
*
|
*
|
||||||
* @return The end-point that will lead to the gateway, or NULL when no gateway was found.
|
* @return The end-point that will lead to the gateway, or NULL when no gateway was found.
|
||||||
*/
|
*/
|
||||||
@@ -1025,7 +1025,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the first IPv6 end-point.
|
* @brief Find the first IPv6 end-point.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: Either NULL ( don't care ), or a specific interface.
|
* @param[in] pxInterface Either NULL ( don't care ), or a specific interface.
|
||||||
*
|
*
|
||||||
* @return The end-point found, or NULL when there are no end-points at all.
|
* @return The end-point found, or NULL when there are no end-points at all.
|
||||||
*/
|
*/
|
||||||
@@ -1051,7 +1051,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Get the end-point that is bound to a socket.
|
* @brief Get the end-point that is bound to a socket.
|
||||||
*
|
*
|
||||||
* @param[in] xSocket: The socket of interest.
|
* @param[in] xSocket The socket of interest.
|
||||||
*
|
*
|
||||||
* @return An end-point or NULL in case the socket is not bound to an end-point.
|
* @return An end-point or NULL in case the socket is not bound to an end-point.
|
||||||
*/
|
*/
|
||||||
@@ -1076,8 +1076,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Assign an end-point to a socket.
|
* @brief Assign an end-point to a socket.
|
||||||
*
|
*
|
||||||
* @param[in] xSocket: The socket to which an end-point will be assigned.
|
* @param[in] xSocket The socket to which an end-point will be assigned.
|
||||||
* @param[in] pxEndPoint: The end-point to be assigned.
|
* @param[in] pxEndPoint The end-point to be assigned.
|
||||||
*/
|
*/
|
||||||
void vSetSocketEndpoint( Socket_t xSocket,
|
void vSetSocketEndpoint( Socket_t xSocket,
|
||||||
NetworkEndPoint_t * pxEndPoint )
|
NetworkEndPoint_t * pxEndPoint )
|
||||||
@@ -1099,7 +1099,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
* @brief Add a network interface to the list of interfaces. Check if this will be
|
* @brief Add a network interface to the list of interfaces. Check if this will be
|
||||||
* first and only interface ( ipconfigCOMPATIBLE_WITH_SINGLE = 1 ).
|
* first and only interface ( ipconfigCOMPATIBLE_WITH_SINGLE = 1 ).
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The address of the new interface.
|
* @param[in] pxInterface The address of the new interface.
|
||||||
*
|
*
|
||||||
* @return The value of the parameter 'pxInterface'.
|
* @return The value of the parameter 'pxInterface'.
|
||||||
*/
|
*/
|
||||||
@@ -1115,8 +1115,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
* @brief And an end-point to an interface. Note that when ipconfigCOMPATIBLE_WITH_SINGLE
|
* @brief And an end-point to an interface. Note that when ipconfigCOMPATIBLE_WITH_SINGLE
|
||||||
* is defined, only one interface is allowed, which will have one end-point only.
|
* is defined, only one interface is allowed, which will have one end-point only.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The interface to which the end-point is assigned.
|
* @param[in] pxInterface The interface to which the end-point is assigned.
|
||||||
* @param[in] pxEndPoint: The end-point to be assigned to the above interface.
|
* @param[in] pxEndPoint The end-point to be assigned to the above interface.
|
||||||
*
|
*
|
||||||
* @return The value of the parameter 'pxEndPoint'.
|
* @return The value of the parameter 'pxEndPoint'.
|
||||||
*/
|
*/
|
||||||
@@ -1149,7 +1149,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the end-point which has a given IPv4 address.
|
* @brief Find the end-point which has a given IPv4 address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: The IP-address of interest, or 0 if any IPv4 end-point may be returned.
|
* @param[in] ulIPAddress The IP-address of interest, or 0 if any IPv4 end-point may be returned.
|
||||||
*
|
*
|
||||||
* @return The end-point found or NULL.
|
* @return The end-point found or NULL.
|
||||||
*/
|
*/
|
||||||
@@ -1173,8 +1173,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the end-point that has a certain MAC-address.
|
* @brief Find the end-point that has a certain MAC-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxMACAddress: The Ethernet packet.
|
* @param[in] pxMACAddress The Ethernet packet.
|
||||||
* @param[in] pxInterface: The interface on which the packet was received, or NULL when unknown.
|
* @param[in] pxInterface The interface on which the packet was received, or NULL when unknown.
|
||||||
*
|
*
|
||||||
* @return The end-point that has the given MAC-address.
|
* @return The end-point that has the given MAC-address.
|
||||||
*/
|
*/
|
||||||
@@ -1198,7 +1198,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles a given IPv4-address.
|
* @brief Find an end-point that handles a given IPv4-address.
|
||||||
*
|
*
|
||||||
* @param[in] ulIPAddress: The IP-address for which an end-point is looked-up.
|
* @param[in] ulIPAddress The IP-address for which an end-point is looked-up.
|
||||||
*
|
*
|
||||||
* @return An end-point that has the same network mask as the given IP-address.
|
* @return An end-point that has the same network mask as the given IP-address.
|
||||||
*/
|
*/
|
||||||
@@ -1212,7 +1212,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that defines a gateway of a certain type ( IPv4 or IPv6 ).
|
* @brief Find an end-point that defines a gateway of a certain type ( IPv4 or IPv6 ).
|
||||||
*
|
*
|
||||||
* @param[in] xIPType: The type of Gateway to look for ( ipTYPE_IPv4 or ipTYPE_IPv6 ).
|
* @param[in] xIPType The type of Gateway to look for ( ipTYPE_IPv4 or ipTYPE_IPv6 ).
|
||||||
*
|
*
|
||||||
* @return The end-point that will lead to the gateway, or NULL when no gateway was found.
|
* @return The end-point that will lead to the gateway, or NULL when no gateway was found.
|
||||||
*/
|
*/
|
||||||
@@ -1237,7 +1237,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find the first end-point bound to a given interface.
|
* @brief Find the first end-point bound to a given interface.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: The interface whose first end-point will be returned.
|
* @param[in] pxInterface The interface whose first end-point will be returned.
|
||||||
*
|
*
|
||||||
* @return The first end-point that is found to the interface, or NULL when the
|
* @return The first end-point that is found to the interface, or NULL when the
|
||||||
* interface doesn't have any end-point yet.
|
* interface doesn't have any end-point yet.
|
||||||
@@ -1268,8 +1268,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find an end-point that handles a given IPv4-address.
|
* @brief Find an end-point that handles a given IPv4-address.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: Ignored in this simplified version.
|
* @param[in] pxInterface Ignored in this simplified version.
|
||||||
* @param[in] ulIPAddress: The IP-address for which an end-point is looked-up.
|
* @param[in] ulIPAddress The IP-address for which an end-point is looked-up.
|
||||||
*
|
*
|
||||||
* @return An end-point that has the same network mask as the given IP-address.
|
* @return An end-point that has the same network mask as the given IP-address.
|
||||||
*/
|
*/
|
||||||
@@ -1294,8 +1294,8 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Find out the best matching end-point given an incoming Ethernet packet.
|
* @brief Find out the best matching end-point given an incoming Ethernet packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkInterface: The interface on which the packet was received.
|
* @param[in] pxNetworkInterface The interface on which the packet was received.
|
||||||
* @param[in] pucEthernetBuffer: The Ethernet packet that was just received.
|
* @param[in] pucEthernetBuffer The Ethernet packet that was just received.
|
||||||
*
|
*
|
||||||
* @return The end-point that should handle the incoming Ethernet packet.
|
* @return The end-point that should handle the incoming Ethernet packet.
|
||||||
*/
|
*/
|
||||||
@@ -1315,9 +1315,9 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
* @brief Get the next end-point. As this is the simplified version, it will always
|
* @brief Get the next end-point. As this is the simplified version, it will always
|
||||||
* return NULL.
|
* return NULL.
|
||||||
*
|
*
|
||||||
* @param[in] pxInterface: An interface of interest, or NULL when iterating through all
|
* @param[in] pxInterface An interface of interest, or NULL when iterating through all
|
||||||
* end-points.
|
* end-points.
|
||||||
* @param[in] pxEndPoint: This is the current end-point.
|
* @param[in] pxEndPoint This is the current end-point.
|
||||||
*
|
*
|
||||||
* @return NULL because ipconfigCOMPATIBLE_WITH_SINGLE is defined.
|
* @return NULL because ipconfigCOMPATIBLE_WITH_SINGLE is defined.
|
||||||
*/
|
*/
|
||||||
@@ -1378,7 +1378,7 @@ void FreeRTOS_FillEndPoint( NetworkInterface_t * pxNetworkInterface,
|
|||||||
/**
|
/**
|
||||||
* @brief Returns the IP type of the given IPv6 address.
|
* @brief Returns the IP type of the given IPv6 address.
|
||||||
*
|
*
|
||||||
* @param[in] pxAddress: The IPv6 address whose type needs to be returned.
|
* @param[in] pxAddress The IPv6 address whose type needs to be returned.
|
||||||
* @returns The IP type of the given address.
|
* @returns The IP type of the given address.
|
||||||
*/
|
*/
|
||||||
IPv6_Type_t xIPv6_GetIPType( const IPv6_Address_t * pxAddress )
|
IPv6_Type_t xIPv6_GetIPType( const IPv6_Address_t * pxAddress )
|
||||||
@@ -1414,9 +1414,9 @@ IPv6_Type_t xIPv6_GetIPType( const IPv6_Address_t * pxAddress )
|
|||||||
/**
|
/**
|
||||||
* @brief Returns the string representation of the IP address of the end point.
|
* @brief Returns the string representation of the IP address of the end point.
|
||||||
*
|
*
|
||||||
* @param[in] pxEndPoint: End point for which IP address needs to be returned.
|
* @param[in] pxEndPoint End point for which IP address needs to be returned.
|
||||||
* @param[in] pcBuffer: A char buffer of required size to which the string will be written.
|
* @param[in] pcBuffer A char buffer of required size to which the string will be written.
|
||||||
* @param[in] uxSize: Size of the char buffer - pcBuffer.
|
* @param[in] uxSize Size of the char buffer - pcBuffer.
|
||||||
*
|
*
|
||||||
* @returns The pointer to the char buffer that contains the string representation of the end point IP address.
|
* @returns The pointer to the char buffer that contains the string representation of the end point IP address.
|
||||||
* The string will be "NULL" if the end point pointer is NULL.
|
* The string will be "NULL" if the end point pointer is NULL.
|
||||||
|
@@ -79,7 +79,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Process the received TCP packet.
|
* @brief Process the received TCP packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxDescriptor: The descriptor in which the TCP packet is held.
|
* @param[in] pxDescriptor The descriptor in which the TCP packet is held.
|
||||||
*
|
*
|
||||||
* @return If the processing of the packet was successful, then pdPASS is returned
|
* @return If the processing of the packet was successful, then pdPASS is returned
|
||||||
* or else pdFAIL.
|
* or else pdFAIL.
|
||||||
|
@@ -81,7 +81,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Process the received TCP packet.
|
* @brief Process the received TCP packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxDescriptor: The descriptor in which the TCP packet is held.
|
* @param[in] pxDescriptor The descriptor in which the TCP packet is held.
|
||||||
*
|
*
|
||||||
* @return If the processing of the packet was successful, then pdPASS is returned
|
* @return If the processing of the packet was successful, then pdPASS is returned
|
||||||
* or else pdFAIL.
|
* or else pdFAIL.
|
||||||
|
@@ -68,8 +68,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Handle 'listen' event on the given socket.
|
* @brief Handle 'listen' event on the given socket.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket on which the listen occurred.
|
* @param[in] pxSocket The socket on which the listen occurred.
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the packet.
|
* @param[in] pxNetworkBuffer The network buffer carrying the packet.
|
||||||
*
|
*
|
||||||
* @return If a new socket/duplicate socket is created, then the pointer to
|
* @return If a new socket/duplicate socket is created, then the pointer to
|
||||||
* that socket is returned or else, a NULL pointer is returned.
|
* that socket is returned or else, a NULL pointer is returned.
|
||||||
|
@@ -68,8 +68,8 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Handle 'listen' event on the given socket.
|
* @brief Handle 'listen' event on the given socket.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket on which the listen occurred.
|
* @param[in] pxSocket The socket on which the listen occurred.
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the packet.
|
* @param[in] pxNetworkBuffer The network buffer carrying the packet.
|
||||||
*
|
*
|
||||||
* @return If a new socket/duplicate socket is created, then the pointer to
|
* @return If a new socket/duplicate socket is created, then the pointer to
|
||||||
* that socket is returned or else, a NULL pointer is returned.
|
* that socket is returned or else, a NULL pointer is returned.
|
||||||
|
@@ -285,9 +285,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Called by prvTCPReturnPacket(), this function will set the the window
|
* @brief Called by prvTCPReturnPacket(), this function will set the the window
|
||||||
* size on this side: 'xTCPHeader.usWindow'.
|
* size on this side: 'xTCPHeader.usWindow'.
|
||||||
* @param[in] pxSocket: The socket on which the packet is being sent.
|
* @param[in] pxSocket The socket on which the packet is being sent.
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the outgoing message.
|
* @param[in] pxNetworkBuffer The network buffer carrying the outgoing message.
|
||||||
* @param[in] uxIPHeaderSize: The size of the IP-header, which depends on the IP-type.
|
* @param[in] uxIPHeaderSize The size of the IP-header, which depends on the IP-type.
|
||||||
*/
|
*/
|
||||||
void prvTCPReturn_CheckTCPWindow( FreeRTOS_Socket_t * pxSocket,
|
void prvTCPReturn_CheckTCPWindow( FreeRTOS_Socket_t * pxSocket,
|
||||||
const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
const NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
@@ -369,10 +369,10 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Called by prvTCPReturnPacket(), this function sets the sequence and ack numbers
|
* @brief Called by prvTCPReturnPacket(), this function sets the sequence and ack numbers
|
||||||
* in the TCP-header.
|
* in the TCP-header.
|
||||||
* @param[in] pxSocket: The socket on which the packet is being sent.
|
* @param[in] pxSocket The socket on which the packet is being sent.
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the outgoing message.
|
* @param[in] pxNetworkBuffer The network buffer carrying the outgoing message.
|
||||||
* @param[in] uxIPHeaderSize: The size of the IP-header, which depends on the IP-type.
|
* @param[in] uxIPHeaderSize The size of the IP-header, which depends on the IP-type.
|
||||||
* @param[in] ulLen: The size of the packet minus the size of the Ethernet header.
|
* @param[in] ulLen The size of the packet minus the size of the Ethernet header.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void prvTCPReturn_SetSequenceNumber( FreeRTOS_Socket_t * pxSocket,
|
void prvTCPReturn_SetSequenceNumber( FreeRTOS_Socket_t * pxSocket,
|
||||||
@@ -697,9 +697,9 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Called by prvTCPReturnPacket(), this function makes sure that the network buffer
|
* @brief Called by prvTCPReturnPacket(), this function makes sure that the network buffer
|
||||||
* has 'pxEndPoint' set properly.
|
* has 'pxEndPoint' set properly.
|
||||||
* @param[in] pxSocket: The socket on which the packet is being sent.
|
* @param[in] pxSocket The socket on which the packet is being sent.
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the outgoing message.
|
* @param[in] pxNetworkBuffer The network buffer carrying the outgoing message.
|
||||||
* @param[in] uxIPHeaderSize: The size of the IP-header, which depends on the IP-type.
|
* @param[in] uxIPHeaderSize The size of the IP-header, which depends on the IP-type.
|
||||||
*/
|
*/
|
||||||
void prvTCPReturn_SetEndPoint( const FreeRTOS_Socket_t * pxSocket,
|
void prvTCPReturn_SetEndPoint( const FreeRTOS_Socket_t * pxSocket,
|
||||||
NetworkBufferDescriptor_t * pxNetworkBuffer,
|
NetworkBufferDescriptor_t * pxNetworkBuffer,
|
||||||
|
@@ -77,10 +77,10 @@
|
|||||||
* called 'xTCP.xPacket'. A temporary xNetworkBuffer will be used to pass
|
* called 'xTCP.xPacket'. A temporary xNetworkBuffer will be used to pass
|
||||||
* the data to the NIC.
|
* the data to the NIC.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket owning the connection.
|
* @param[in] pxSocket The socket owning the connection.
|
||||||
* @param[in] pxDescriptor: The network buffer descriptor carrying the packet.
|
* @param[in] pxDescriptor The network buffer descriptor carrying the packet.
|
||||||
* @param[in] ulLen: Length of the packet being sent.
|
* @param[in] ulLen Length of the packet being sent.
|
||||||
* @param[in] xReleaseAfterSend: pdTRUE if the ownership of the descriptor is
|
* @param[in] xReleaseAfterSend pdTRUE if the ownership of the descriptor is
|
||||||
* transferred to the network interface.
|
* transferred to the network interface.
|
||||||
*/
|
*/
|
||||||
void prvTCPReturnPacket_IPV4( FreeRTOS_Socket_t * pxSocket,
|
void prvTCPReturnPacket_IPV4( FreeRTOS_Socket_t * pxSocket,
|
||||||
@@ -321,7 +321,7 @@
|
|||||||
* @brief Let ARP look-up the MAC-address of the peer and initialise the first SYN
|
* @brief Let ARP look-up the MAC-address of the peer and initialise the first SYN
|
||||||
* packet.
|
* packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket owning the TCP connection. The first packet shall
|
* @param[in] pxSocket The socket owning the TCP connection. The first packet shall
|
||||||
* be created in this socket.
|
* be created in this socket.
|
||||||
*
|
*
|
||||||
* @return pdTRUE: if the packet was successfully created and the first SYN can be sent.
|
* @return pdTRUE: if the packet was successfully created and the first SYN can be sent.
|
||||||
@@ -473,8 +473,8 @@
|
|||||||
* @brief Common code for sending a TCP protocol control packet (i.e. no options, no
|
* @brief Common code for sending a TCP protocol control packet (i.e. no options, no
|
||||||
* payload, just flags).
|
* payload, just flags).
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer received from the peer.
|
* @param[in] pxNetworkBuffer The network buffer received from the peer.
|
||||||
* @param[in] ucTCPFlags: The flags to determine what kind of packet this is.
|
* @param[in] ucTCPFlags The flags to determine what kind of packet this is.
|
||||||
*
|
*
|
||||||
* @return pdFAIL always indicating that the packet was not consumed.
|
* @return pdFAIL always indicating that the packet was not consumed.
|
||||||
*/
|
*/
|
||||||
|
@@ -78,10 +78,10 @@
|
|||||||
* called 'xTCP.xPacket'. A temporary xNetworkBuffer will be used to pass
|
* called 'xTCP.xPacket'. A temporary xNetworkBuffer will be used to pass
|
||||||
* the data to the NIC.
|
* the data to the NIC.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket owning the connection.
|
* @param[in] pxSocket The socket owning the connection.
|
||||||
* @param[in] pxDescriptor: The network buffer descriptor carrying the packet.
|
* @param[in] pxDescriptor The network buffer descriptor carrying the packet.
|
||||||
* @param[in] ulLen: Length of the packet being sent.
|
* @param[in] ulLen Length of the packet being sent.
|
||||||
* @param[in] xReleaseAfterSend: pdTRUE if the ownership of the descriptor is
|
* @param[in] xReleaseAfterSend pdTRUE if the ownership of the descriptor is
|
||||||
* transferred to the network interface.
|
* transferred to the network interface.
|
||||||
*/
|
*/
|
||||||
void prvTCPReturnPacket_IPV6( FreeRTOS_Socket_t * pxSocket,
|
void prvTCPReturnPacket_IPV6( FreeRTOS_Socket_t * pxSocket,
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
* @brief Let ARP look-up the MAC-address of the peer and initialise the first SYN
|
* @brief Let ARP look-up the MAC-address of the peer and initialise the first SYN
|
||||||
* packet.
|
* packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket owning the TCP connection. The first packet shall
|
* @param[in] pxSocket The socket owning the TCP connection. The first packet shall
|
||||||
* be created in this socket.
|
* be created in this socket.
|
||||||
*
|
*
|
||||||
* @return pdTRUE: if the packet was successfully created and the first SYN can be sent.
|
* @return pdTRUE: if the packet was successfully created and the first SYN can be sent.
|
||||||
@@ -487,8 +487,8 @@
|
|||||||
* @brief Common code for sending a TCP protocol control packet (i.e. no options, no
|
* @brief Common code for sending a TCP protocol control packet (i.e. no options, no
|
||||||
* payload, just flags).
|
* payload, just flags).
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer received from the peer.
|
* @param[in] pxNetworkBuffer The network buffer received from the peer.
|
||||||
* @param[in] ucTCPFlags: The flags to determine what kind of packet this is.
|
* @param[in] ucTCPFlags The flags to determine what kind of packet this is.
|
||||||
*
|
*
|
||||||
* @return pdFAIL always indicating that the packet was not consumed.
|
* @return pdFAIL always indicating that the packet was not consumed.
|
||||||
*/
|
*/
|
||||||
|
@@ -51,7 +51,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Set the MSS (Maximum segment size) associated with the given socket.
|
* @brief Set the MSS (Maximum segment size) associated with the given socket.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket whose MSS is to be set.
|
* @param[in] pxSocket The socket whose MSS is to be set.
|
||||||
*/
|
*/
|
||||||
void prvSocketSetMSS_IPV4( FreeRTOS_Socket_t * pxSocket )
|
void prvSocketSetMSS_IPV4( FreeRTOS_Socket_t * pxSocket )
|
||||||
{
|
{
|
||||||
|
@@ -51,7 +51,7 @@
|
|||||||
/**
|
/**
|
||||||
* @brief Set the MSS (Maximum segment size) associated with the given socket.
|
* @brief Set the MSS (Maximum segment size) associated with the given socket.
|
||||||
*
|
*
|
||||||
* @param[in] pxSocket: The socket whose MSS is to be set.
|
* @param[in] pxSocket The socket whose MSS is to be set.
|
||||||
*/
|
*/
|
||||||
void prvSocketSetMSS_IPV6( FreeRTOS_Socket_t * pxSocket )
|
void prvSocketSetMSS_IPV6( FreeRTOS_Socket_t * pxSocket )
|
||||||
{
|
{
|
||||||
|
@@ -79,7 +79,7 @@ extern NetworkEndPoint_t * pxGetEndpoint( BaseType_t xIPType );
|
|||||||
* @brief Get the first end point of the type (IPv4/IPv6) from the list
|
* @brief Get the first end point of the type (IPv4/IPv6) from the list
|
||||||
* the list of end points.
|
* the list of end points.
|
||||||
*
|
*
|
||||||
* @param[in] xIPType: IT type (ipTYPE_IPv6/ipTYPE_IPv4)
|
* @param[in] xIPType IT type (ipTYPE_IPv6/ipTYPE_IPv4)
|
||||||
*
|
*
|
||||||
* @returns Pointer to the first end point of the given IP type from the
|
* @returns Pointer to the first end point of the given IP type from the
|
||||||
* list of end points.
|
* list of end points.
|
||||||
@@ -116,9 +116,9 @@ NetworkEndPoint_t * pxGetEndpoint( BaseType_t xIPType )
|
|||||||
* i.e. in the cache 'eARPCacheMiss' was returned.
|
* i.e. in the cache 'eARPCacheMiss' was returned.
|
||||||
* Either an ARP request or a Neighbour solicitation will be emitted.
|
* Either an ARP request or a Neighbour solicitation will be emitted.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer : The network buffer carrying the UDP or ICMP packet.
|
* @param[in] pxNetworkBuffer The network buffer carrying the UDP or ICMP packet.
|
||||||
*
|
*
|
||||||
* @param[out] pxLostBuffer : The pointee will be set to true in case the network packet got released
|
* @param[out] pxLostBuffer The pointee will be set to true in case the network packet got released
|
||||||
* ( the ownership was taken ).
|
* ( the ownership was taken ).
|
||||||
*/
|
*/
|
||||||
static eARPLookupResult_t prvStartLookup( NetworkBufferDescriptor_t * const pxNetworkBuffer,
|
static eARPLookupResult_t prvStartLookup( NetworkBufferDescriptor_t * const pxNetworkBuffer,
|
||||||
@@ -193,7 +193,7 @@ static eARPLookupResult_t prvStartLookup( NetworkBufferDescriptor_t * const pxNe
|
|||||||
* @brief Process the generated UDP packet and do other checks before sending the
|
* @brief Process the generated UDP packet and do other checks before sending the
|
||||||
* packet such as ARP cache check and address resolution.
|
* packet such as ARP cache check and address resolution.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the packet.
|
* @param[in] pxNetworkBuffer The network buffer carrying the packet.
|
||||||
*/
|
*/
|
||||||
void vProcessGeneratedUDPPacket_IPv6( NetworkBufferDescriptor_t * const pxNetworkBuffer )
|
void vProcessGeneratedUDPPacket_IPv6( NetworkBufferDescriptor_t * const pxNetworkBuffer )
|
||||||
{
|
{
|
||||||
@@ -412,9 +412,9 @@ void vProcessGeneratedUDPPacket_IPv6( NetworkBufferDescriptor_t * const pxNetwor
|
|||||||
/**
|
/**
|
||||||
* @brief Process the received UDP packet.
|
* @brief Process the received UDP packet.
|
||||||
*
|
*
|
||||||
* @param[in] pxNetworkBuffer: The network buffer carrying the UDP packet.
|
* @param[in] pxNetworkBuffer The network buffer carrying the UDP packet.
|
||||||
* @param[in] usPort: The port number on which this packet was received.
|
* @param[in] usPort The port number on which this packet was received.
|
||||||
* @param[out] pxIsWaitingForARPResolution: If the packet is awaiting ARP resolution,
|
* @param[out] pxIsWaitingForARPResolution If the packet is awaiting ARP resolution,
|
||||||
* this pointer will be set to pdTRUE. pdFALSE otherwise.
|
* this pointer will be set to pdTRUE. pdFALSE otherwise.
|
||||||
*
|
*
|
||||||
* @return pdPASS in case the UDP packet could be processed. Else pdFAIL is returned.
|
* @return pdPASS in case the UDP packet could be processed. Else pdFAIL is returned.
|
||||||
|
Reference in New Issue
Block a user