Sync ws2_32.spec with XP

Andreas Mohr andi at rhlx01.fht-esslingen.de
Fri Jul 29 12:00:43 CDT 2005


Hello all,

XP has a slightly updated export table.

I don't remember whether such ordinal mixup meant that we would switch
to non-fixed-ordinal exports (@); if I should do that, then ask me to do it.
However since most ordinals stay the same, I wouldn't know to decide
which exports to switch to non-fixed ordinals...

Andreas Mohr
-------------- next part --------------
Index: dlls/winsock/ws2_32.spec
===================================================================
RCS file: /home/wine/wine/dlls/winsock/ws2_32.spec,v
retrieving revision 1.41
diff -u -r1.41 ws2_32.spec
--- dlls/winsock/ws2_32.spec	10 Jan 2005 14:34:15 -0000	1.41
+++ dlls/winsock/ws2_32.spec	29 Jul 2005 16:59:22 -0000
@@ -1,6 +1,9 @@
 #  Winsock 2 DLL ~ ws2_32.dll
 #
-#  Export table information obtained from Windows 2000 ws2_32.dll
+#  Export table information obtained from Windows XP ws2_32.dll,
+#  which compared to the Win2000 version inserted an export "WSANSPIoctl"
+#  which thus shifted all following ordinals by 1.
+#  XP also added WSCUpdateProvider, freeaddrinfo, getaddrinfo, getnameinfo
 
 1   stdcall  accept(long ptr ptr) WS_accept
 2   stdcall  bind(long ptr long) WS_bind
@@ -65,36 +68,41 @@
 61  stdcall  WSALookupServiceEnd(long)
 62  stdcall  WSALookupServiceNextA(long long ptr ptr)
 63  stdcall  WSALookupServiceNextW(long long ptr ptr)
-64  stdcall  WSANtohl(long long ptr)
-65  stdcall  WSANtohs(long long ptr)
-66  stdcall  WSAProviderConfigChange(ptr ptr ptr)
-67  stdcall  WSARecv(long ptr long ptr ptr ptr ptr)
-68  stdcall  WSARecvDisconnect(long ptr)
-69  stdcall  WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr )
-70  stdcall  WSARemoveServiceClass(ptr)
-71  stdcall  WSAResetEvent(long) kernel32.ResetEvent
-72  stdcall  WSASend(long ptr long ptr long ptr ptr)
-73  stdcall  WSASendDisconnect(long ptr)
-74  stdcall  WSASendTo(long ptr long ptr long ptr long ptr ptr)
-75  stdcall  WSASetEvent(long) kernel32.SetEvent
-76  stdcall  WSASetServiceA(ptr long long)
-77  stdcall  WSASetServiceW(ptr long long)
-78  stdcall  WSASocketA(long long long ptr long long)
-79  stdcall  WSASocketW(long long long ptr long long)
-80  stdcall  WSAStringToAddressA(str long ptr ptr ptr)
-81  stdcall  WSAStringToAddressW(wstr long ptr ptr ptr)
-82  stdcall  WSAWaitForMultipleEvents(long ptr long long long) kernel32.WaitForMultipleObjectsEx
-83  stdcall  WSCDeinstallProvider(ptr ptr)
-84  stdcall  WSCEnableNSProvider(ptr long)
-85  stdcall  WSCEnumProtocols(ptr ptr ptr ptr)
-86  stdcall  WSCGetProviderPath(ptr ptr ptr ptr)
-87  stdcall  WSCInstallNameSpace(wstr wstr long long ptr)
-88  stdcall  WSCInstallProvider(ptr wstr ptr long ptr)
-89  stdcall  WSCUnInstallNameSpace(ptr)
-90  stub     WSCWriteNameSpaceOrder
-91  stdcall  WSCWriteProviderOrder(ptr long)
+64  stub     WSANSPIoctl # extra export in XP
+65  stdcall  WSANtohl(long long ptr)
+66  stdcall  WSANtohs(long long ptr)
+67  stdcall  WSAProviderConfigChange(ptr ptr ptr)
+68  stdcall  WSARecv(long ptr long ptr ptr ptr ptr)
+69  stdcall  WSARecvDisconnect(long ptr)
+70  stdcall  WSARecvFrom(long ptr long ptr ptr ptr ptr ptr ptr ) 
+71  stdcall  WSARemoveServiceClass(ptr)
+72  stdcall  WSAResetEvent(long) kernel32.ResetEvent
+73  stdcall  WSASend(long ptr long ptr long ptr ptr)
+74  stdcall  WSASendDisconnect(long ptr)
+75  stdcall  WSASendTo(long ptr long ptr long ptr long ptr ptr)
+76  stdcall  WSASetEvent(long) kernel32.SetEvent
+77  stdcall  WSASetServiceA(ptr long long)
+78  stdcall  WSASetServiceW(ptr long long)
+79  stdcall  WSASocketA(long long long ptr long long)
+80  stdcall  WSASocketW(long long long ptr long long)
+81  stdcall  WSAStringToAddressA(str long ptr ptr ptr)
+82  stdcall  WSAStringToAddressW(wstr long ptr ptr ptr)
+83  stdcall  WSAWaitForMultipleEvents(long ptr long long long) kernel32.WaitForMultipleObjectsEx
+84  stdcall  WSCDeinstallProvider(ptr ptr)
+85  stdcall  WSCEnableNSProvider(ptr long)
+86  stdcall  WSCEnumProtocols(ptr ptr ptr ptr)
+87  stdcall  WSCGetProviderPath(ptr ptr ptr ptr)
+88  stdcall  WSCInstallNameSpace(wstr wstr long long ptr)
+89  stdcall  WSCInstallProvider(ptr wstr ptr long ptr)
+90  stdcall  WSCUnInstallNameSpace(ptr)
+91  stub     WSCUpdateProvider
+92  stub     WSCWriteNameSpaceOrder
+93  stdcall  WSCWriteProviderOrder(ptr long)
+94  stub     freeaddrinfo
+95  stub     getaddrinfo
+96  stub     getnameinfo
 
-#  92 ~ 100   UNKNOWN
+#  97 ~ 100   UNKNOWN
 
 101 stdcall WSAAsyncSelect(long long long long)
 102 stdcall WSAAsyncGetHostByAddr(long long ptr long long ptr long)


More information about the wine-patches mailing list