OSDN Git Service

* NEWS: Add and adjust release notes for 4.0.
[mingw/mingw-org-wsl.git] / include / iphlpapi.h
1 /**
2  * @file iphlpapi.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _IPHLPAPI_H
25 #define _IPHLPAPI_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #include <iprtrmib.h>
30 #include <ipexport.h>
31 #include <iptypes.h>
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG);
37 DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
38 DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
39 DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD);
40 DWORD WINAPI DeleteIPAddress(ULONG);
41 DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
42 DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW);
43 DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD);
44 DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*);
45 DWORD WINAPI FlushIpNetTable(DWORD);
46 DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG);
47 DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
48 DWORD WINAPI GetBestInterface(IPAddr,PDWORD);
49 DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW);
50 DWORD WINAPI GetFriendlyIfIndex(DWORD);
51 DWORD WINAPI GetIcmpStatistics(PMIB_ICMP);
52 DWORD WINAPI GetIfEntry(PMIB_IFROW);
53 DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL);
54 DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG);
55 DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL);
56 DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL);
57 DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL);
58 DWORD WINAPI GetIpStatistics(PMIB_IPSTATS);
59 DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG);
60 DWORD WINAPI GetNumberOfInterfaces(PDWORD);
61 DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG);
62 BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG);
63 DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS);
64 DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL);
65 DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG);
66 DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS);
67 DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL);
68 DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
69 DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
70 DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED);
71 DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED);
72 DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);
73 DWORD WINAPI SetIfEntry(PMIB_IFROW);
74 DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW);
75 DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
76 DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
77 DWORD WINAPI SetIpTTL(UINT);
78 DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
79 DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
80
81 #if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
82 #define GAA_FLAG_SKIP_UNICAST 0x00000001
83 #define GAA_FLAG_SKIP_ANYCAST 0x00000002
84 #define GAA_FLAG_SKIP_MULTICAST 0x00000004
85 #define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
86 #define GAA_FLAG_INCLUDE_PREFIX 0x00000010
87 #define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
88 #if (defined(_WINSOCK2_H))
89 ULONG WINAPI GetAdaptersAddresses(ULONG,ULONG,PVOID,PIP_ADAPTER_ADDRESSES,PULONG);
90 #endif
91 DWORD WINAPI GetExtendedTcpTable (PVOID,PDWORD,BOOL,ULONG,TCP_TABLE_CLASS,ULONG);
92 #endif /* _WIN32_WINNT >= _WIN32_WINNT_WINXP */
93
94 #ifdef __cplusplus
95 }
96 #endif
97 #endif /* _IPHLPAPI_H */