KERNEL_VERSION_MAJOR: 0 -> 5
[reactos.git] / include / iphlpapi.h
1 /* WINE iphlpapi.h
2  * Copyright (C) 2003 Juan Lang
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18 #ifndef WINE_IPHLPAPI_H__
19 #define WINE_IPHLPAPI_H__
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 #include <iprtrmib.h>
26 #include <ipexport.h>
27 #include <iptypes.h>
28
29 DWORD
30 STDCALL
31 NhpAllocateAndGetInterfaceInfoFromStack(
32     OUT IP_INTERFACE_NAME_INFO **ppTable,
33     OUT PDWORD                 pdwCount,
34     IN BOOL                    bOrder,
35     IN HANDLE                  hHeap,
36     IN DWORD                   dwFlags
37     );
38 DWORD STDCALL AllocateAndGetIfTableFromStack(PMIB_IFTABLE *ppIfTable,
39  BOOL bOrder, HANDLE heap, DWORD flags);
40 DWORD STDCALL AllocateAndGetIpAddrTableFromStack(PMIB_IPADDRTABLE *ppIpAddrTable,
41  BOOL bOrder, HANDLE heap, DWORD flags);
42 DWORD STDCALL AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE *
43  ppIpForwardTable, BOOL bOrder, HANDLE heap, DWORD flags);
44 DWORD STDCALL AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable,
45  BOOL bOrder, HANDLE heap, DWORD flags);
46 DWORD STDCALL AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable,
47  BOOL bOrder, HANDLE heap, DWORD flags);
48 DWORD STDCALL AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable,
49  BOOL bOrder, HANDLE heap, DWORD flags);
50
51 DWORD STDCALL GetNumberOfInterfaces(PDWORD pdwNumIf);
52
53 DWORD STDCALL GetIfEntry(PMIB_IFROW pIfRow);
54
55 DWORD STDCALL GetIfTable(PMIB_IFTABLE pIfTable, PULONG pdwSize, WINBOOL bOrder);
56
57 DWORD STDCALL GetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable, PULONG pdwSize,
58  WINBOOL bOrder);
59
60 DWORD STDCALL GetIpNetTable(PMIB_IPNETTABLE pIpNetTable, PULONG pdwSize,
61  WINBOOL bOrder);
62
63 DWORD STDCALL GetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable,
64  PULONG pdwSize, WINBOOL bOrder);
65
66 DWORD STDCALL GetTcpTable(PMIB_TCPTABLE pTcpTable, PDWORD pdwSize, WINBOOL bOrder);
67
68 DWORD STDCALL GetUdpTable(PMIB_UDPTABLE pUdpTable, PDWORD pdwSize, WINBOOL bOrder);
69
70 DWORD STDCALL GetIpStatistics(PMIB_IPSTATS pStats);
71
72 DWORD STDCALL GetIpStatisticsEx(PMIB_IPSTATS pStats, DWORD dwFamily);
73
74 DWORD STDCALL GetIcmpStatistics(PMIB_ICMP pStats);
75
76 DWORD STDCALL GetTcpStatistics(PMIB_TCPSTATS pStats);
77
78 DWORD STDCALL GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily);
79
80 DWORD STDCALL GetUdpStatistics(PMIB_UDPSTATS pStats);
81
82 DWORD STDCALL GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily);
83
84 DWORD STDCALL SetIfEntry(PMIB_IFROW pIfRow);
85
86 DWORD STDCALL CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute);
87
88 DWORD STDCALL SetIpForwardEntry(PMIB_IPFORWARDROW pRoute);
89
90 DWORD STDCALL DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute);
91
92 DWORD STDCALL SetIpStatistics(PMIB_IPSTATS pIpStats);
93
94 DWORD STDCALL SetIpTTL(UINT nTTL);
95
96 DWORD STDCALL CreateIpNetEntry(PMIB_IPNETROW pArpEntry);
97
98 DWORD STDCALL SetIpNetEntry(PMIB_IPNETROW pArpEntry);
99
100 DWORD STDCALL DeleteIpNetEntry(PMIB_IPNETROW pArpEntry);
101
102 DWORD STDCALL FlushIpNetTable(DWORD dwIfIndex);
103
104 DWORD STDCALL CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask,
105  DWORD dwIfIndex);
106
107 DWORD STDCALL DeleteProxyArpEntry(DWORD dwAddress, DWORD dwMask,
108  DWORD dwIfIndex);
109
110 DWORD STDCALL SetTcpEntry(PMIB_TCPROW pTcpRow);
111
112 DWORD STDCALL GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen);
113
114 DWORD STDCALL GetUniDirectionalAdapterInfo(
115  PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo, PULONG dwOutBufLen);
116
117 DWORD STDCALL GetBestInterface(IPAddr dwDestAddr, PDWORD pdwBestIfIndex);
118
119 DWORD STDCALL GetBestRoute(DWORD dwDestAddr, DWORD dwSourceAddr,
120  PMIB_IPFORWARDROW   pBestRoute);
121
122 DWORD STDCALL NotifyAddrChange(PHANDLE Handle, LPOVERLAPPED overlapped);
123
124 DWORD STDCALL NotifyRouteChange(PHANDLE Handle, LPOVERLAPPED overlapped);
125
126 DWORD STDCALL GetAdapterIndex(LPWSTR AdapterName,PULONG IfIndex);
127
128 DWORD STDCALL AddIPAddress(IPAddr Address, IPMask IpMask, DWORD IfIndex,
129  PULONG NTEContext, PULONG NTEInstance);
130
131 DWORD STDCALL DeleteIPAddress(ULONG NTEContext);
132
133 DWORD STDCALL GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen);
134
135 DWORD STDCALL GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen);
136
137 DWORD STDCALL GetPerAdapterInfo(ULONG IfIndex,
138  PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen);
139
140 DWORD STDCALL IpReleaseAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo);
141
142 DWORD STDCALL IpRenewAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo);
143
144 DWORD STDCALL SendARP(IPAddr DestIP, IPAddr SrcIP, PULONG pMacAddr,
145  PULONG  PhyAddrLen);
146
147 WINBOOL STDCALL GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount,
148  ULONG  MaxHops, PULONG RTT);
149
150 DWORD STDCALL GetFriendlyIfIndex(DWORD IfIndex);
151
152 DWORD STDCALL EnableRouter(HANDLE* pHandle, OVERLAPPED* pOverlapped);
153
154 DWORD STDCALL UnenableRouter(OVERLAPPED* pOverlapped, LPDWORD lpdwEnableCount);
155
156 DWORD STDCALL GetIcmpStatisticsEx(PMIB_ICMP_EX pStats,DWORD dwFamily);
157
158 DWORD STDCALL NhpAllocateAndGetInterfaceInfoFromStack(IP_INTERFACE_NAME_INFO **ppTable,PDWORD pdwCount,WINBOOL bOrder,HANDLE hHeap,DWORD dwFlags);
159
160 DWORD STDCALL GetBestInterfaceEx(struct sockaddr *pDestAddr,PDWORD pdwBestIfIndex);
161
162 WINBOOL STDCALL CancelIPChangeNotify(LPOVERLAPPED notifyOverlapped);
163
164 PIP_ADAPTER_ORDER_MAP STDCALL GetAdapterOrderMap(VOID);
165
166 DWORD STDCALL GetAdaptersAddresses(ULONG Family,DWORD Flags,PVOID Reserved,PIP_ADAPTER_ADDRESSES pAdapterAddresses,PULONG pOutBufLen);
167
168 DWORD STDCALL DisableMediaSense(HANDLE *pHandle,OVERLAPPED *pOverLapped);
169
170 DWORD STDCALL RestoreMediaSense(OVERLAPPED* pOverlapped,LPDWORD lpdwEnableCount);
171
172 DWORD STDCALL GetIpErrorString(IP_STATUS ErrorCode,PWCHAR Buffer,PDWORD Size);
173
174 #ifdef __cplusplus
175 }
176 #endif
177
178 #endif /* WINE_IPHLPAPI_H__ */