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 */ 34