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
,
110 IfOperStatusNotPresent
,
111 IfOperStatusLowerLayerDown
113 typedef struct _IP_ADAPTER_UNICAST_ADDRESS
{
121 struct _IP_ADAPTER_UNICAST_ADDRESS
*Next
;
122 SOCKET_ADDRESS Address
;
123 IP_PREFIX_ORIGIN PrefixOrigin
;
124 IP_SUFFIX_ORIGIN SuffixOrigin
;
125 IP_DAD_STATE DadState
;
127 ULONG PreferredLifetime
;
129 } IP_ADAPTER_UNICAST_ADDRESS
, *PIP_ADAPTER_UNICAST_ADDRESS
;
130 typedef struct _IP_ADAPTER_ANYCAST_ADDRESS
{
138 struct _IP_ADAPTER_ANYCAST_ADDRESS
*Next
;
139 SOCKET_ADDRESS Address
;
140 } IP_ADAPTER_ANYCAST_ADDRESS
, *PIP_ADAPTER_ANYCAST_ADDRESS
;
141 typedef struct _IP_ADAPTER_MULTICAST_ADDRESS
{
149 struct _IP_ADAPTER_MULTICAST_ADDRESS
*Next
;
150 SOCKET_ADDRESS Address
;
151 } IP_ADAPTER_MULTICAST_ADDRESS
, *PIP_ADAPTER_MULTICAST_ADDRESS
;
152 typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS
{
160 struct _IP_ADAPTER_DNS_SERVER_ADDRESS
*Next
;
161 SOCKET_ADDRESS Address
;
162 } IP_ADAPTER_DNS_SERVER_ADDRESS
, *PIP_ADAPTER_DNS_SERVER_ADDRESS
;
163 typedef struct _IP_ADAPTER_PREFIX
{
171 struct _IP_ADAPTER_PREFIX
*Next
;
172 SOCKET_ADDRESS Address
;
174 } IP_ADAPTER_PREFIX
, *PIP_ADAPTER_PREFIX
;
175 typedef struct _IP_ADAPTER_ADDRESSES
{
183 struct _IP_ADAPTER_ADDRESSES
*Next
;
185 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress
;
186 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress
;
187 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress
;
188 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress
;
192 BYTE PhysicalAddress
[MAX_ADAPTER_ADDRESS_LENGTH
];
193 DWORD PhysicalAddressLength
;
197 IF_OPER_STATUS OperStatus
;
199 DWORD ZoneIndices
[16];
200 PIP_ADAPTER_PREFIX FirstPrefix
;
201 } IP_ADAPTER_ADDRESSES
, *PIP_ADAPTER_ADDRESSES
;
207 #endif /* _IPTYPES_H */