| /* |
| * WSOCK32 specific functions |
| * |
| * Copyright (C) 2002 Andrew Hughes |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| */ |
| |
| #include "config.h" |
| |
| #include "winbase.h" |
| #include "winerror.h" |
| #include "winsock2.h" |
| #include "wtypes.h" |
| #include "nspapi.h" |
| |
| #include "wine/debug.h" |
| |
| WINE_DEFAULT_DEBUG_CHANNEL(winsock); |
| |
| /****************************************************************************** |
| * GetTypeByNameA [WSOCK32.1113] |
| * |
| * Retrieve a service type GUID for a network service specified by name. |
| * |
| * PARAMETERS |
| * lpServiceName [I] NUL-terminated ASCII string that uniquely represents the name of the service |
| * lpServiceType [O] Destination for the service type GUID |
| * |
| * RETURNS |
| * Success: 0. lpServiceType contains the requested GUID |
| * Failure: SOCKET_ERROR. GetLastError() can return ERROR_SERVICE_DOES_NOT_EXIST |
| * |
| * NOTES |
| * Obsolete Microsoft-specific extension to Winsock 1.1. |
| * Protocol-independent name resolution provides equivalent functionality in Winsock 2. |
| * |
| * BUGS |
| * Unimplemented |
| */ |
| INT WINAPI GetTypeByNameA(LPSTR lpServiceName, LPGUID lpServiceType) |
| { |
| /* tell the user they've got a substandard implementation */ |
| FIXME("wsock32: GetTypeByNameA(%p, %p): stub/n", lpServiceName, lpServiceType); |
| |
| /* some programs may be able to compensate if they know what happened */ |
| SetLastError(ERROR_CALL_NOT_IMPLEMENTED); |
| return SOCKET_ERROR; /* error value */ |
| } |
| |
| |
| /****************************************************************************** |
| * GetTypeByNameW [WSOCK32.1114] |
| * |
| * See GetTypeByNameA. |
| */ |
| INT WINAPI GetTypeByNameW(LPWSTR lpServiceName, LPGUID lpServiceType) |
| { |
| /* tell the user they've got a substandard implementation */ |
| FIXME("wsock32: GetTypeByNameW(%p, %p): stub/n", lpServiceName, lpServiceType); |
| |
| /* some programs may be able to compensate if they know what happened */ |
| SetLastError(ERROR_CALL_NOT_IMPLEMENTED); |
| return SOCKET_ERROR; /* error value */ |
| } |
| |
| /****************************************************************************** |
| * SetServiceA [WSOCK32.1117] |
| * |
| * Register or unregister a network service with one or more namespaces. |
| * |
| * PARAMETERS |
| * dwNameSpace [I] Name space or set of name spaces within which the function will operate |
| * dwOperation [I] Operation to perform |
| * dwFlags [I] Flags to modify the function's operation |
| * lpServiceInfo [I] Pointer to a ASCII SERVICE_INFO structure |
| * lpServiceAsyncInfo [I] Reserved for future use. Must be NULL. |
| * lpdwStatusFlags [O] Destination for function status information |
| * |
| * RETURNS |
| * Success: 0. |
| * Failure: SOCKET_ERROR. GetLastError() can return ERROR_ALREADY_REGISTERED |
| * |
| * NOTES |
| * Obsolete Microsoft-specific extension to Winsock 1.1, |
| * Protocol-independent name resolution provides equivalent functionality in Winsock 2. |
| * |
| * BUGS |
| * Unimplemented. |
| */ |
| INT WINAPI SetServiceA(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOA lpServiceInfo, |
| LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags) |
| { |
| /* tell the user they've got a substandard implementation */ |
| FIXME("wsock32: SetServiceA(%lu, %lu, %lu, %p, %p, %p): stub/n", dwNameSpace, dwOperation, dwFlags, |
| lpServiceInfo, lpServiceAsyncInfo, lpdwStatusFlags); |
| |
| /* some programs may be able to compensate if they know what happened */ |
| SetLastError(ERROR_CALL_NOT_IMPLEMENTED); |
| return SOCKET_ERROR; /* error value */ |
| } |
| |
| /****************************************************************************** |
| * SetServiceW [WSOCK32.1118] |
| * |
| * See SetServiceA. |
| */ |
| INT WINAPI SetServiceW(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOW lpServiceInfo, |
| LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags) |
| { |
| /* tell the user they've got a substandard implementation */ |
| FIXME("wsock32: SetServiceW(%lu, %lu, %lu, %p, %p, %p): stub/n", dwNameSpace, dwOperation, dwFlags, |
| lpServiceInfo, lpServiceAsyncInfo, lpdwStatusFlags); |
| |
| /* some programs may be able to compensate if they know what happened */ |
| SetLastError(ERROR_CALL_NOT_IMPLEMENTED); |
| return SOCKET_ERROR; /* error value */ |
| } |