PXE Base Code Protocol
Version 1.02 12/12/00 267
14.1.9 EFI_PXE_BASE_CODE.Arp()
Summary
Uses the ARP protocol to resolve a MAC address.
Prototype
EFI_STATUS
(EFIAPI *EFI_PXE_BASE_CODE_ARP) (
IN EFI_PXE_BASE_CODE *This,
IN EFI_IP_ADDRESS *IpAddr,
IN EFI_MAC_ADDRESS *MacAddr OPTIONAL
);
Parameters
This Pointer to the EFI_PXE_BASE_CODE instance.
IpAddr Pointer to the IP address that is used to resolve a MAC address. When
the MAC address is resolved, the ArpCacheEntries and ArpCache
fields of the EFI_PXE_BASE_CODE_MODE structure are updated.
MacAddr If not NULL, a pointer to the MAC address that was resolved with the
ARP protocol.
Description
This function uses the ARP protocol to resolve a MAC address. The UsingIpv6 field of the
EFI_PXE_BASE_CODE_MODE structure is used to determine if IPv4 or IPv6 addresses are being
used. The IP address specified by IpAddr is used to resolve a MAC address. If the AR P protocol
succeeds in resolving the specified address, then the ArpCacheEntries and ArpCache fields
of the EFI_PXE_BASE_CODE_MODE structure are updated, and EFI_SUCCESS is returned. If
MacAddr is not NULL, the resolved MAC address is placed there as well.
If the PXE Base Code protocol is in the stopped state, then EFI_NOT_STARTED is returned. If
the ARP protocol encounters a timeout condition while attempting to resolve an address, then
EFI_TIMEOUT is returned. If the Callback Protocol does not return
EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE, then EFI_ABORTED is returned.
Status Codes Returned
EFI_SUCCESS The IP or MAC address was resolved.
EFI_INVALID_PARAMETER One of the parameters is not valid.
EFI_DEVICE_ERROR The network device encountered an error during this operation.
EFI_NOT_STARTED The PXE Base Code Protocol is in the stopped state.
EFI_TIMEOUT The ARP Protocol encountered a timeout condition.
EFI_ABORTED The callback function aborted the ARP Protocol.