arp.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*++
  2. Copyright (c) 2013 Minoca Corp. All Rights Reserved
  3. Module Name:
  4. arp.h
  5. Abstract:
  6. This header contains definitions for the Address Resolution Protocol,
  7. which facilitates translation of network addresses to physical ones.
  8. Author:
  9. Evan Green 5-Apr-2013
  10. --*/
  11. //
  12. // ------------------------------------------------------------------- Includes
  13. //
  14. //
  15. // ---------------------------------------------------------------- Definitions
  16. //
  17. //
  18. // ------------------------------------------------------ Data Type Definitions
  19. //
  20. //
  21. // -------------------------------------------------------------------- Globals
  22. //
  23. //
  24. // -------------------------------------------------------- Function Prototypes
  25. //
  26. KSTATUS
  27. NetpArpSendRequest (
  28. PNET_LINK Link,
  29. PNET_LINK_ADDRESS_ENTRY LinkAddress,
  30. PNETWORK_ADDRESS QueryAddress
  31. );
  32. /*++
  33. Routine Description:
  34. This routine allocates, assembles, and sends an ARP request to translate
  35. the given network address into a physical address. This routine returns
  36. as soon as the ARP request is successfully queued for transmission.
  37. Arguments:
  38. Link - Supplies a pointer to the link to send the request down.
  39. LinkAddress - Supplies the source address of the request.
  40. QueryAddress - Supplies the network address to ask about.
  41. Return Value:
  42. STATUS_SUCCESS if the request was successfully sent off.
  43. STATUS_INSUFFICIENT_RESOURCES if the transmission buffer couldn't be
  44. allocated.
  45. Other errors on other failures.
  46. --*/