windows-nt/Source/XPSP1/NT/net/rras/netsh/ip/ipmon/info.h
2020-09-26 16:20:57 +08:00

100 lines
2.1 KiB
C

typedef struct _TRANSPORT_INFO
{
PRTR_INFO_BLOCK_HEADER pibhInfo;
BOOL bValid;
}TRANSPORT_INFO,*PTRANSPORT_INFO;
typedef struct _INTERFACE_STORE
{
LIST_ENTRY le;
PWCHAR pwszIfName;
PRTR_INFO_BLOCK_HEADER pibhInfo;
DWORD dwIfType;
BOOL bValid;
}INTERFACE_STORE,*PINTERFACE_STORE;
extern LIST_ENTRY g_leIfListHead;
extern TRANSPORT_INFO g_tiTransport;
#define FREE_BUFFER(pibh) \
{ \
HeapFree(GetProcessHeap(), \
0, \
pibh); \
pibh = NULL; \
}
DWORD
ValidateInterfaceInfo(
IN LPCWSTR pwszIfName,
OUT RTR_INFO_BLOCK_HEADER **ppInfo, OPTIONAL
OUT PDWORD pdwIfType, OPTIONAL
OUT INTERFACE_STORE **ppIfStore OPTIONAL
);
DWORD
ValidateGlobalInfo(
OUT RTR_INFO_BLOCK_HEADER **ppInfo
);
DWORD
GetGlobalInfo(
OUT RTR_INFO_BLOCK_HEADER **ppibhInfo
);
DWORD
SetGlobalInfo(
IN PRTR_INFO_BLOCK_HEADER pibhInfo
);
DWORD
GetInterfaceInfo(
IN LPCWSTR pwszIfName,
OUT PRTR_INFO_BLOCK_HEADER *ppibhInfo,
IN PMPR_INTERFACE_0 pMprIf0,
OUT PDWORD pdwIfType
);
DWORD
SetInterfaceInfo(
IN PRTR_INFO_BLOCK_HEADER pibhInfo,
IN LPCWSTR pwszIfName
);
DWORD
AddInterfaceInfo(
IN LPCWSTR pwszIfName
);
DWORD
DeleteInterfaceInfo(
IN LPCWSTR pwszIfName
);
DWORD
WINAPI
IpCommit(
IN DWORD dwAction
);
DWORD
CreateInterface(
IN LPCWSTR pwszFriendlyName,
IN LPCWSTR pwszGuidName,
IN DWORD dwIfType,
IN BOOL bCreateRouterIf
);
#define IFCLASS_LOOPBACK 1
#define IFCLASS_P2P 2
#define IFCLASS_BROADCAST 3
#define IFCLASS_NBMA 4
DWORD
GetInterfaceClass(
IN LPCWSTR pwszIfName,
OUT PDWORD pdwIfClass
);