arp.h 1.7 KB

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