- Move from using include guards to pragma once.
[reactos.git] / reactos / drivers / network / tcpip / include / arp.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
4 * FILE: include/arp.h
5 * PURPOSE: Address Resolution Protocol definitions
6 */
7
8 #pragma once
9
10 typedef struct ARP_HEADER {
11 USHORT HWType; /* Hardware Type */
12 USHORT ProtoType; /* Protocol Type */
13 UCHAR HWAddrLen; /* Hardware Address Length */
14 UCHAR ProtoAddrLen; /* Protocol Address Length */
15 USHORT Opcode; /* Opcode */
16 /* Sender's Hardware Address */
17 /* Sender's Protocol Address */
18 /* Target's Hardware Address */
19 /* Target's Protocol Address */
20 } ARP_HEADER, *PARP_HEADER;
21
22 /* We swap constants so we can compare values at runtime without swapping them */
23 #define ARP_OPCODE_REQUEST WH2N(0x0001) /* ARP request */
24 #define ARP_OPCODE_REPLY WH2N(0x0002) /* ARP reply */
25
26
27 BOOLEAN ARPTransmit(PIP_ADDRESS Address, PVOID LinkAddress, PIP_INTERFACE Interface);
28
29 VOID ARPReceive(
30 PVOID Context,
31 PIP_PACKET Packet);
32
33 /* EOF */