1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_iptypes.d) 9 */ 10 /// Automatically imported and edited from the druntime module 11 /// core.sys.windows.iptypes for the auto-generated win32 package. 12 module win32.iptypes; 13 //version (Windows): 14 @system: 15 16 import win32.windef; 17 import core.stdc.time; 18 //#include <sys/types.h> 19 20 enum size_t 21 DEFAULT_MINIMUM_ENTITIES = 32, 22 MAX_ADAPTER_ADDRESS_LENGTH = 8, 23 MAX_ADAPTER_DESCRIPTION_LENGTH = 128, 24 MAX_ADAPTER_NAME_LENGTH = 256, 25 MAX_DOMAIN_NAME_LEN = 128, 26 MAX_HOSTNAME_LEN = 128, 27 MAX_SCOPE_ID_LEN = 256; 28 29 enum UINT 30 BROADCAST_NODETYPE = 1, 31 PEER_TO_PEER_NODETYPE = 2, 32 MIXED_NODETYPE = 4, 33 HYBRID_NODETYPE = 8; 34 35 enum : UINT { 36 IF_OTHER_ADAPTERTYPE, 37 IF_ETHERNET_ADAPTERTYPE, 38 IF_TOKEN_RING_ADAPTERTYPE, 39 IF_FDDI_ADAPTERTYPE, 40 IF_PPP_ADAPTERTYPE, 41 IF_LOOPBACK_ADAPTERTYPE // = 5 42 } 43 44 struct IP_ADDRESS_STRING { 45 char[16] String = 0; 46 } 47 alias IP_ADDRESS_STRING IP_MASK_STRING; 48 alias IP_ADDRESS_STRING* PIP_ADDRESS_STRING, PIP_MASK_STRING; 49 50 struct IP_ADDR_STRING { 51 IP_ADDR_STRING* Next; 52 IP_ADDRESS_STRING IpAddress; 53 IP_MASK_STRING IpMask; 54 DWORD Context; 55 } 56 alias IP_ADDR_STRING* PIP_ADDR_STRING; 57 58 struct IP_ADAPTER_INFO { 59 IP_ADAPTER_INFO* Next; 60 DWORD ComboIndex; 61 char[MAX_ADAPTER_NAME_LENGTH+4] AdapterName = 0; 62 char[MAX_ADAPTER_DESCRIPTION_LENGTH+4] Description = 0; 63 UINT AddressLength; 64 BYTE[MAX_ADAPTER_ADDRESS_LENGTH] Address = 0; 65 DWORD Index; 66 UINT Type; 67 UINT DhcpEnabled; 68 PIP_ADDR_STRING CurrentIpAddress; 69 IP_ADDR_STRING IpAddressList; 70 IP_ADDR_STRING GatewayList; 71 IP_ADDR_STRING DhcpServer; 72 BOOL HaveWins; 73 IP_ADDR_STRING PrimaryWinsServer; 74 IP_ADDR_STRING SecondaryWinsServer; 75 time_t LeaseObtained; 76 time_t LeaseExpires; 77 } 78 alias IP_ADAPTER_INFO* PIP_ADAPTER_INFO; 79 80 struct IP_PER_ADAPTER_INFO { 81 UINT AutoconfigEnabled; 82 UINT AutoconfigActive; 83 PIP_ADDR_STRING CurrentDnsServer; 84 IP_ADDR_STRING DnsServerList; 85 } 86 alias IP_PER_ADAPTER_INFO* PIP_PER_ADAPTER_INFO; 87 88 struct FIXED_INFO { 89 char[MAX_HOSTNAME_LEN+4] HostName = 0; 90 char[MAX_DOMAIN_NAME_LEN+4] DomainName = 0; 91 PIP_ADDR_STRING CurrentDnsServer; 92 IP_ADDR_STRING DnsServerList; 93 UINT NodeType; 94 char[MAX_SCOPE_ID_LEN+4] ScopeId = 0; 95 UINT EnableRouting; 96 UINT EnableProxy; 97 UINT EnableDns; 98 } 99 alias FIXED_INFO* PFIXED_INFO;