10 #define NB_HASHMASK 0xF 41 #define NUD_INCOMPLETE 0x01 42 #define NUD_PERMANENT 0x02 43 #define NUD_STALE 0x04 46 #define ARP_INCOMPLETE_TIMEOUT 3 52 #define ARP_COMPLETE_TIMEOUT (ARP_RATE + 9) 55 #define ARP_TIMEOUT_RETRANSMISSION 3
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
struct _NEIGHBOR_PACKET NEIGHBOR_PACKET
struct NEIGHBOR_CACHE_TABLE NEIGHBOR_CACHE_TABLE
VOID NBDestroyNeighborsForInterface(PIP_INTERFACE Interface)
PNEIGHBOR_CACHE_ENTRY NBLocateNeighbor(PIP_ADDRESS Address, PIP_INTERFACE Interface)
struct _NEIGHBOR_PACKET * PNEIGHBOR_PACKET
VOID NBResetNeighborTimeout(PIP_ADDRESS Address)
PNEIGHBOR_CACHE_ENTRY NBFindOrCreateNeighbor(PIP_INTERFACE Interface, PIP_ADDRESS Address, BOOLEAN NoTimeout)
struct NEIGHBOR_CACHE_TABLE * PNEIGHBOR_CACHE_TABLE
VOID(* PNEIGHBOR_PACKET_COMPLETE)(PVOID Context, PNDIS_PACKET Packet, NDIS_STATUS Status)
VOID NBUpdateNeighbor(PNEIGHBOR_CACHE_ENTRY NCE, PVOID LinkAddress, UCHAR State)
VOID NBRemoveNeighbor(PNEIGHBOR_CACHE_ENTRY NCE)
struct NEIGHBOR_CACHE_ENTRY * Next
NEIGHBOR_CACHE_TABLE NeighborCache[NB_HASHMASK+1]
PNEIGHBOR_PACKET_COMPLETE Complete
PNEIGHBOR_CACHE_ENTRY NBAddNeighbor(PIP_INTERFACE Interface, PIP_ADDRESS Address, PVOID LinkAddress, UINT LinkAddressLength, UCHAR Type, UINT EventTimer)
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
VOID NBSendSolicit(PNEIGHBOR_CACHE_ENTRY NCE)
ULONG NBCopyNeighbors(PIP_INTERFACE Interface, PIPARP_ENTRY ArpTable)
struct tagContext Context
BOOLEAN NBQueuePacket(PNEIGHBOR_CACHE_ENTRY NCE, PNDIS_PACKET NdisPacket, PNEIGHBOR_PACKET_COMPLETE PacketComplete, PVOID PacketContext)
struct NEIGHBOR_CACHE_ENTRY * PNEIGHBOR_CACHE_ENTRY
struct NEIGHBOR_CACHE_ENTRY NEIGHBOR_CACHE_ENTRY
struct NEIGHBOR_CACHE_ENTRY * Cache