typedef struct _EFI_ARP_PROTOCOL EFI_ARP_PROTOCOL;\r
\r
typedef struct {\r
+ ///\r
+ /// Length in bytes of this entry.\r
+ ///\r
UINT32 Size;\r
+\r
+ ///\r
+ /// Set to TRUE if this entry is a "deny" entry.\r
+ /// Set to FALSE if this entry is a "normal" entry.\r
+ ///\r
BOOLEAN DenyFlag;\r
+\r
+ ///\r
+ /// Set to TRUE if this entry will not time out.\r
+ /// Set to FALSE if this entry will time out.\r
+ ///\r
BOOLEAN StaticFlag;\r
+\r
+ ///\r
+ /// 16-bit ARP hardware identifier number.\r
+ ///\r
UINT16 HwAddressType;\r
+\r
+ ///\r
+ /// 16-bit protocol type number.\r
+ ///\r
UINT16 SwAddressType;\r
+\r
+ ///\r
+ /// Length of the hardware address.\r
+ ///\r
UINT8 HwAddressLength;\r
+\r
+ ///\r
+ /// Length of the protocol address.\r
+ ///\r
UINT8 SwAddressLength;\r
} EFI_ARP_FIND_DATA;\r
\r
typedef struct {\r
+ ///\r
+ /// 16-bit protocol type number in host byte order.\r
+ ///\r
UINT16 SwAddressType; ///< Host byte order\r
+\r
+ ///\r
+ /// Length in bytes of the station's protocol address to register.\r
+ ///\r
UINT8 SwAddressLength;\r
+\r
+ ///\r
+ /// Pointer to the first byte of the protocol address to register. For\r
+ /// example, if SwAddressType is 0x0800 (IP), then\r
+ /// StationAddress points to the first byte of this station¡¯s IP\r
+ /// address stored in network byte order.\r
+ ///\r
VOID *StationAddress; ///< Network byte order\r
+\r
+ ///\r
+ /// The timeout value in 100-ns units that is associated with each\r
+ /// new dynamic ARP cache entry. If it is set to zero, the value is\r
+ /// implementation-specific.\r
+ ///\r
UINT32 EntryTimeOut;\r
+\r
+ ///\r
+ /// The number of retries before a MAC address is resolved. If it is\r
+ /// set to zero, the value is implementation-specific.\r
+ ///\r
UINT32 RetryCount;\r
+\r
+ ///\r
+ /// The timeout value in 100-ns units that is used to wait for the ARP\r
+ /// reply packet or the timeout value between two retries. Set to zero\r
+ /// to use implementation-specific value.\r
+ ///\r
UINT32 RetryTimeOut;\r
} EFI_ARP_CONFIG_DATA;\r
\r
\r
@retval EFI_SUCCESS The new station address was successfully registered.\r
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+ SwAddressLength is zero when ConfigData is not NULL.\r
+ StationAddress is NULL when ConfigData is not NULL.\r
@retval EFI_ACCESS_DENIED The SwAddressType, SwAddressLength, or\r
StationAddress is different from the one that is already\r
registered.\r
@retval EFI_SUCCESS The pending request session(s) is/are aborted and corresponding\r
event(s) is/are signaled.\r
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:\r
+ This is NULL.\r
+ TargetSwAddress is not NULL and ResolvedEvent is NULL.\r
+ TargetSwAddress is NULL and ResolvedEvent is not NULL\r
@retval EFI_NOT_STARTED The ARP driver instance has not been configured.\r
@retval EFI_NOT_FOUND The request is not issued by\r
EFI_ARP_PROTOCOL.Request().\r