| 1 |
/***********************************************************************\ |
|---|
| 2 |
* iphlpapi.d * |
|---|
| 3 |
* * |
|---|
| 4 |
* Windows API header module * |
|---|
| 5 |
* * |
|---|
| 6 |
* Translated from MinGW Windows headers * |
|---|
| 7 |
* by Stewart Gordon * |
|---|
| 8 |
* * |
|---|
| 9 |
* Placed into public domain * |
|---|
| 10 |
\***********************************************************************/ |
|---|
| 11 |
module win32.iphlpapi; |
|---|
| 12 |
|
|---|
| 13 |
import win32.ipexport, win32.iprtrmib, win32.iptypes; |
|---|
| 14 |
private import win32.winbase, win32.windef; |
|---|
| 15 |
|
|---|
| 16 |
extern (Windows) { |
|---|
| 17 |
DWORD AddIPAddress(IPAddr, IPMask, DWORD, PULONG, PULONG); |
|---|
| 18 |
DWORD CreateIpForwardEntry(PMIB_IPFORWARDROW); |
|---|
| 19 |
DWORD CreateIpNetEntry(PMIB_IPNETROW); |
|---|
| 20 |
DWORD CreateProxyArpEntry(DWORD, DWORD, DWORD); |
|---|
| 21 |
DWORD DeleteIPAddress(ULONG); |
|---|
| 22 |
DWORD DeleteIpForwardEntry(PMIB_IPFORWARDROW); |
|---|
| 23 |
DWORD DeleteIpNetEntry(PMIB_IPNETROW); |
|---|
| 24 |
DWORD DeleteProxyArpEntry(DWORD, DWORD, DWORD); |
|---|
| 25 |
DWORD EnableRouter(HANDLE*, OVERLAPPED*); |
|---|
| 26 |
DWORD FlushIpNetTable(DWORD); |
|---|
| 27 |
DWORD GetAdapterIndex(LPWSTR, PULONG); |
|---|
| 28 |
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO, PULONG); |
|---|
| 29 |
DWORD GetBestInterface(IPAddr, PDWORD); |
|---|
| 30 |
DWORD GetBestRoute(DWORD, DWORD, PMIB_IPFORWARDROW); |
|---|
| 31 |
DWORD GetFriendlyIfIndex(DWORD); |
|---|
| 32 |
DWORD GetIcmpStatistics(PMIB_ICMP); |
|---|
| 33 |
DWORD GetIfEntry(PMIB_IFROW); |
|---|
| 34 |
DWORD GetIfTable(PMIB_IFTABLE, PULONG, BOOL); |
|---|
| 35 |
DWORD GetInterfaceInfo(PIP_INTERFACE_INFO, PULONG); |
|---|
| 36 |
DWORD GetIpAddrTable(PMIB_IPADDRTABLE, PULONG, BOOL); |
|---|
| 37 |
DWORD GetIpForwardTable(PMIB_IPFORWARDTABLE, PULONG, BOOL); |
|---|
| 38 |
DWORD GetIpNetTable(PMIB_IPNETTABLE, PULONG, BOOL); |
|---|
| 39 |
DWORD GetIpStatistics(PMIB_IPSTATS); |
|---|
| 40 |
DWORD GetNetworkParams(PFIXED_INFO, PULONG); |
|---|
| 41 |
DWORD GetNumberOfInterfaces(PDWORD); |
|---|
| 42 |
DWORD GetPerAdapterInfo(ULONG, PIP_PER_ADAPTER_INFO, PULONG); |
|---|
| 43 |
BOOL GetRTTAndHopCount(IPAddr, PULONG, ULONG, PULONG); |
|---|
| 44 |
DWORD GetTcpStatistics(PMIB_TCPSTATS); |
|---|
| 45 |
DWORD GetTcpTable(PMIB_TCPTABLE, PDWORD, BOOL); |
|---|
| 46 |
DWORD GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS, |
|---|
| 47 |
PULONG); |
|---|
| 48 |
DWORD GetUdpStatistics(PMIB_UDPSTATS); |
|---|
| 49 |
DWORD GetUdpTable(PMIB_UDPTABLE, PDWORD, BOOL); |
|---|
| 50 |
DWORD IpReleaseAddress(PIP_ADAPTER_INDEX_MAP); |
|---|
| 51 |
DWORD IpRenewAddress(PIP_ADAPTER_INDEX_MAP); |
|---|
| 52 |
DWORD NotifyAddrChange(PHANDLE, LPOVERLAPPED); |
|---|
| 53 |
DWORD NotifyRouteChange(PHANDLE, LPOVERLAPPED); |
|---|
| 54 |
DWORD SendARP(IPAddr, IPAddr, PULONG, PULONG); |
|---|
| 55 |
DWORD SetIfEntry(PMIB_IFROW); |
|---|
| 56 |
DWORD SetIpForwardEntry(PMIB_IPFORWARDROW); |
|---|
| 57 |
DWORD SetIpNetEntry(PMIB_IPNETROW); |
|---|
| 58 |
DWORD SetIpStatistics(PMIB_IPSTATS); |
|---|
| 59 |
DWORD SetIpTTL(UINT); |
|---|
| 60 |
DWORD SetTcpEntry(PMIB_TCPROW); |
|---|
| 61 |
DWORD UnenableRouter(OVERLAPPED*, LPDWORD); |
|---|
| 62 |
} |
|---|