Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygeniptypes.h
Go to the documentation of this file.
00001 #ifndef _IPTYPES_H 00002 #define _IPTYPES_H 00003 00004 #include <sys/types.h> 00005 #include <ifdef.h> 00006 00007 #ifdef __cplusplus 00008 extern "C" { 00009 #endif 00010 #define DEFAULT_MINIMUM_ENTITIES 32 00011 #define MAX_ADAPTER_ADDRESS_LENGTH 8 00012 #define MAX_ADAPTER_DESCRIPTION_LENGTH 128 00013 #define MAX_ADAPTER_NAME_LENGTH 256 00014 #define MAX_DOMAIN_NAME_LEN 128 00015 #define MAX_HOSTNAME_LEN 128 00016 #define MAX_SCOPE_ID_LEN 256 00017 #define BROADCAST_NODETYPE 1 00018 #define PEER_TO_PEER_NODETYPE 2 00019 #define MIXED_NODETYPE 4 00020 #define HYBRID_NODETYPE 8 00021 #define IF_OTHER_ADAPTERTYPE 0 00022 #define IF_ETHERNET_ADAPTERTYPE 1 00023 #define IF_TOKEN_RING_ADAPTERTYPE 2 00024 #define IF_FDDI_ADAPTERTYPE 3 00025 #define IF_PPP_ADAPTERTYPE 4 00026 #define IF_LOOPBACK_ADAPTERTYPE 5 00027 typedef struct { 00028 char String[16]; 00029 } IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING; 00030 typedef struct _IP_ADDR_STRING { 00031 struct _IP_ADDR_STRING* Next; 00032 IP_ADDRESS_STRING IpAddress; 00033 IP_MASK_STRING IpMask; 00034 DWORD Context; 00035 } IP_ADDR_STRING, *PIP_ADDR_STRING; 00036 typedef struct _IP_ADAPTER_INFO { 00037 struct _IP_ADAPTER_INFO* Next; 00038 DWORD ComboIndex; 00039 char AdapterName[MAX_ADAPTER_NAME_LENGTH+4]; 00040 char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4]; 00041 UINT AddressLength; 00042 BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]; 00043 DWORD Index; 00044 UINT Type; 00045 UINT DhcpEnabled; 00046 PIP_ADDR_STRING CurrentIpAddress; 00047 IP_ADDR_STRING IpAddressList; 00048 IP_ADDR_STRING GatewayList; 00049 IP_ADDR_STRING DhcpServer; 00050 BOOL HaveWins; 00051 IP_ADDR_STRING PrimaryWinsServer; 00052 IP_ADDR_STRING SecondaryWinsServer; 00053 time_t LeaseObtained; 00054 time_t LeaseExpires; 00055 } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO; 00056 typedef struct _IP_PER_ADAPTER_INFO { 00057 UINT AutoconfigEnabled; 00058 UINT AutoconfigActive; 00059 PIP_ADDR_STRING CurrentDnsServer; 00060 IP_ADDR_STRING DnsServerList; 00061 } IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO; 00062 typedef struct { 00063 ULONG Index; 00064 ULONG MediaType; 00065 UCHAR ConnectionType; 00066 UCHAR AccessType; 00067 GUID DeviceGuid; 00068 GUID InterfaceGuid; 00069 } IP_INTERFACE_NAME_INFO, *PIP_INTERFACE_NAME_INFO; 00070 typedef struct _FIXED_INFO { 00071 char HostName[MAX_HOSTNAME_LEN+4] ; 00072 char DomainName[MAX_DOMAIN_NAME_LEN+4]; 00073 PIP_ADDR_STRING CurrentDnsServer; 00074 IP_ADDR_STRING DnsServerList; 00075 UINT NodeType; 00076 char ScopeId[MAX_SCOPE_ID_LEN+4]; 00077 UINT EnableRouting; 00078 UINT EnableProxy; 00079 UINT EnableDns; 00080 } FIXED_INFO, *PFIXED_INFO; 00081 #ifdef _WINSOCK2API_ 00082 typedef enum { 00083 IpPrefixOriginOther = 0, 00084 IpPrefixOriginManual, 00085 IpPrefixOriginWellKnown, 00086 IpPrefixOriginDhcp, 00087 IpPrefixOriginRouterAdvertisement, 00088 } IP_PREFIX_ORIGIN; 00089 typedef enum { 00090 IpSuffixOriginOther = 0, 00091 IpSuffixOriginManual, 00092 IpSuffixOriginWellKnown, 00093 IpSuffixOriginDhcp, 00094 IpSuffixOriginLinkLayerAddress, 00095 IpSuffixOriginRandom, 00096 } IP_SUFFIX_ORIGIN; 00097 typedef enum { 00098 IpDadStateInvalid = 0, 00099 IpDadStateTentative, 00100 IpDadStateDuplicate, 00101 IpDadStateDeprecated, 00102 IpDadStatePreferred, 00103 } IP_DAD_STATE; 00104 typedef struct _IP_ADAPTER_UNICAST_ADDRESS { 00105 union { 00106 ULONGLONG Alignment; 00107 struct { 00108 ULONG Length; 00109 DWORD Flags; 00110 }; 00111 }; 00112 struct _IP_ADAPTER_UNICAST_ADDRESS *Next; 00113 SOCKET_ADDRESS Address; 00114 IP_PREFIX_ORIGIN PrefixOrigin; 00115 IP_SUFFIX_ORIGIN SuffixOrigin; 00116 IP_DAD_STATE DadState; 00117 ULONG ValidLifetime; 00118 ULONG PreferredLifetime; 00119 ULONG LeaseLifetime; 00120 } IP_ADAPTER_UNICAST_ADDRESS, *PIP_ADAPTER_UNICAST_ADDRESS; 00121 typedef struct _IP_ADAPTER_ANYCAST_ADDRESS { 00122 union { 00123 ULONGLONG Alignment; 00124 struct { 00125 ULONG Length; 00126 DWORD Flags; 00127 }; 00128 }; 00129 struct _IP_ADAPTER_ANYCAST_ADDRESS *Next; 00130 SOCKET_ADDRESS Address; 00131 } IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS; 00132 typedef struct _IP_ADAPTER_MULTICAST_ADDRESS { 00133 union { 00134 ULONGLONG Alignment; 00135 struct { 00136 ULONG Length; 00137 DWORD Flags; 00138 }; 00139 }; 00140 struct _IP_ADAPTER_MULTICAST_ADDRESS *Next; 00141 SOCKET_ADDRESS Address; 00142 } IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS; 00143 typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS { 00144 union { 00145 ULONGLONG Alignment; 00146 struct { 00147 ULONG Length; 00148 DWORD Reserved; 00149 }; 00150 }; 00151 struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next; 00152 SOCKET_ADDRESS Address; 00153 } IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS; 00154 typedef struct _IP_ADAPTER_PREFIX { 00155 union { 00156 ULONGLONG Alignment; 00157 struct { 00158 ULONG Length; 00159 DWORD Flags; 00160 }; 00161 }; 00162 struct _IP_ADAPTER_PREFIX *Next; 00163 SOCKET_ADDRESS Address; 00164 ULONG PrefixLength; 00165 } IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX; 00166 typedef struct _IP_ADAPTER_ADDRESSES { 00167 union { 00168 ULONGLONG Alignment; 00169 struct { 00170 ULONG Length; 00171 DWORD IfIndex; 00172 }; 00173 }; 00174 struct _IP_ADAPTER_ADDRESSES *Next; 00175 PCHAR AdapterName; 00176 PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress; 00177 PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress; 00178 PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress; 00179 PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress; 00180 PWCHAR DnsSuffix; 00181 PWCHAR Description; 00182 PWCHAR FriendlyName; 00183 BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH]; 00184 DWORD PhysicalAddressLength; 00185 DWORD Flags; 00186 DWORD Mtu; 00187 DWORD IfType; 00188 IF_OPER_STATUS OperStatus; 00189 DWORD Ipv6IfIndex; 00190 DWORD ZoneIndices[16]; 00191 PIP_ADAPTER_PREFIX FirstPrefix; 00192 } IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES; 00193 #endif 00194 00195 #ifdef __cplusplus 00196 } 00197 #endif 00198 #endif /* _IPTYPES_H */ Generated on Fri May 25 2012 04:30:08 for ReactOS by
1.7.6.1
|