10 #define DEFAULT_MINIMUM_ENTITIES 32
11 #define MAX_ADAPTER_ADDRESS_LENGTH 8
12 #define MAX_ADAPTER_DESCRIPTION_LENGTH 128
13 #define MAX_ADAPTER_NAME_LENGTH 256
14 #define MAX_DOMAIN_NAME_LEN 128
15 #define MAX_HOSTNAME_LEN 128
16 #define MAX_SCOPE_ID_LEN 256
17 #define BROADCAST_NODETYPE 1
18 #define PEER_TO_PEER_NODETYPE 2
19 #define MIXED_NODETYPE 4
20 #define HYBRID_NODETYPE 8
21 #define IF_OTHER_ADAPTERTYPE 0
22 #define IF_ETHERNET_ADAPTERTYPE 1
23 #define IF_TOKEN_RING_ADAPTERTYPE 2
24 #define IF_FDDI_ADAPTERTYPE 3
25 #define IF_PPP_ADAPTERTYPE 4
26 #define IF_LOOPBACK_ADAPTERTYPE 5
29 } IP_ADDRESS_STRING
, *PIP_ADDRESS_STRING
, IP_MASK_STRING
, *PIP_MASK_STRING
;
30 typedef struct _IP_ADDR_STRING
{
31 struct _IP_ADDR_STRING
* Next
;
32 IP_ADDRESS_STRING IpAddress
;
33 IP_MASK_STRING IpMask
;
35 } IP_ADDR_STRING
, *PIP_ADDR_STRING
;
36 typedef struct _IP_ADAPTER_INFO
{
37 struct _IP_ADAPTER_INFO
* Next
;
39 char AdapterName
[MAX_ADAPTER_NAME_LENGTH
+4];
40 char Description
[MAX_ADAPTER_DESCRIPTION_LENGTH
+4];
42 BYTE Address
[MAX_ADAPTER_ADDRESS_LENGTH
];
46 PIP_ADDR_STRING CurrentIpAddress
;
47 IP_ADDR_STRING IpAddressList
;
48 IP_ADDR_STRING GatewayList
;
49 IP_ADDR_STRING DhcpServer
;
51 IP_ADDR_STRING PrimaryWinsServer
;
52 IP_ADDR_STRING SecondaryWinsServer
;
55 } IP_ADAPTER_INFO
, *PIP_ADAPTER_INFO
;
56 typedef struct _IP_PER_ADAPTER_INFO
{
57 UINT AutoconfigEnabled
;
58 UINT AutoconfigActive
;
59 PIP_ADDR_STRING CurrentDnsServer
;
60 IP_ADDR_STRING DnsServerList
;
61 } IP_PER_ADAPTER_INFO
, *PIP_PER_ADAPTER_INFO
;
69 } IP_INTERFACE_NAME_INFO
, *PIP_INTERFACE_NAME_INFO
;
70 typedef struct _FIXED_INFO
{
71 char HostName
[MAX_HOSTNAME_LEN
+4] ;
72 char DomainName
[MAX_DOMAIN_NAME_LEN
+4];
73 PIP_ADDR_STRING CurrentDnsServer
;
74 IP_ADDR_STRING DnsServerList
;
76 char ScopeId
[MAX_SCOPE_ID_LEN
+4];
80 } FIXED_INFO
, *PFIXED_INFO
;
83 IpPrefixOriginOther
= 0,
85 IpPrefixOriginWellKnown
,
87 IpPrefixOriginRouterAdvertisement
,
90 IpSuffixOriginOther
= 0,
92 IpSuffixOriginWellKnown
,
94 IpSuffixOriginLinkLayerAddress
,
98 IpDadStateInvalid
= 0,
101 IpDadStateDeprecated
,
104 typedef struct _IP_ADAPTER_UNICAST_ADDRESS
{
112 struct _IP_ADAPTER_UNICAST_ADDRESS
*Next
;
113 SOCKET_ADDRESS Address
;
114 IP_PREFIX_ORIGIN PrefixOrigin
;
115 IP_SUFFIX_ORIGIN SuffixOrigin
;
116 IP_DAD_STATE DadState
;
118 ULONG PreferredLifetime
;
120 } IP_ADAPTER_UNICAST_ADDRESS
, *PIP_ADAPTER_UNICAST_ADDRESS
;
121 typedef struct _IP_ADAPTER_ANYCAST_ADDRESS
{
129 struct _IP_ADAPTER_ANYCAST_ADDRESS
*Next
;
130 SOCKET_ADDRESS Address
;
131 } IP_ADAPTER_ANYCAST_ADDRESS
, *PIP_ADAPTER_ANYCAST_ADDRESS
;
132 typedef struct _IP_ADAPTER_MULTICAST_ADDRESS
{
140 struct _IP_ADAPTER_MULTICAST_ADDRESS
*Next
;
141 SOCKET_ADDRESS Address
;
142 } IP_ADAPTER_MULTICAST_ADDRESS
, *PIP_ADAPTER_MULTICAST_ADDRESS
;
143 typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS
{
151 struct _IP_ADAPTER_DNS_SERVER_ADDRESS
*Next
;
152 SOCKET_ADDRESS Address
;
153 } IP_ADAPTER_DNS_SERVER_ADDRESS
, *PIP_ADAPTER_DNS_SERVER_ADDRESS
;
154 typedef struct _IP_ADAPTER_PREFIX
{
162 struct _IP_ADAPTER_PREFIX
*Next
;
163 SOCKET_ADDRESS Address
;
165 } IP_ADAPTER_PREFIX
, *PIP_ADAPTER_PREFIX
;
166 typedef struct _IP_ADAPTER_ADDRESSES
{
174 struct _IP_ADAPTER_ADDRESSES
*Next
;
176 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress
;
177 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress
;
178 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress
;
179 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress
;
183 BYTE PhysicalAddress
[MAX_ADAPTER_ADDRESS_LENGTH
];
184 DWORD PhysicalAddressLength
;
188 IF_OPER_STATUS OperStatus
;
190 DWORD ZoneIndices
[16];
191 PIP_ADAPTER_PREFIX FirstPrefix
;
192 } IP_ADAPTER_ADDRESSES
, *PIP_ADAPTER_ADDRESSES
;
198 #endif /* _IPTYPES_H */