iphlpapi: Add a stub for CreateSortedAddressPairs()

Bruno Jesus 00cpxxx at gmail.com
Fri Jan 2 21:29:10 CST 2015


Fixes https://bugs.winehq.org/show_bug.cgi?id=36092
-------------- next part --------------
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec
index c51b58b..fcb6d72 100644
--- a/dlls/iphlpapi/iphlpapi.spec
+++ b/dlls/iphlpapi/iphlpapi.spec
@@ -46,7 +46,7 @@
 #@ stub CreatePersistentTcpPortReservation
 #@ stub CreatePersistentUdpPortReservation
 @ stdcall CreateProxyArpEntry( long long long )
-#@ stub CreateSortedAddressPairs
+@ stdcall CreateSortedAddressPairs( ptr long ptr long long ptr ptr )
 #@ stub CreateUnicastIpAddressEntry
 #@ stub DeleteAnycastIpAddressEntry
 @ stdcall DeleteIPAddress( long )
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index c06b69f..9b1a965 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -278,6 +278,23 @@ DWORD WINAPI CreateProxyArpEntry(DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex)
   return ERROR_NOT_SUPPORTED;
 }
 
+DWORD WINAPI CreateSortedAddressPairs(const PSOCKADDR_IN6 source, DWORD sourcecount,
+                                      const PSOCKADDR_IN6 destination, DWORD destinationcount,
+                                      DWORD sortoptions,
+                                      PSOCKADDR_IN6_PAIR *sortedaddr, DWORD *sortedcount)
+{
+  FIXME("(source %p, sourcecount %d, destination %p, destcount %d, sortoptions %x,"
+        " sortedaddr %p, sortedcount %p): stub\n", source, sourcecount, destination,
+        destinationcount, sortoptions, sortedaddr, sortedcount);
+
+  if (source || sourcecount || !destination || !sortedaddr || !sortedcount || destinationcount > 500)
+    return ERROR_INVALID_PARAMETER;
+
+  /* Returning not supported tells the client we don't have IPv6 support
+   * so applications can fallback to IPv4.
+   */
+  return ERROR_NOT_SUPPORTED;
+}
 
 /******************************************************************
  *    DeleteIPAddress (IPHLPAPI.@)
diff --git a/include/ws2ipdef.h b/include/ws2ipdef.h
index ea8db3d..ca47caa 100644
--- a/include/ws2ipdef.h
+++ b/include/ws2ipdef.h
@@ -129,6 +129,12 @@ typedef struct WS(sockaddr_in6)
    ULONG    sin6_scope_id;
 } SOCKADDR_IN6,*PSOCKADDR_IN6, *LPSOCKADDR_IN6;
 
+typedef struct WS(sockaddr_in6_pair)
+{
+    PSOCKADDR_IN6 SourceAddress;
+    PSOCKADDR_IN6 DestinationAddress;
+} SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR;
+
 /*
  * Multicast group information
  */


More information about the wine-patches mailing list