Jump to main content

##

# TCPIP_ARP_Resolve Function

## C

    TCPIP_ARP_RESULT TCPIP_ARP_Resolve(
        TCPIP_NET_HANDLE hNet,
        IPV4_ADDR* IPAddr
    );

## Description

This function transmits and ARP request to determine the hardware address of a given IP address. Upon the address resolution it calls the registered handler (if available) with the supplied notification parameter (if != 0).

## Preconditions

The ARP module should have been initialized.

## Parameters

Parameters | Description
--- | ---
hNet | Interface to use.
IPAddr | The IP address to be resolved. The address must be specified in network byte order (big endian).

## Returns

An element from the TCPIP_ARP_RESULT enumeration.

- ARP_RES_ENTRY_SOLVED - if the required entry is already solved.
- ARP_RES_ENTRY_QUEUED - if the required entry was already queued.
- ARP_RES_ENTRY_NEW - if the operation succeeded and a new entry was added (and queued for resolving).
- ARP_RES_CACHE_FULL - if new entry could not be inserted, the cache was full.
- ARP_RES_BAD_ADDRESS - bad address specified.
- ARP_RES_NO_INTERFACE - no such interface.

## Remarks

To retrieve the ARP query result, call the TCPIP_ARP_IsResolved function.