WSALookupServiceBegin stubs.
Rein Klazes
rklazes at xs4all.nl
Sun Apr 4 13:13:15 CDT 2004
Hi,
Crash reported in the news group.
Changelog:
dlls/winsock : ws2_32.spec, socket.c
include : wtypes.h, winsock2.h
Stub implementation for WSALookupServiceBeginA/W
Rein.
--
Rein Klazes
rklazes at xs4all.nl
-------------- next part --------------
--- wine/dlls/winsock/ws2_32.spec 2004-01-28 21:07:24.000000000 +0100
+++ mywine/dlls/winsock/ws2_32.spec 2004-04-03 13:19:24.000000000 +0200
@@ -60,8 +60,8 @@
56 stdcall getservbyport(long str) WS_getservbyport
57 stdcall gethostname(ptr long) WS_gethostname
58 stdcall WSAJoinLeaf(long ptr long ptr ptr ptr ptr long)
-59 stub WSALookupServiceBeginA
-60 stub WSALookupServiceBeginW
+59 stdcall WSALookupServiceBeginA(ptr long ptr)
+60 stdcall WSALookupServiceBeginW(ptr long ptr)
61 stub WSALookupServiceEnd
62 stub WSALookupServiceNextA
63 stub WSALookupServiceNextW
--- wine/dlls/winsock/socket.c 2004-03-01 22:32:02.000000000 +0100
+++ mywine/dlls/winsock/socket.c 2004-04-03 13:33:03.000000000 +0200
@@ -3470,3 +3470,29 @@
FIXME("(%s, %x, %p, %p, %p) Stub!\n", AddressString, AddressFamily, lpProtocolInfo, lpAddress, lpAddressLength);
return 0;
}
+
+/***********************************************************************
+ * WSALookupServiceBeginA (WS2_32.59)
+ */
+INT WINAPI WSALookupServiceBeginA( LPWSAQUERYSETA lpqsRestrictions,
+ DWORD dwControlFlags,
+ LPHANDLE lphLookup)
+{
+ FIXME("(%p 0x%08lx %p) Stub!\n", lpqsRestrictions, dwControlFlags,
+ lphLookup);
+ WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
+ return SOCKET_ERROR;
+}
+
+/***********************************************************************
+ * WSALookupServiceBeginW (WS2_32.60)
+ */
+INT WINAPI WSALookupServiceBeginW( LPWSAQUERYSETW lpqsRestrictions,
+ DWORD dwControlFlags,
+ LPHANDLE lphLookup)
+{
+ FIXME("(%p 0x%08lx %p) Stub!\n", lpqsRestrictions, dwControlFlags,
+ lphLookup);
+ WSASetLastError(WSA_NOT_ENOUGH_MEMORY);
+ return SOCKET_ERROR;
+}
--- wine/include/wtypes.h 2004-01-23 23:51:42.000000000 +0100
+++ mywine/include/wtypes.h 2004-04-03 16:26:05.000000000 +0200
@@ -691,10 +691,15 @@
BYTE *pData;
} BSTRBLOB, *LPBSTRBLOB;
+#ifndef _tagBLOB_DEFINED
+#define _tagBLOB_DEFINED
+#define _BLOB_DEFINED
+#define _LPBLOB_DEFINED
typedef struct tagBLOB {
ULONG cbSize;
BYTE *pBlobData;
} BLOB, *LPBLOB;
+#endif
typedef struct tagCLIPDATA {
ULONG cbSize;
--- wine/include/winsock2.h 2004-03-02 21:53:31.000000000 +0100
+++ mywine/include/winsock2.h 2004-04-03 16:16:38.000000000 +0200
@@ -317,7 +317,7 @@
unsigned int TokenBucketSize;
unsigned int PeakBandwidth;
unsigned int Latency;
- unsigned int DelayVariation;
+ unsigned int DelayVariation;
SERVICETYPE ServiceType;
unsigned int MaxSduSize;
unsigned int MinimumPolicedSize;
@@ -349,6 +349,95 @@
DWORD dwFlags
);
+#ifndef _tagBLOB_DEFINED
+#define _tagBLOB_DEFINED
+#define _BLOB_DEFINED
+#define _LPBLOB_DEFINED
+typedef struct _BLOB {
+ ULONG cbSize ;
+ /* [size_is(cbSize)] */BYTE *pBlobData;
+} BLOB, *LPBLOB ;
+#endif
+
+#ifndef __CSADDR_DEFINED__
+#define __CSADDR_DEFINED__
+
+typedef struct _SOCKET_ADDRESS {
+ LPSOCKADDR lpSockaddr;
+ INT iSockaddrLength;
+} SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;
+
+typedef struct _CSADDR_INFO {
+ SOCKET_ADDRESS LocalAddr;
+ SOCKET_ADDRESS RemoteAddr;
+ INT iSocketType;
+ INT iProtocol;
+} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;
+#endif
+
+/*socket address list */
+typedef struct _SOCKET_ADDRESS_LIST {
+ INT iAddressCount;
+ SOCKET_ADDRESS Address[1];
+} SOCKET_ADDRESS_LIST, *LPSOCKET_ADDRESS_LIST;
+
+/* addressfamily protocol pairs */
+typedef struct _AFPROTOCOLS {
+ INT iAddressFamily;
+ INT iProtocol;
+} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;
+
+/* client query definitions */
+typedef enum _WSAEcomparator {
+ COMP_EQUAL = 0,
+ COMP_NOTLESS
+} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;
+
+typedef struct _WSAVersion {
+ DWORD dwVersion;
+ WSAECOMPARATOR ecHow;
+} WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
+
+
+typedef struct _WSAQuerySetA {
+ DWORD dwSize;
+ LPSTR lpszServiceInstanceName;
+ LPGUID lpServiceClassId;
+ LPWSAVERSION lpVersion;
+ LPSTR lpszComment;
+ DWORD dwNameSpace;
+ LPGUID lpNSProviderId;
+ LPSTR lpszContext;
+ DWORD dwNumberOfProtocols;
+ LPAFPROTOCOLS lpafpProtocols;
+ LPSTR lpszQueryString;
+ DWORD dwNumberOfCsAddrs;
+ LPCSADDR_INFO lpcsaBuffer;
+ DWORD dwOutputFlags;
+ LPBLOB lpBlob;
+} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
+
+typedef struct _WSAQuerySetW {
+ DWORD dwSize;
+ LPWSTR lpszServiceInstanceName;
+ LPGUID lpServiceClassId;
+ LPWSAVERSION lpVersion;
+ LPWSTR lpszComment;
+ DWORD dwNameSpace;
+ LPGUID lpNSProviderId;
+ LPWSTR lpszContext;
+ DWORD dwNumberOfProtocols;
+ LPAFPROTOCOLS lpafpProtocols;
+ LPWSTR lpszQueryString;
+ DWORD dwNumberOfCsAddrs;
+ LPCSADDR_INFO lpcsaBuffer;
+ DWORD dwOutputFlags;
+ LPBLOB lpBlob;
+} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
+
+DECL_WINELIB_TYPE_AW(WSAQUERYSET)
+DECL_WINELIB_TYPE_AW(PWSAQUERYSET)
+DECL_WINELIB_TYPE_AW(LPWSAQUERYSET)
/*
@@ -447,8 +536,8 @@
#define WSAInstallServiceClass WINELIB_NAME_AW(WSAInstallServiceClass)
int WINAPI WSAIoctl(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
SOCKET WINAPI WSAJoinLeaf(SOCKET,const struct WS(sockaddr)*,int,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
-/* WSALookupServiceBeginA */
-/* WSALookupServiceBeginW */
+INT WINAPI WSALookupServiceBeginA( LPWSAQUERYSETA, DWORD, LPHANDLE);
+INT WINAPI WSALookupServiceBeginW( LPWSAQUERYSETW, DWORD, LPHANDLE);
/* WSALookupServiceEnd */
/* WSALookupServiceNextA */
/* WSALookupServiceNextW */
More information about the wine-patches
mailing list