Alex Henrie : include: Add structures and constants needed for ParseNetworkString.

Alexandre Julliard julliard at winehq.org
Thu Sep 5 16:54:00 CDT 2019


Module: wine
Branch: master
Commit: c520ad0185a1069c0f2524fc2e546be5683b97d5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c520ad0185a1069c0f2524fc2e546be5683b97d5

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Wed Sep  4 23:14:12 2019 -0600

include: Add structures and constants needed for ParseNetworkString.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/iphlpapi.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 include/windns.h   |  1 +
 2 files changed, 48 insertions(+)

diff --git a/include/iphlpapi.h b/include/iphlpapi.h
index f52387a..c618e73 100644
--- a/include/iphlpapi.h
+++ b/include/iphlpapi.h
@@ -26,6 +26,26 @@ extern "C" {
 #include <ipexport.h>
 #include <iptypes.h>
 
+#define NET_STRING_IPV4_ADDRESS           0x00000001
+#define NET_STRING_IPV4_SERVICE           0x00000002
+#define NET_STRING_IPV4_NETWORK           0x00000004
+#define NET_STRING_IPV6_ADDRESS           0x00000008
+#define NET_STRING_IPV6_ADDRESS_NO_SCOPE  0x00000010
+#define NET_STRING_IPV6_SERVICE           0x00000020
+#define NET_STRING_IPV6_SERVICE_NO_SCOPE  0x00000040
+#define NET_STRING_IPV6_NETWORK           0x00000080
+#define NET_STRING_NAMED_ADDRESS          0x00000100
+#define NET_STRING_NAMED_SERVICE          0x00000200
+#define NET_STRING_IP_ADDRESS (NET_STRING_IPV4_ADDRESS|NET_STRING_IPV6_ADDRESS)
+#define NET_STRING_IP_ADDRESS_NO_SCOPE (NET_STRING_IPV4_ADDRESS|NET_STRING_IPV6_ADDRESS_NO_SCOPE)
+#define NET_STRING_IP_SERVICE (NET_STRING_IPV4_SERVICE|NET_STRING_IPV6_SERVICE)
+#define NET_STRING_IP_SERVICE_NO_SCOPE (NET_STRING_IPV4_SERVICE|NET_STRING_IPV6_SERVICE_NO_SCOPE)
+#define NET_STRING_IP_NETWORK (NET_STRING_IPV4_NETWORK|NET_STRING_IPV6_NETWORK)
+#define NET_STRING_ANY_ADDRESS (NET_STRING_NAMED_ADDRESS|NET_STRING_IP_ADDRESS)
+#define NET_STRING_ANY_ADDRESS_NO_SCOPE (NET_STRING_NAMED_ADDRESS|NET_STRING_IP_ADDRESS_NO_SCOPE)
+#define NET_STRING_ANY_SERVICE (NET_STRING_NAMED_SERVICE|NET_STRING_IP_SERVICE)
+#define NET_STRING_ANY_SERVICE_NO_SCOPE (NET_STRING_NAMED_SERVICE|NET_STRING_IP_SERVICE_NO_SCOPE)
+
 DWORD WINAPI GetExtendedTcpTable(PVOID pTcpTable, PDWORD pdwSize, BOOL bOrder,
  ULONG ulAf, TCP_TABLE_CLASS TableClass, ULONG Reserved);
 
@@ -162,6 +182,33 @@ DWORD WINAPI AllocateAndGetTcpExTableFromStack(VOID **ppTcpTable, BOOL bOrder, H
 DWORD WINAPI AllocateAndGetIpNetTableFromStack(PMIB_IPNETTABLE *ppIpNetTable, BOOL bOrder, HANDLE heap, DWORD flags);
 DWORD WINAPI AllocateAndGetIpForwardTableFromStack(PMIB_IPFORWARDTABLE *ppIpForwardTable, BOOL bOrder, HANDLE heap, DWORD flags);
 
+typedef enum NET_ADDRESS_FORMAT_ {
+    NET_ADDRESS_FORMAT_UNSPECIFIED,
+    NET_ADDRESS_DNS_NAME,
+    NET_ADDRESS_IPV4,
+    NET_ADDRESS_IPV6,
+} NET_ADDRESS_FORMAT;
+
+#ifdef __WINE_WINDNS_H
+
+typedef struct NET_ADDRESS_INFO_
+{
+    NET_ADDRESS_FORMAT Format;
+    union
+    {
+        struct
+        {
+            WCHAR Address[DNS_MAX_NAME_BUFFER_LENGTH];
+            WCHAR Port[6];
+        } NamedAddress;
+        SOCKADDR_IN Ipv4Address;
+        SOCKADDR_IN6 Ipv6Address;
+        SOCKADDR IpAddress;
+    } DUMMYUNIONNAME;
+} NET_ADDRESS_INFO, *PNET_ADDRESS_INFO;
+
+#endif /* __WINE_WINDNS_H */
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/windns.h b/include/windns.h
index d9a4b9a..9a31fac 100644
--- a/include/windns.h
+++ b/include/windns.h
@@ -177,6 +177,7 @@ typedef struct
 #define DNS_ADDRESS_STRING_LENGTH           IP6_ADDRESS_STRING_LENGTH
 #define IP4_ADDRESS_STRING_BUFFER_LENGTH    IP4_ADDRESS_STRING_LENGTH
 #define IP6_ADDRESS_STRING_BUFFER_LENGTH    IP6_ADDRESS_STRING_LENGTH
+#define DNS_MAX_NAME_BUFFER_LENGTH          256
 
 typedef struct _IP4_ARRAY
 {




More information about the wine-cvs mailing list