Files
Iain Buclaw 0dd21bce3a d: Merge upstream dmd, druntime c57da0cf59, phobos ad8ee5587
D front-end changes:

	- Import latest fixes from dmd v2.110.0-beta.1.
	- The `align' attribute now allows to specify `default'
	  explicitly.
	- Add primary expression of the form `__rvalue(expression)'
	  which causes `expression' to be treated as an rvalue, even if
	  it is an lvalue.
	- Shortened method syntax can now be used in constructors.

D runtime changes:

	- Import latest fixes from druntime v2.110.0-beta.1.

Phobos changes:

	- Import latest fixes from phobos v2.110.0-beta.1.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd c57da0cf59.
	* d-codegen.cc (can_elide_copy_p): New.
	(d_build_call): Use it.
	* d-lang.cc (d_post_options): Update for new front-end interface.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime c57da0cf59.
	* src/MERGE: Merge upstream phobos ad8ee5587.
	* testsuite/libphobos.init_fini/custom_gc.d: Adjust test.

gcc/testsuite/ChangeLog:

	* gdc.dg/copy1.d: New test.
2025-01-12 21:53:50 +01:00

63 lines
2.5 KiB
D

/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC core/sys/windows/_iphlpapi.d)
*/
module core.sys.windows.iphlpapi;
version (Windows):
import core.sys.windows.ipexport, core.sys.windows.iprtrmib, core.sys.windows.iptypes;
import core.sys.windows.winbase, core.sys.windows.windef;
extern (Windows) nothrow @nogc {
DWORD AddIPAddress(IPAddr, IPMask, DWORD, PULONG, PULONG);
DWORD CreateIpForwardEntry(PMIB_IPFORWARDROW);
DWORD CreateIpNetEntry(PMIB_IPNETROW);
DWORD CreateProxyArpEntry(DWORD, DWORD, DWORD);
DWORD DeleteIPAddress(ULONG);
DWORD DeleteIpForwardEntry(PMIB_IPFORWARDROW);
DWORD DeleteIpNetEntry(PMIB_IPNETROW);
DWORD DeleteProxyArpEntry(DWORD, DWORD, DWORD);
DWORD EnableRouter(HANDLE*, OVERLAPPED*);
DWORD FlushIpNetTable(DWORD);
DWORD GetAdapterIndex(LPWSTR, PULONG);
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO, PULONG);
DWORD GetBestInterface(IPAddr, PDWORD);
DWORD GetBestRoute(DWORD, DWORD, PMIB_IPFORWARDROW);
DWORD GetFriendlyIfIndex(DWORD);
DWORD GetIcmpStatistics(PMIB_ICMP);
DWORD GetIfEntry(PMIB_IFROW);
DWORD GetIfTable(PMIB_IFTABLE, PULONG, BOOL);
DWORD GetInterfaceInfo(PIP_INTERFACE_INFO, PULONG);
DWORD GetIpAddrTable(PMIB_IPADDRTABLE, PULONG, BOOL);
DWORD GetIpForwardTable(PMIB_IPFORWARDTABLE, PULONG, BOOL);
DWORD GetIpNetTable(PMIB_IPNETTABLE, PULONG, BOOL);
DWORD GetIpStatistics(PMIB_IPSTATS);
DWORD GetNetworkParams(PFIXED_INFO, PULONG);
DWORD GetNumberOfInterfaces(PDWORD);
DWORD GetPerAdapterInfo(ULONG, PIP_PER_ADAPTER_INFO, PULONG);
BOOL GetRTTAndHopCount(IPAddr, PULONG, ULONG, PULONG);
DWORD GetTcpStatistics(PMIB_TCPSTATS);
DWORD GetTcpTable(PMIB_TCPTABLE, PDWORD, BOOL);
DWORD GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,
PULONG);
DWORD GetUdpStatistics(PMIB_UDPSTATS);
DWORD GetUdpTable(PMIB_UDPTABLE, PDWORD, BOOL);
DWORD IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
DWORD IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
DWORD NotifyAddrChange(PHANDLE, LPOVERLAPPED);
DWORD NotifyRouteChange(PHANDLE, LPOVERLAPPED);
DWORD SendARP(IPAddr, IPAddr, PULONG, PULONG);
DWORD SetIfEntry(PMIB_IFROW);
DWORD SetIpForwardEntry(PMIB_IPFORWARDROW);
DWORD SetIpNetEntry(PMIB_IPNETROW);
DWORD SetIpStatistics(PMIB_IPSTATS);
DWORD SetIpTTL(UINT);
DWORD SetTcpEntry(PMIB_TCPROW);
DWORD UnenableRouter(OVERLAPPED*, LPDWORD);
}