ReactOS 0.4.16-dev-1946-g52006dd
iphlpapi.h
Go to the documentation of this file.
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
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#include <tcpestats.h>
29
30#ifndef IPHLPAPI_DLL_LINKAGE
31#if defined(__REACTOS__) && defined(__GNUC__)
32/* FIXME: CORE-6504 */
33#define IPHLPAPI_DLL_LINKAGE
34#else
35#define IPHLPAPI_DLL_LINKAGE DECLSPEC_IMPORT
36#endif
37#endif
38
39#define NET_STRING_IPV4_ADDRESS 0x00000001
40#define NET_STRING_IPV4_SERVICE 0x00000002
41#define NET_STRING_IPV4_NETWORK 0x00000004
42#define NET_STRING_IPV6_ADDRESS 0x00000008
43#define NET_STRING_IPV6_ADDRESS_NO_SCOPE 0x00000010
44#define NET_STRING_IPV6_SERVICE 0x00000020
45#define NET_STRING_IPV6_SERVICE_NO_SCOPE 0x00000040
46#define NET_STRING_IPV6_NETWORK 0x00000080
47#define NET_STRING_NAMED_ADDRESS 0x00000100
48#define NET_STRING_NAMED_SERVICE 0x00000200
49#define NET_STRING_IP_ADDRESS (NET_STRING_IPV4_ADDRESS|NET_STRING_IPV6_ADDRESS)
50#define NET_STRING_IP_ADDRESS_NO_SCOPE (NET_STRING_IPV4_ADDRESS|NET_STRING_IPV6_ADDRESS_NO_SCOPE)
51#define NET_STRING_IP_SERVICE (NET_STRING_IPV4_SERVICE|NET_STRING_IPV6_SERVICE)
52#define NET_STRING_IP_SERVICE_NO_SCOPE (NET_STRING_IPV4_SERVICE|NET_STRING_IPV6_SERVICE_NO_SCOPE)
53#define NET_STRING_IP_NETWORK (NET_STRING_IPV4_NETWORK|NET_STRING_IPV6_NETWORK)
54#define NET_STRING_ANY_ADDRESS (NET_STRING_NAMED_ADDRESS|NET_STRING_IP_ADDRESS)
55#define NET_STRING_ANY_ADDRESS_NO_SCOPE (NET_STRING_NAMED_ADDRESS|NET_STRING_IP_ADDRESS_NO_SCOPE)
56#define NET_STRING_ANY_SERVICE (NET_STRING_NAMED_SERVICE|NET_STRING_IP_SERVICE)
57#define NET_STRING_ANY_SERVICE_NO_SCOPE (NET_STRING_NAMED_SERVICE|NET_STRING_IP_SERVICE_NO_SCOPE)
58
77 ULONG rw_size, UCHAR *ro_static, ULONG ro_static_version,
78 ULONG ro_static_size, UCHAR *ro_dynamic, ULONG ro_dynamic_version,
79 ULONG ro_dynamic_size);
99
100#ifdef __WINE_WINSOCKAPI_STDLIB_H
102#ifdef USE_WS_PREFIX
103 struct WS_sockaddr *pDestAddr,
104#else
105 struct sockaddr *pDestAddr,
106#endif
107 PDWORD pdwBestIfIndex);
108#endif
109
110IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetBestRoute(DWORD dwDestAddr, DWORD dwSourceAddr, PMIB_IPFORWARDROW pBestRoute);
115IPHLPAPI_DLL_LINKAGE DWORD WINAPI AddIPAddress(IPAddr Address, IPMask IpMask, DWORD IfIndex, PULONG NTEContext, PULONG NTEInstance);
122IPHLPAPI_DLL_LINKAGE DWORD WINAPI SendARP(IPAddr DestIP, IPAddr SrcIP, PULONG pMacAddr, PULONG PhyAddrLen);
123IPHLPAPI_DLL_LINKAGE BOOL WINAPI GetRTTAndHopCount(IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT);
127
128#ifdef _WINSOCK2API_
129IPHLPAPI_DLL_LINKAGE ULONG WINAPI GetAdaptersAddresses(ULONG family, ULONG flags, PVOID reserved,
130 PIP_ADAPTER_ADDRESSES aa, PULONG buflen);
131#endif
132
138
145
146#ifdef __WINE_WINDNS_H
147
148typedef struct NET_ADDRESS_INFO_
149{
151 union
152 {
153 struct
154 {
156 WCHAR Port[6];
157 } NamedAddress;
158 SOCKADDR_IN Ipv4Address;
159 SOCKADDR_IN6 Ipv6Address;
160 SOCKADDR IpAddress;
162} NET_ADDRESS_INFO, *PNET_ADDRESS_INFO;
163
164#endif /* __WINE_WINDNS_H */
165
166#ifdef __cplusplus
167}
168#endif
169
170#endif /* WINE_IPHLPAPI_H__ */
static int state
Definition: maze.c:121
static const WCHAR version[]
Definition: asmname.c:66
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
Definition: typeof.h:78
r reserved
Definition: btrfs.c:3006
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
ULONG Handle
Definition: gdb_input.c:15
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
GLbitfield flags
Definition: glext.h:7161
CPPORT Port[4]
Definition: headless.c:35
ULONG IPMask
Definition: ipexport.h:28
DWORD WINAPI GetBestInterfaceEx(struct sockaddr *pDestAddr, PDWORD pdwBestIfIndex)
DWORD WINAPI AllocateAndGetTcpExTableFromStack(PVOID *ppTcpTable, BOOL bOrder, HANDLE heap, DWORD flags, DWORD family)
enum _TCP_TABLE_CLASS TCP_TABLE_CLASS
enum _UDP_TABLE_CLASS UDP_TABLE_CLASS
unsigned int UINT
Definition: ndis.h:50
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING AdapterName
Definition: ndis.h:6016
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define DUMMYUNIONNAME
Definition: pecoff.h:91
DWORD * PDWORD
Definition: pedump.c:68
ULONG IPAddr
Definition: pfhook.h:35
static WCHAR Address[46]
Definition: ping.c:68
DWORD WINAPI GetExtendedTcpTable(PVOID, PDWORD, BOOL, ULONG, TCP_TABLE_CLASS, ULONG)
DWORD WINAPI GetFriendlyIfIndex(DWORD)
DWORD WINAPI AddIPAddress(IPAddr, IPMask, DWORD, PULONG, PULONG)
Definition: iphlpapi_main.c:67
DWORD WINAPI DeleteProxyArpEntry(DWORD, DWORD, DWORD)
DWORD WINAPI GetIfTable(PMIB_IFTABLE, PULONG, BOOL)
DWORD WINAPI GetBestRoute(DWORD, DWORD, PMIB_IPFORWARDROW)
DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW)
DWORD WINAPI SetIfEntry(PMIB_IFROW)
DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE, PULONG, BOOL)
BOOL WINAPI GetRTTAndHopCount(IPAddr, PULONG, ULONG, PULONG)
DWORD WINAPI GetNumberOfInterfaces(PDWORD)
DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW)
DWORD WINAPI SetTcpEntry(PMIB_TCPROW)
DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO, PULONG)
DWORD WINAPI GetIcmpStatistics(PMIB_ICMP)
DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS, PULONG)
DWORD WINAPI GetAdapterIndex(LPWSTR, PULONG)
DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE, PULONG, BOOL)
DWORD WINAPI GetNetworkParams(PFIXED_INFO, PULONG)
DWORD WINAPI DeleteIPAddress(ULONG)
DWORD WINAPI CreateProxyArpEntry(DWORD, DWORD, DWORD)
DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW)
DWORD WINAPI UnenableRouter(OVERLAPPED *, LPDWORD)
DWORD WINAPI NotifyAddrChange(PHANDLE, LPOVERLAPPED)
DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW)
DWORD WINAPI SetIpStatistics(PMIB_IPSTATS)
DWORD WINAPI GetTcpTable(PMIB_TCPTABLE, PDWORD, BOOL)
DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP)
DWORD WINAPI GetPerAdapterInfo(ULONG, PIP_PER_ADAPTER_INFO, PULONG)
DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW)
DWORD WINAPI GetIfEntry(PMIB_IFROW)
DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS)
DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS)
DWORD WINAPI GetIpStatistics(PMIB_IPSTATS)
DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE, PULONG, BOOL)
DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW)
DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO, PULONG)
DWORD WINAPI GetIpStatisticsEx(PMIB_IPSTATS, DWORD)
DWORD WINAPI GetExtendedUdpTable(PVOID, PDWORD, BOOL, ULONG, UDP_TABLE_CLASS, ULONG)
DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP)
DWORD WINAPI GetUdpTable(PMIB_UDPTABLE, PDWORD, BOOL)
DWORD WINAPI GetBestInterface(IPAddr, PDWORD)
DWORD WINAPI SendARP(IPAddr, IPAddr, PULONG, PULONG)
DWORD WINAPI FlushIpNetTable(DWORD)
DWORD WINAPI NotifyRouteChange(PHANDLE, LPOVERLAPPED)
DWORD WINAPI EnableRouter(HANDLE *, OVERLAPPED *)
DWORD WINAPI SetIpTTL(UINT)
TCP_ESTATS_TYPE
Definition: tcpestats.h:18
#define rw
Definition: rosglue.h:38
static HANDLE heap
Definition: heap.c:65
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED * overlapped
Definition: sock.c:81
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t * LPDWORD
Definition: typedefs.h:59
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define WINAPI
Definition: msvc.h:6
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetIcmpStatisticsEx(PMIB_ICMP_EX pStats, DWORD dwFamily)
#define IPHLPAPI_DLL_LINKAGE
Definition: iphlpapi.h:35
IPHLPAPI_DLL_LINKAGE DWORD WINAPI SetPerTcpConnectionEStats(MIB_TCPROW *row, TCP_ESTATS_TYPE state, BYTE *rw, ULONG version, ULONG size, ULONG offset)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetUdp6Table(PMIB_UDP6TABLE pUdpTable, PDWORD pdwSize, BOOL bOrder)
NET_ADDRESS_FORMAT_
Definition: iphlpapi.h:139
@ NET_ADDRESS_IPV4
Definition: iphlpapi.h:142
@ NET_ADDRESS_DNS_NAME
Definition: iphlpapi.h:141
@ NET_ADDRESS_IPV6
Definition: iphlpapi.h:143
@ NET_ADDRESS_FORMAT_UNSPECIFIED
Definition: iphlpapi.h:140
enum NET_ADDRESS_FORMAT_ NET_ADDRESS_FORMAT
IPHLPAPI_DLL_LINKAGE DWORD WINAPI AllocateAndGetUdpTableFromStack(PMIB_UDPTABLE *ppUdpTable, BOOL bOrder, HANDLE heap, DWORD flags)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetUdpStatisticsEx(PMIB_UDPSTATS pStats, DWORD dwFamily)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable, BOOL bOrder, HANDLE heap, DWORD flags)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI AllocateAndGetTcpTableFromStack(PMIB_TCPTABLE *ppTcpTable, BOOL bOrder, HANDLE heap, DWORD flags)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE *ppIpForwardTable, BOOL bOrder, HANDLE heap, DWORD flags)
IPHLPAPI_DLL_LINKAGE ULONG WINAPI GetPerTcpConnectionEStats(MIB_TCPROW *row, TCP_ESTATS_TYPE stats, UCHAR *rw, ULONG rw_version, ULONG rw_size, UCHAR *ro_static, ULONG ro_static_version, ULONG ro_static_size, UCHAR *ro_dynamic, ULONG ro_dynamic_version, ULONG ro_dynamic_size)
IPHLPAPI_DLL_LINKAGE DWORD WINAPI GetTcpStatisticsEx(PMIB_TCPSTATS pStats, DWORD dwFamily)
IPHLPAPI_DLL_LINKAGE BOOL WINAPI CancelIPChangeNotify(LPOVERLAPPED overlapped)
#define DNS_MAX_NAME_BUFFER_LENGTH
Definition: windns.h:200
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
unsigned char BYTE
Definition: xxhash.c:193