#include <catalog.h>
#include <handle.h>
-
/*
* @implemented
*/
return SOCKET_ERROR;
}
+ if(IS_INTRESOURCE(optval))
+ {
+ SetLastError(WSAEFAULT);
+ return SOCKET_ERROR;
+ }
+
if (!ReferenceProviderByHandle((HANDLE)s, &Provider))
{
WSASetLastError(WSAENOTSOCK);
IN USHORT hostshort,
OUT USHORT FAR* lpnetshort)
{
- UNIMPLEMENTED
+ PCATALOG_ENTRY provider;
+ if (!WSAINITIALIZED)
+ {
+ WSASetLastError(WSANOTINITIALISED);
+ return SOCKET_ERROR;
+ }
- WSASetLastError(WSASYSCALLFAILURE);
- return SOCKET_ERROR;
+ if (!ReferenceProviderByHandle((HANDLE)s, &provider))
+ {
+ WSASetLastError(WSAENOTSOCK);
+ return SOCKET_ERROR;
+ }
+
+ switch (provider->ProtocolInfo.iNetworkByteOrder)
+ {
+ case BIGENDIAN:
+ *lpnetshort = htons(hostshort);
+ break;
+ case LITTLEENDIAN:
+#ifdef LE
+ *lpnetshort = hostshort;
+#else
+ *lpnetshort = (((hostshort & 0xFF00) >> 8) | ((hostshort & 0x00FF) << 8));
+#endif
+ break;
+ }
+ return 0;
}
IN USHORT netshort,
OUT USHORT FAR* lphostshort)
{
- UNIMPLEMENTED
+ PCATALOG_ENTRY provider;
+ if (!WSAINITIALIZED)
+ {
+ WSASetLastError(WSANOTINITIALISED);
+ return SOCKET_ERROR;
+ }
- WSASetLastError(WSASYSCALLFAILURE);
- return SOCKET_ERROR;
+ if (!ReferenceProviderByHandle((HANDLE)s, &provider))
+ {
+ WSASetLastError(WSAENOTSOCK);
+ return SOCKET_ERROR;
+ }
+
+ switch (provider->ProtocolInfo.iNetworkByteOrder)
+ {
+ case BIGENDIAN:
+ *lphostshort = ntohs(netshort);
+ break;
+ case LITTLEENDIAN:
+#ifdef LE
+ *lphostshort = netshort;
+#else
+ *lphostshort = (((netshort & 0xFF00) >> 8) | ((netshort & 0x00FF) << 8));
+#endif
+ break;
+ }
+ return 0;
}
*/
INT
EXPORT
-WSCInstallProvider(IN CONST LPGUID lpProviderId,
- IN CONST LPWSTR lpszProviderDllPath,
+WSCInstallProvider(IN LPGUID lpProviderId,
+ IN CONST WCHAR* lpszProviderDllPath,
IN CONST LPWSAPROTOCOL_INFOW lpProtocolInfoList,
IN DWORD dwNumberOfEntries,
OUT LPINT lpErrno)
return FALSE;
}
+/*
+ * @unimplemented
+ */
+INT
+EXPORT
+GetAddrInfoW(IN PCWSTR pszNodeName,
+ IN PCWSTR pszServiceName,
+ IN const ADDRINFOW *ptHints,
+ OUT PADDRINFOW *pptResult)
+{
+ UNIMPLEMENTED
+
+ WSASetLastError(EAI_FAIL);
+ return EAI_FAIL;
+}
+
+
/* EOF */