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 }