blob: 1e64a185f6243d7c093aa654d78ebadaadebb228 [file] [log] [blame]
Juan Lang38fa5ad2003-05-13 03:32:20 +00001/* 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
Jonathan Ernst360a3f92006-05-18 14:49:52 +020016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Juan Lang38fa5ad2003-05-13 03:32:20 +000017 */
18#ifndef WINE_IPHLPAPI_H__
19#define WINE_IPHLPAPI_H__
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#include <iprtrmib.h>
26#include <ipexport.h>
27#include <iptypes.h>
28
29DWORD WINAPI GetNumberOfInterfaces(PDWORD pdwNumIf);
30
31DWORD WINAPI GetIfEntry(PMIB_IFROW pIfRow);
32
33DWORD WINAPI GetIfTable(PMIB_IFTABLE pIfTable, PULONG pdwSize, BOOL bOrder);
34
35DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable, PULONG pdwSize,
36 BOOL bOrder);
37
38DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE pIpNetTable, PULONG pdwSize,
39 BOOL bOrder);
40
41DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable,
42 PULONG pdwSize, BOOL bOrder);
43
44DWORD WINAPI GetTcpTable(PMIB_TCPTABLE pTcpTable, PDWORD pdwSize, BOOL bOrder);
45
46DWORD WINAPI GetUdpTable(PMIB_UDPTABLE pUdpTable, PDWORD pdwSize, BOOL bOrder);
47
48DWORD WINAPI GetIpStatistics(PMIB_IPSTATS pStats);
49
50DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS pStats, DWORD dwFamily);
51
52DWORD WINAPI GetIcmpStatistics(PMIB_ICMP pStats);
53
54DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS pStats);
55
56DWORD WINAPI GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily);
57
58DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS pStats);
59
60DWORD WINAPI GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily);
61
62DWORD WINAPI SetIfEntry(PMIB_IFROW pIfRow);
63
64DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute);
65
66DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW pRoute);
67
68DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute);
69
70DWORD WINAPI SetIpStatistics(PMIB_IPSTATS pIpStats);
71
72DWORD WINAPI SetIpTTL(UINT nTTL);
73
74DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW pArpEntry);
75
76DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW pArpEntry);
77
78DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW pArpEntry);
79
80DWORD WINAPI FlushIpNetTable(DWORD dwIfIndex);
81
82DWORD WINAPI CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask,
83 DWORD dwIfIndex);
84
85DWORD WINAPI DeleteProxyArpEntry(DWORD dwAddress, DWORD dwMask,
86 DWORD dwIfIndex);
87
88DWORD WINAPI SetTcpEntry(PMIB_TCPROW pTcpRow);
89
90DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen);
91
92DWORD WINAPI GetUniDirectionalAdapterInfo(
93 PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo, PULONG dwOutBufLen);
94
95DWORD WINAPI GetBestInterface(IPAddr dwDestAddr, PDWORD pdwBestIfIndex);
96
Rob Shearmana9e96732008-01-17 12:26:14 +000097#ifdef __WINE_WINSOCKAPI_STDLIB_H
98DWORD WINAPI GetBestInterfaceEx(
99#ifdef USE_WS_PREFIX
100 struct WS_sockaddr *pDestAddr,
101#else
102 struct sockaddr *pDestAddr,
103#endif
104 PDWORD pdwBestIfIndex);
105#endif
106
Juan Lang38fa5ad2003-05-13 03:32:20 +0000107DWORD WINAPI GetBestRoute(DWORD dwDestAddr, DWORD dwSourceAddr,
108 PMIB_IPFORWARDROW pBestRoute);
109
110DWORD WINAPI NotifyAddrChange(PHANDLE Handle, LPOVERLAPPED overlapped);
111
112DWORD WINAPI NotifyRouteChange(PHANDLE Handle, LPOVERLAPPED overlapped);
113
114DWORD WINAPI GetAdapterIndex(IN LPWSTR AdapterName, OUT PULONG IfIndex);
115
116DWORD WINAPI AddIPAddress(IPAddr Address, IPMask IpMask, DWORD IfIndex,
117 PULONG NTEContext, PULONG NTEInstance);
118
119DWORD WINAPI DeleteIPAddress(ULONG NTEContext);
120
121DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen);
122
123DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen);
124
125DWORD WINAPI GetPerAdapterInfo(ULONG IfIndex,
126 PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen);
127
128DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo);
129
130DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo);
131
132DWORD WINAPI SendARP(IPAddr DestIP, IPAddr SrcIP, PULONG pMacAddr,
133 PULONG PhyAddrLen);
134
135BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount,
136 ULONG MaxHops, PULONG RTT);
137
138DWORD WINAPI GetFriendlyIfIndex(DWORD IfIndex);
139
140DWORD WINAPI EnableRouter(HANDLE* pHandle, OVERLAPPED* pOverlapped);
141
142DWORD WINAPI UnenableRouter(OVERLAPPED* pOverlapped, LPDWORD lpdwEnableCount);
143
144#ifdef __cplusplus
145}
146#endif
147
148#endif /* WINE_IPHLPAPI_H__ */