Commits

Denis Bilenko committed b6b8607

add missing files from c-ares required to build on Windows

Comments (0)

Files changed (2)

c-ares/ares_iphlpapi.h

+#ifndef HEADER_CARES_IPHLPAPI_H
+#define HEADER_CARES_IPHLPAPI_H
+
+/* Copyright 1998 by the Massachusetts Institute of Technology.
+ * Copyright (C) 2004 - 2011 by Daniel Stenberg et al
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting
+ * documentation, and that the name of M.I.T. not be used in
+ * advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ */
+
+#if defined(USE_WINSOCK)
+
+#ifndef INET_ADDRSTRLEN
+#define INET_ADDRSTRLEN  22
+#endif
+
+#ifndef INET6_ADDRSTRLEN
+#define INET6_ADDRSTRLEN 65
+#endif
+
+/* ---------------------------------- */
+#if !defined(_WS2DEF_)           && \
+    !defined(__CSADDR_DEFINED__) && \
+    !defined(__CSADDR_T_DEFINED)
+/* ---------------------------------- */
+
+typedef struct _SOCKET_ADDRESS {
+  LPSOCKADDR lpSockaddr;
+  INT iSockaddrLength;
+} SOCKET_ADDRESS, *PSOCKET_ADDRESS;
+
+typedef struct _CSADDR_INFO {
+  SOCKET_ADDRESS LocalAddr;
+  SOCKET_ADDRESS RemoteAddr;
+  INT iSocketType;
+  INT iProtocol;
+} CSADDR_INFO, *PCSADDR_INFO;
+
+/* --------------------------------- */
+#endif /* ! _WS2DEF_           && \  */
+/*        ! __CSADDR_DEFINED__ && \  */
+/*        ! __CSADDR_T_DEFINED       */
+/* --------------------------------- */
+
+/* ------------------------------- */
+#if !defined(IP_ADAPTER_DDNS_ENABLED)
+/* ------------------------------- */
+
+#define IP_ADAPTER_ADDRESS_DNS_ELIGIBLE  0x0001
+#define IP_ADAPTER_ADDRESS_TRANSIENT     0x0002
+
+#define IP_ADAPTER_DDNS_ENABLED                0x0001
+#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX     0x0002
+#define IP_ADAPTER_DHCP_ENABLED                0x0004
+#define IP_ADAPTER_RECEIVE_ONLY                0x0008
+#define IP_ADAPTER_NO_MULTICAST                0x0010
+#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG  0x0020
+
+#define GAA_FLAG_SKIP_UNICAST        0x0001
+#define GAA_FLAG_SKIP_ANYCAST        0x0002
+#define GAA_FLAG_SKIP_MULTICAST      0x0004
+#define GAA_FLAG_SKIP_DNS_SERVER     0x0008
+#define GAA_FLAG_INCLUDE_PREFIX      0x0010
+#define GAA_FLAG_SKIP_FRIENDLY_NAME  0x0020
+
+typedef enum {
+  IpPrefixOriginOther = 0,
+  IpPrefixOriginManual,
+  IpPrefixOriginWellKnown,
+  IpPrefixOriginDhcp,
+  IpPrefixOriginRouterAdvertisement
+} IP_PREFIX_ORIGIN;
+
+typedef enum {
+  IpSuffixOriginOther = 0,
+  IpSuffixOriginManual,
+  IpSuffixOriginWellKnown,
+  IpSuffixOriginDhcp,
+  IpSuffixOriginLinkLayerAddress,
+  IpSuffixOriginRandom
+} IP_SUFFIX_ORIGIN;
+
+typedef enum {
+  IpDadStateInvalid = 0,
+  IpDadStateTentative,
+  IpDadStateDuplicate,
+  IpDadStateDeprecated,
+  IpDadStatePreferred
+} IP_DAD_STATE;
+
+typedef enum {
+  IfOperStatusUp = 1,
+  IfOperStatusDown,
+  IfOperStatusTesting,
+  IfOperStatusUnknown,
+  IfOperStatusDormant,
+  IfOperStatusNotPresent,
+  IfOperStatusLowerLayerDown
+} IF_OPER_STATUS;
+
+typedef enum {
+  ScopeLevelInterface    = 0x0001,
+  ScopeLevelLink         = 0x0002,
+  ScopeLevelSubnet       = 0x0003,
+  ScopeLevelAdmin        = 0x0004,
+  ScopeLevelSite         = 0x0005,
+  ScopeLevelOrganization = 0x0008,
+  ScopeLevelGlobal       = 0x000E
+} SCOPE_LEVEL;
+
+typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
+  union {
+    ULONGLONG Alignment;
+    struct {
+      ULONG Length;
+      DWORD Flags;
+    } s;
+  } u;
+  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;
+    } s;
+  } u;
+  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;
+    } s;
+  } u;
+  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;
+    } s;
+  } u;
+  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;
+    } s;
+  } u;
+  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;
+    } s;
+  } u;
+  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 /* ! IP_ADAPTER_DDNS_ENABLED */
+/* -------------------------------- */
+
+#endif /* USE_WINSOCK */
+
+#endif /* HEADER_CARES_IPHLPAPI_H */