4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * iptypes.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * by Stewart Gordon * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.iptypes; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: import win32.windef; 4e2933c620 2015-04-21 kinaba: version(Tango){ 4e2933c620 2015-04-21 kinaba: private import tango.stdc.time; 4e2933c620 2015-04-21 kinaba: }else{ 4e2933c620 2015-04-21 kinaba: private import std.c.time; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: //#include <sys/types.h> 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t 4e2933c620 2015-04-21 kinaba: DEFAULT_MINIMUM_ENTITIES = 32, 4e2933c620 2015-04-21 kinaba: MAX_ADAPTER_ADDRESS_LENGTH = 8, 4e2933c620 2015-04-21 kinaba: MAX_ADAPTER_DESCRIPTION_LENGTH = 128, 4e2933c620 2015-04-21 kinaba: MAX_ADAPTER_NAME_LENGTH = 256, 4e2933c620 2015-04-21 kinaba: MAX_DOMAIN_NAME_LEN = 128, 4e2933c620 2015-04-21 kinaba: MAX_HOSTNAME_LEN = 128, 4e2933c620 2015-04-21 kinaba: MAX_SCOPE_ID_LEN = 256; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const UINT 4e2933c620 2015-04-21 kinaba: BROADCAST_NODETYPE = 1, 4e2933c620 2015-04-21 kinaba: PEER_TO_PEER_NODETYPE = 2, 4e2933c620 2015-04-21 kinaba: MIXED_NODETYPE = 4, 4e2933c620 2015-04-21 kinaba: HYBRID_NODETYPE = 8; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: IF_OTHER_ADAPTERTYPE, 4e2933c620 2015-04-21 kinaba: IF_ETHERNET_ADAPTERTYPE, 4e2933c620 2015-04-21 kinaba: IF_TOKEN_RING_ADAPTERTYPE, 4e2933c620 2015-04-21 kinaba: IF_FDDI_ADAPTERTYPE, 4e2933c620 2015-04-21 kinaba: IF_PPP_ADAPTERTYPE, 4e2933c620 2015-04-21 kinaba: IF_LOOPBACK_ADAPTERTYPE // = 5 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IP_ADDRESS_STRING { 4e2933c620 2015-04-21 kinaba: char[16] String; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IP_ADDRESS_STRING IP_MASK_STRING; 4e2933c620 2015-04-21 kinaba: alias IP_ADDRESS_STRING* PIP_ADDRESS_STRING, PIP_MASK_STRING; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IP_ADDR_STRING { 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING* Next; 4e2933c620 2015-04-21 kinaba: IP_ADDRESS_STRING IpAddress; 4e2933c620 2015-04-21 kinaba: IP_MASK_STRING IpMask; 4e2933c620 2015-04-21 kinaba: DWORD Context; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IP_ADDR_STRING* PIP_ADDR_STRING; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IP_ADAPTER_INFO { 4e2933c620 2015-04-21 kinaba: IP_ADAPTER_INFO* Next; 4e2933c620 2015-04-21 kinaba: DWORD ComboIndex; 4e2933c620 2015-04-21 kinaba: char[MAX_ADAPTER_NAME_LENGTH+4] AdapterName; 4e2933c620 2015-04-21 kinaba: char[MAX_ADAPTER_DESCRIPTION_LENGTH+4] Description; 4e2933c620 2015-04-21 kinaba: UINT AddressLength; 4e2933c620 2015-04-21 kinaba: BYTE[MAX_ADAPTER_ADDRESS_LENGTH] Address; 4e2933c620 2015-04-21 kinaba: DWORD Index; 4e2933c620 2015-04-21 kinaba: UINT Type; 4e2933c620 2015-04-21 kinaba: UINT DhcpEnabled; 4e2933c620 2015-04-21 kinaba: PIP_ADDR_STRING CurrentIpAddress; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING IpAddressList; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING GatewayList; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING DhcpServer; 4e2933c620 2015-04-21 kinaba: BOOL HaveWins; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING PrimaryWinsServer; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING SecondaryWinsServer; 4e2933c620 2015-04-21 kinaba: time_t LeaseObtained; 4e2933c620 2015-04-21 kinaba: time_t LeaseExpires; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IP_ADAPTER_INFO* PIP_ADAPTER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IP_PER_ADAPTER_INFO { 4e2933c620 2015-04-21 kinaba: UINT AutoconfigEnabled; 4e2933c620 2015-04-21 kinaba: UINT AutoconfigActive; 4e2933c620 2015-04-21 kinaba: PIP_ADDR_STRING CurrentDnsServer; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING DnsServerList; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IP_PER_ADAPTER_INFO* PIP_PER_ADAPTER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FIXED_INFO { 4e2933c620 2015-04-21 kinaba: char[MAX_HOSTNAME_LEN+4] HostName; 4e2933c620 2015-04-21 kinaba: char[MAX_DOMAIN_NAME_LEN+4] DomainName; 4e2933c620 2015-04-21 kinaba: PIP_ADDR_STRING CurrentDnsServer; 4e2933c620 2015-04-21 kinaba: IP_ADDR_STRING DnsServerList; 4e2933c620 2015-04-21 kinaba: UINT NodeType; 4e2933c620 2015-04-21 kinaba: char[MAX_SCOPE_ID_LEN+4] ScopeId; 4e2933c620 2015-04-21 kinaba: UINT EnableRouting; 4e2933c620 2015-04-21 kinaba: UINT EnableProxy; 4e2933c620 2015-04-21 kinaba: UINT EnableDns; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FIXED_INFO* PFIXED_INFO;