NetARP_CacheGetAddrHW

Get the hardware address corresponding to a specific ARP cache’s protocol address.

Files

net_arp.h/net_arp.c

Prototype

          NET_ARP_ADDR_LEN NetARP_CacheGetAddrHW (CPU_INT08U        *p_addr_hw
                                                  NET_ARP_ADDR_LEN   addr_hw_len_buf,
                                                  CPU_INT08U        *p_addr_protocol,
                                                  NET_ARP_ADDR_LEN   addr_protocol_len,
                                                  NET_ERR           *p_err);

Arguments

p_addr_hw

Pointer to a memory buffer that will receive the hardware address:

Hardware address that corresponds to the desired protocol address, if no errors; hardware address cleared to all zeros, otherwise.

addr_hw_len_buf

Size of hardware address memory buffer (in bytes).

p_addr_protocol

Pointer to the specific protocol address.

addr_protocol_len

Length of protocol address (in bytes).

p_err

Pointer to variable that will receive the error code from this function:

NET_ARP_ERR_NONE
NET_ARP_ERR_NULL_PTR
NET_ARP_ERR_INVALID_HW_ADDR_LEN
NET_ARP_ERR_INVALID_PROTOCOL_ADDR_LEN
NET_ARP_ERR_CACHE_NOT_FOUND
NET_ARP_ERR_CACHE_PEND

Returned Value

Length of returned hardware address, if available;

0, otherwise.

Required Configuration

Available only if IPv4 is enabled, see IPv4 Layer Configuration

Notes / Warnings

NetARP_CacheGetAddrHW() may be used in conjunction with NetARP_ProbeAddrOnNet() to determine if a specific protocol address is available on the local network.