ff3d279b0b2a4f83450187873ccb66829a901d77
[reactos.git] / sdk / include / psdk / iphlpapi.h
1 #ifndef _IPHLPAPI_H
2 #define _IPHLPAPI_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <iprtrmib.h>
9 #include <ipexport.h>
10 #include <iptypes.h>
11
12 DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG);
13 DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
14 DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
15 DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD);
16 DWORD WINAPI DeleteIPAddress(ULONG);
17 DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
18 DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW);
19 DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD);
20 DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*);
21 DWORD WINAPI FlushIpNetTable(DWORD);
22 DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG);
23 #ifdef _WINSOCK2API_
24 DWORD WINAPI GetAdaptersAddresses(ULONG,ULONG,PVOID,PIP_ADAPTER_ADDRESSES,PULONG);
25 #endif
26 DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
27 DWORD WINAPI GetBestInterface(IPAddr,PDWORD);
28 DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW);
29 DWORD WINAPI GetExtendedTcpTable(PVOID,PDWORD,BOOL,ULONG,TCP_TABLE_CLASS,ULONG);
30 DWORD WINAPI GetExtendedUdpTable(PVOID,PDWORD,BOOL,ULONG,UDP_TABLE_CLASS,ULONG);
31 DWORD WINAPI GetFriendlyIfIndex(DWORD);
32 DWORD WINAPI GetIcmpStatistics(PMIB_ICMP);
33 DWORD WINAPI GetIfEntry(PMIB_IFROW);
34 DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL);
35 DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG);
36 DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL);
37 DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL);
38 DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL);
39 DWORD WINAPI GetIpStatistics(PMIB_IPSTATS);
40 DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS,DWORD);
41 DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG);
42 DWORD WINAPI GetNumberOfInterfaces(PDWORD);
43 DWORD WINAPI GetOwnerModuleFromTcpEntry(PMIB_TCPROW_OWNER_MODULE,TCPIP_OWNER_MODULE_INFO_CLASS,PVOID,PDWORD);
44 DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG);
45 BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG);
46 DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS);
47 DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL);
48 DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG);
49 DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS);
50 DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL);
51 DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
52 DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
53 DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED);
54 DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED);
55 DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);
56 DWORD WINAPI SetIfEntry(PMIB_IFROW);
57 DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW);
58 DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
59 DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
60 DWORD WINAPI SetIpTTL(UINT);
61 DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
62 DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
63
64 #if (NTDDI_VERSION < NTDDI_VISTA)
65 DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID*,BOOL,HANDLE,DWORD,DWORD);
66 DWORD WINAPI AllocateAndGetTcpExTable2FromStack(PVOID*,BOOL,HANDLE,DWORD,DWORD,TCP_TABLE_CLASS);
67 DWORD WINAPI AllocateAndGetUdpExTableFromStack(PVOID*,BOOL,HANDLE,DWORD,DWORD);
68 DWORD WINAPI AllocateAndGetUdpExTable2FromStack(PVOID*,BOOL,HANDLE,DWORD,DWORD,UDP_TABLE_CLASS);
69 #endif
70
71 #if (NTDDI_VERSION >= NTDDI_VISTA)
72 #include <netioapi.h>
73 #endif
74
75 #ifdef __cplusplus
76 }
77 #endif
78
79 #endif /* _IPHLPAPI_H */