ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

iptypes.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.