ReactOS  0.4.14-dev-552-g2fad488
router.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS TCP/IP protocol driver
4  * FILE: include/router.h
5  * PURPOSE: IP routing definitions
6  */
7 
8 #pragma once
9 
10 #include <neighbor.h>
11 
12 
13 /* Forward Information Base Entry */
14 typedef struct _FIB_ENTRY {
15  LIST_ENTRY ListEntry; /* Entry on list */
16  OBJECT_FREE_ROUTINE Free; /* Routine used to free resources for the object */
17  IP_ADDRESS NetworkAddress; /* Address of network */
18  IP_ADDRESS Netmask; /* Netmask of network */
19  PNEIGHBOR_CACHE_ENTRY Router; /* Pointer to NCE of router to use */
20  UINT Metric; /* Cost of this route */
22 
25  PIP_ADDRESS Netmask,
26  PNEIGHBOR_CACHE_ENTRY Router,
27  UINT Metric);
28 
30 
32 
35  PIP_ADDRESS Netmask,
36  PIP_ADDRESS RouterAddress,
38  UINT Metric);
39 
41  VOID);
42 
44  VOID);
45 
47 
49 
51 
52 /* EOF */
VOID RouterRemoveRoutesForInterface(PIP_INTERFACE Interface)
Definition: router.c:341
LIST_ENTRY ListEntry
Definition: router.h:15
PNEIGHBOR_CACHE_ENTRY RouterGetRoute(PIP_ADDRESS Destination)
Definition: router.c:239
Definition: neighbor.h:28
NTSTATUS RouterShutdown(VOID)
Definition: router.c:500
LONG NTSTATUS
Definition: precomp.h:26
IP_ADDRESS NetworkAddress
Definition: router.h:17
UINT CountFIBs(PIP_INTERFACE IF)
Definition: router.c:101
Definition: ip.h:23
struct _FIB_ENTRY * PFIB_ENTRY
IP_ADDRESS Netmask
Definition: router.h:18
NTSTATUS RouterStartup(VOID)
Definition: router.c:482
UINT Metric
Definition: router.h:20
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
struct _FIB_ENTRY FIB_ENTRY
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:2891
_Must_inspect_result_ _Out_ PNDIS_STATUS _Outptr_result_bytebuffer_to_ NetworkAddressLength PVOID * NetworkAddress
Definition: ndis.h:3956
_Must_inspect_result_ typedef _In_ ULONG _In_ BOOLEAN Target
Definition: iotypes.h:1068
PNEIGHBOR_CACHE_ENTRY Router
Definition: router.h:19
OBJECT_FREE_ROUTINE Free
Definition: router.h:16
Definition: typedefs.h:117
VOID(* OBJECT_FREE_ROUTINE)(PVOID Object)
Definition: ip.h:10
NTSTATUS RouterRemoveRoute(PIP_ADDRESS Target, PIP_ADDRESS Router)
Definition: router.c:364
PFIB_ENTRY RouterCreateRoute(PIP_ADDRESS NetworkAddress, PIP_ADDRESS Netmask, PIP_ADDRESS RouterAddress, PIP_INTERFACE Interface, UINT Metric)
Definition: router.c:421
unsigned int UINT
Definition: ndis.h:50
Definition: router.h:14
UINT CopyFIBs(PIP_INTERFACE IF, PFIB_ENTRY Target)
Definition: router.c:120
PFIB_ENTRY RouterAddRoute(PIP_ADDRESS NetworkAddress, PIP_ADDRESS Netmask, PNEIGHBOR_CACHE_ENTRY Router, UINT Metric)
Definition: router.c:189