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