2 * Copyright (C) 2003 Juan Lang
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.
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.
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 #ifndef WINE_IPHLPAPI_H__
19 #define WINE_IPHLPAPI_H__
29 DWORD WINAPI
GetExtendedTcpTable(PVOID pTcpTable
, PDWORD pdwSize
, BOOL bOrder
,
30 ULONG ulAf
, TCP_TABLE_CLASS TableClass
, ULONG Reserved
);
32 DWORD WINAPI
GetExtendedUdpTable(PVOID pUdpTable
, PDWORD pdwSize
, BOOL bOrder
,
33 ULONG ulAf
, UDP_TABLE_CLASS TableClass
, ULONG Reserved
);
35 DWORD WINAPI
GetNumberOfInterfaces(PDWORD pdwNumIf
);
37 DWORD WINAPI
GetIfEntry(PMIB_IFROW pIfRow
);
39 DWORD WINAPI
GetIfTable(PMIB_IFTABLE pIfTable
, PULONG pdwSize
, BOOL bOrder
);
41 DWORD WINAPI
GetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable
, PULONG pdwSize
,
44 DWORD WINAPI
GetIpNetTable(PMIB_IPNETTABLE pIpNetTable
, PULONG pdwSize
,
47 DWORD WINAPI
GetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable
,
48 PULONG pdwSize
, BOOL bOrder
);
50 DWORD WINAPI
GetTcpTable(PMIB_TCPTABLE pTcpTable
, PDWORD pdwSize
, BOOL bOrder
);
52 DWORD WINAPI
GetUdpTable(PMIB_UDPTABLE pUdpTable
, PDWORD pdwSize
, BOOL bOrder
);
54 DWORD WINAPI
GetIpStatistics(PMIB_IPSTATS pStats
);
56 DWORD WINAPI
GetIpStatisticsEx(PMIB_IPSTATS pStats
, DWORD dwFamily
);
58 DWORD WINAPI
GetIcmpStatistics(PMIB_ICMP pStats
);
60 DWORD WINAPI
GetTcpStatistics(PMIB_TCPSTATS pStats
);
62 DWORD WINAPI
GetTcpStatisticsEx(PMIB_TCPSTATS pStats
, DWORD dwFamily
);
64 DWORD WINAPI
GetUdpStatistics(PMIB_UDPSTATS pStats
);
66 DWORD WINAPI
GetUdpStatisticsEx(PMIB_UDPSTATS pStats
, DWORD dwFamily
);
68 DWORD WINAPI
SetIfEntry(PMIB_IFROW pIfRow
);
70 DWORD WINAPI
CreateIpForwardEntry(PMIB_IPFORWARDROW pRoute
);
72 DWORD WINAPI
SetIpForwardEntry(PMIB_IPFORWARDROW pRoute
);
74 DWORD WINAPI
DeleteIpForwardEntry(PMIB_IPFORWARDROW pRoute
);
76 DWORD WINAPI
SetIpStatistics(PMIB_IPSTATS pIpStats
);
78 DWORD WINAPI
SetIpTTL(UINT nTTL
);
80 DWORD WINAPI
CreateIpNetEntry(PMIB_IPNETROW pArpEntry
);
82 DWORD WINAPI
SetIpNetEntry(PMIB_IPNETROW pArpEntry
);
84 DWORD WINAPI
DeleteIpNetEntry(PMIB_IPNETROW pArpEntry
);
86 DWORD WINAPI
FlushIpNetTable(DWORD dwIfIndex
);
88 DWORD WINAPI
CreateProxyArpEntry(DWORD dwAddress
, DWORD dwMask
,
91 DWORD WINAPI
DeleteProxyArpEntry(DWORD dwAddress
, DWORD dwMask
,
94 DWORD WINAPI
SetTcpEntry(PMIB_TCPROW pTcpRow
);
96 DWORD WINAPI
GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable
, PULONG dwOutBufLen
);
98 DWORD WINAPI
GetUniDirectionalAdapterInfo(
99 PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo
, PULONG dwOutBufLen
);
101 DWORD WINAPI
GetBestInterface(IPAddr dwDestAddr
, PDWORD pdwBestIfIndex
);
103 #ifdef __WINE_WINSOCKAPI_STDLIB_H
104 DWORD WINAPI
GetBestInterfaceEx(
106 struct WS_sockaddr
*pDestAddr
,
108 struct sockaddr
*pDestAddr
,
110 PDWORD pdwBestIfIndex
);
113 DWORD WINAPI
GetBestRoute(DWORD dwDestAddr
, DWORD dwSourceAddr
,
114 PMIB_IPFORWARDROW pBestRoute
);
116 DWORD WINAPI
NotifyAddrChange(PHANDLE Handle
, LPOVERLAPPED overlapped
);
118 DWORD WINAPI
NotifyRouteChange(PHANDLE Handle
, LPOVERLAPPED overlapped
);
120 BOOL WINAPI
CancelIPChangeNotify(LPOVERLAPPED overlapped
);
122 DWORD WINAPI
GetAdapterIndex(IN LPWSTR AdapterName
, OUT PULONG IfIndex
);
124 DWORD WINAPI
AddIPAddress(IPAddr Address
, IPMask IpMask
, DWORD IfIndex
,
125 PULONG NTEContext
, PULONG NTEInstance
);
127 DWORD WINAPI
DeleteIPAddress(ULONG NTEContext
);
129 DWORD WINAPI
GetNetworkParams(PFIXED_INFO pFixedInfo
, PULONG pOutBufLen
);
131 DWORD WINAPI
GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo
, PULONG pOutBufLen
);
133 DWORD WINAPI
GetPerAdapterInfo(ULONG IfIndex
,
134 PIP_PER_ADAPTER_INFO pPerAdapterInfo
, PULONG pOutBufLen
);
136 DWORD WINAPI
IpReleaseAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo
);
138 DWORD WINAPI
IpRenewAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo
);
140 DWORD WINAPI
SendARP(IPAddr DestIP
, IPAddr SrcIP
, PULONG pMacAddr
,
143 BOOL WINAPI
GetRTTAndHopCount(IPAddr DestIpAddress
, PULONG HopCount
,
144 ULONG MaxHops
, PULONG RTT
);
146 DWORD WINAPI
GetFriendlyIfIndex(DWORD IfIndex
);
148 DWORD WINAPI
EnableRouter(HANDLE
* pHandle
, OVERLAPPED
* pOverlapped
);
150 DWORD WINAPI
UnenableRouter(OVERLAPPED
* pOverlapped
, LPDWORD lpdwEnableCount
);
153 ULONG WINAPI
GetAdaptersAddresses(ULONG family
, ULONG flags
, PVOID reserved
,
154 PIP_ADAPTER_ADDRESSES aa
, PULONG buflen
);
157 DWORD WINAPI
AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE
*ppUdpTable
, BOOL bOrder
, HANDLE heap
, DWORD flags
);
158 DWORD WINAPI
AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE
*ppTcpTable
, BOOL bOrder
, HANDLE heap
, DWORD flags
);
159 DWORD WINAPI
AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE
*ppIpNetTable
, BOOL bOrder
, HANDLE heap
, DWORD flags
);
160 DWORD WINAPI
AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE
*ppIpForwardTable
, BOOL bOrder
, HANDLE heap
, DWORD flags
);
166 #endif /* WINE_IPHLPAPI_H__ */