[1/3] include: Add some types and constants used in the IP helper API.
Hans Leidekker
hans at codeweavers.com
Wed Apr 29 04:40:11 CDT 2009
diff --git a/include/ipifcons.h b/include/ipifcons.h
index b249b24..fe99b2f 100644
--- a/include/ipifcons.h
+++ b/include/ipifcons.h
@@ -18,6 +18,35 @@
#ifndef WINE_IPIFCONS_H__
#define WINE_IPIFCONS_H__
+#define IF_TYPE_OTHER 1
+#define IF_TYPE_REGULAR_1822 2
+#define IF_TYPE_HDH_1822 3
+#define IF_TYPE_DDN_X25 4
+#define IF_TYPE_RFC877_X25 5
+#define IF_TYPE_ETHERNET_CSMACD 6
+#define IF_TYPE_IS088023_CSMACD 7
+#define IF_TYPE_ISO88024_TOKENBUS 8
+#define IF_TYPE_ISO88025_TOKENRING 9
+#define IF_TYPE_ISO88026_MAN 10
+#define IF_TYPE_STARLAN 11
+#define IF_TYPE_PROTEON_10MBIT 12
+#define IF_TYPE_PROTEON_80MBIT 13
+#define IF_TYPE_HYPERCHANNEL 14
+#define IF_TYPE_FDDI 15
+#define IF_TYPE_LAP_B 16
+#define IF_TYPE_SDLC 17
+#define IF_TYPE_DS1 18
+#define IF_TYPE_E1 19
+#define IF_TYPE_BASIC_ISDN 20
+#define IF_TYPE_PRIMARY_ISDN 21
+#define IF_TYPE_PROP_POINT2POINT_SERIAL 22
+#define IF_TYPE_PPP 23
+#define IF_TYPE_SOFTWARE_LOOPBACK 24
+#define IF_TYPE_EON 25
+#define IF_TYPE_ETHERNET_3MBIT 26
+#define IF_TYPE_NSIP 27
+#define IF_TYPE_SLIP 28
+
#define MIB_IF_TYPE_OTHER 1
#define MIB_IF_TYPE_ETHERNET 6
#define MIB_IF_TYPE_TOKENRING 9
diff --git a/include/iptypes.h b/include/iptypes.h
index c0b8115..5601dbd 100644
--- a/include/iptypes.h
+++ b/include/iptypes.h
@@ -84,4 +84,139 @@ typedef struct {
UINT EnableDns;
} FIXED_INFO, *PFIXED_INFO;
+typedef enum {
+ IpPrefixOriginOther = 0,
+ IpPrefixOriginManual,
+ IpPrefixOriginWellKnown,
+ IpPrefixOriginDhcp,
+ IpPrefixOriginRouterAdvertisement,
+ IpPrefixOriginUnchanged = 16
+} IP_PREFIX_ORIGIN;
+
+typedef enum {
+ IpSuffixOriginOther = 0,
+ IpSuffixOriginManual,
+ IpSuffixOriginWellKnown,
+ IpSuffixOriginDhcp,
+ IpSuffixOriginLinkLayerAddress,
+ IpSuffixOriginRandom,
+ IpSuffixOriginUnchanged = 16
+} IP_SUFFIX_ORIGIN;
+
+typedef enum {
+ IfOperStatusUp = 1,
+ IfOperStatusDown,
+ IfOperStatusTesting,
+ IfOperStatusUnknown,
+ IfOperStatusDormant,
+ IfOperStatusNotPresent,
+ IfOperStatusLowerLayerDown
+} IF_OPER_STATUS;
+
+typedef enum {
+ IpDadStateInvalid = 0,
+ IpDadStateTentative,
+ IpDadStateDuplicate,
+ IpDadStateDeprecated,
+ IpDadStatePreferred
+} IP_DAD_STATE;
+
+#ifdef _WINSOCK2API_
+
+typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
+ union {
+ struct {
+ ULONG Length;
+ DWORD Flags;
+ };
+ };
+ struct _IP_ADAPTER_UNICAST_ADDRESS *Next;
+ SOCKET_ADDRESS Address;
+ IP_PREFIX_ORIGIN PrefixOrigin;
+ IP_SUFFIX_ORIGIN SuffixOrigin;
+ IP_DAD_STATE DadState;
+ ULONG ValidLifetime;
+ ULONG PreferredLifetime;
+ ULONG LeaseLifetime;
+} IP_ADAPTER_UNICAST_ADDRESS, *PIP_ADAPTER_UNICAST_ADDRESS;
+
+typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
+ union {
+ ULONGLONG Alignment;
+ struct {
+ ULONG Length;
+ DWORD Flags;
+ };
+ };
+ struct _IP_ADAPTER_ANYCAST_ADDRESS *Next;
+ SOCKET_ADDRESS Address;
+} IP_ADAPTER_ANYCAST_ADDRESS, *PIP_ADAPTER_ANYCAST_ADDRESS;
+
+typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
+ union {
+ ULONGLONG Alignment;
+ struct {
+ ULONG Length;
+ DWORD Flags;
+ };
+ };
+ struct _IP_ADAPTER_MULTICAST_ADDRESS *Next;
+ SOCKET_ADDRESS Address;
+} IP_ADAPTER_MULTICAST_ADDRESS, *PIP_ADAPTER_MULTICAST_ADDRESS;
+
+typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
+ union {
+ ULONGLONG Alignment;
+ struct {
+ ULONG Length;
+ DWORD Reserved;
+ };
+ };
+ struct _IP_ADAPTER_DNS_SERVER_ADDRESS *Next;
+ SOCKET_ADDRESS Address;
+} IP_ADAPTER_DNS_SERVER_ADDRESS, *PIP_ADAPTER_DNS_SERVER_ADDRESS;
+
+typedef struct _IP_ADAPTER_PREFIX {
+ union {
+ ULONGLONG Alignment;
+ struct {
+ ULONG Length;
+ DWORD Flags;
+ };
+ };
+ struct _IP_ADAPTER_PREFIX *Next;
+ SOCKET_ADDRESS Address;
+ ULONG PrefixLength;
+} IP_ADAPTER_PREFIX, *PIP_ADAPTER_PREFIX;
+
+typedef struct _IP_ADAPTER_ADDRESSES {
+ union {
+ ULONGLONG Alignment;
+ struct {
+ ULONG Length;
+ DWORD IfIndex;
+ };
+ };
+ struct _IP_ADAPTER_ADDRESSES *Next;
+ PCHAR AdapterName;
+ PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
+ PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
+ PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
+ PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
+ PWCHAR DnsSuffix;
+ PWCHAR Description;
+ PWCHAR FriendlyName;
+ BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
+ DWORD PhysicalAddressLength;
+ DWORD Flags;
+ DWORD Mtu;
+ DWORD IfType;
+ IF_OPER_STATUS OperStatus;
+ DWORD Ipv6IfIndex;
+ DWORD ZoneIndices[16];
+ PIP_ADAPTER_PREFIX FirstPrefix;
+} IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;
+
+#endif /* _WINSOCK2API_ */
+
#endif /* WINE_IPTYPES_H_*/
More information about the wine-patches
mailing list