![]() |
Home |
|
Function xn_arp_cache_lookupxn_arp_cache_lookup can be used to lookup an IP address in the ARP cache: int xn_arp_cache_lookup(BYTE * ipn, BYTE * hw_addr, DWORD * ttl); ParametersipnPointer to the IP address in network byte order to be looked up. hw_addrPointer to a 6 byte buffer to receive the hardware (MAC) address associated with *ipn. This parameter is optional and may be set to NULL. ttlPointer to a variable to receive the number of seconds remaining in the timeout of this cache entry. The cache entry will expires after (*ttl) seconds. This parameter is optional and may be set to NULL. return valueReturns 0 if successful, otherwise SOCKET_ERROR. If an error occurred, call xn_getlasterror and xn_geterror_string to return the error value. Error code EINVAL is returned if *ipn was not found in the cache or EWOULDBLOCK if RTIP-32 is currently waiting for an ARP reply from address *ipn). Section Error Codes further describes each error. ARP cache entries have a configurable live-time (see CFG_ARP_TIMEOUT, default 10 minutes). This function can be used to query if an address on the local LAN segment is resolved and when it will expire. To avoid communication pauses due to ARP queries, the application can call xn_arp_remote before an ARP cache entry expires to refresh and reset its timeout.
|