Provide stub implementations of GetTypeByNameA and SetServiceA.

diff --git a/include/nspapi.h b/include/nspapi.h
index 92e81a1..912a151 100644
--- a/include/nspapi.h
+++ b/include/nspapi.h
@@ -21,8 +21,6 @@
 #ifndef _WINE_NSPAPI_
 #define _WINE_NSPAPI_
 
-#include "windef.h"
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* defined(__cplusplus) */
@@ -57,7 +55,7 @@
          INT     iProtocol;
          DWORD   dwMessageSize;
          LPSTR   lpProtocol;
-} PROTOCOL_INFOA;
+} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;
 
 typedef  struct _PROTOCOL_INFOW
 {
@@ -69,14 +67,120 @@
          INT     iProtocol;
          DWORD   dwMessageSize;
          LPWSTR  lpProtocol;
-} PROTOCOL_INFOW;
+} PROTOCOL_INFOW, *PPROTOCOL_INFOW, *LPPROTOCOL_INFOW;
 
+DECL_WINELIB_TYPE_AW(PROTOCOL_INFO)
+DECL_WINELIB_TYPE_AW(PPROTOCOL_INFO)
+DECL_WINELIB_TYPE_AW(LPPROTOCOL_INFO)
+
+typedef struct _SERVICE_ADDRESS
+{
+        DWORD   dwAddressType;
+        DWORD   dwAddressFlags;
+        DWORD   dwAddressLength;
+        DWORD   dwPrincipalLength;
+        BYTE*   lpAddress;
+        BYTE*   lpPrincipal;
+} SERVICE_ADDRESS, *PSERVICE_ADDRESS, *LPSERVICE_ADDRESS;
+
+typedef struct _SERVICE_ADDRESSES
+{
+        DWORD           dwAddressCount;
+        SERVICE_ADDRESS Addresses[1];
+} SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
+
+typedef struct _SERVICE_INFOA
+{
+        LPGUID              lpServiceType;
+        LPSTR               lpServiceName;
+        LPSTR               lpComment;
+        LPSTR               lpLocale;
+        DWORD               dwDisplayHint;
+        DWORD               dwVersion;
+        DWORD               dwTime;
+        LPSTR               lpMachineName;
+        LPSERVICE_ADDRESSES lpServiceAddress;
+        BLOB                ServiceSpecificInfo;
+} SERVICE_INFOA, *PSERVICE_INFOA, *LPSERVICE_INFOA;
+
+typedef struct _SERVICE_INFOW
+{
+        LPGUID              lpServiceType;
+        LPWSTR              lpServiceName;
+        LPWSTR              lpComment;
+        LPWSTR              lpLocale;
+        DWORD               dwDisplayHint;
+        DWORD               dwVersion;
+        DWORD               dwTime;
+        LPSTR               lpMachineName;
+        LPSERVICE_ADDRESSES lpServiceAddress;
+        BLOB                ServiceSpecificInfo; /* May point to SERVICE_TYPE_INFO_ABS */
+} SERVICE_INFOW, *PSERVICE_INFOW, *LPSERVICE_INFOW;
+
+DECL_WINELIB_TYPE_AW(SERVICE_INFO)
+DECL_WINELIB_TYPE_AW(PSERVICE_INFO)
+DECL_WINELIB_TYPE_AW(LPSERVICE_INFO)
+
+typedef struct _SERVICE_TYPE_VALUE_ABSA
+{
+        DWORD   dwNameSpace; /* Name space or set of name spaces */
+        DWORD   dwValueType; /* Type of the value data */
+        DWORD   dwValueSize; /* Size of the value data */
+        LPSTR   lpValueName; /* Name of the value */
+        PVOID   lpValue;     /* Pointer to the value data */
+} SERVICE_TYPE_VALUE_ABSA, *PSERVICE_TYPE_VALUE_ABSA, *LPSERVICE_TYPE_VALUE_ABSA;
+
+typedef struct _SERVICE_TYPE_VALUE_ABSW
+{
+        DWORD   dwNameSpace; /* Name space or set of name spaces */
+        DWORD   dwValueType; /* Type of the value data */
+        DWORD   dwValueSize; /* Size of the value data */
+        LPWSTR  lpValueName; /* Name of the value */
+        PVOID   lpValue;     /* Pointer to the value data */
+} SERVICE_TYPE_VALUE_ABSW, *PSERVICE_TYPE_VALUE_ABSW, *LPSERVICE_TYPE_VALUE_ABSW;
+
+DECL_WINELIB_TYPE_AW(SERVICE_TYPE_VALUE_ABS)
+DECL_WINELIB_TYPE_AW(PSERVICE_TYPE_VALUE_ABS)
+DECL_WINELIB_TYPE_AW(LPSERVICE_TYPE_VALUE_ABS)
+
+typedef struct _SERVICE_TYPE_INFO_ABSA
+{
+        LPSTR                   lpTypeName;     /* Name of the network service type */
+        DWORD                   dwValueCount;   /* Number of SERVICE_TYPE_VALUE_ABS structures */
+        SERVICE_TYPE_VALUE_ABSA Values[1];      /* Array of SERVICE_TYPE_VALUE_ABS structures */
+} SERVICE_TYPE_INFO_ABSA, *PSERVICE_TYPE_INFO_ABSA, *LPSERVICE_TYPE_INFO_ABSA;
+
+typedef struct _SERVICE_TYPE_INFO_ABSW
+{
+        LPWSTR                  lpTypeName;     /* Name of the network service type */
+        DWORD                   dwValueCount;   /* Number of SERVICE_TYPE_VALUE_ABS structures */
+        SERVICE_TYPE_VALUE_ABSW Values[1];      /* Array of SERVICE_TYPE_VALUE_ABS structures */
+} SERVICE_TYPE_INFO_ABSW, *PSERVICE_TYPE_INFO_ABSW, *LPSERVICE_TYPE_INFO_ABSW;
+
+DECL_WINELIB_TYPE_AW(SERVICE_TYPE_INFO_ABS)
+DECL_WINELIB_TYPE_AW(PSERVICE_TYPE_INFO_ABS)
+DECL_WINELIB_TYPE_AW(LPSERVICE_TYPE_INFO_ABS)
+
+typedef void (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam, HANDLE hAsyncTaskHandle);
+
+typedef struct _SERVICE_ASYNC_INFO
+{
+    LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
+    LPARAM                  lParam;
+    HANDLE                  hAsyncTaskHandle;
+} SERVICE_ASYNC_INFO, *PSERVICE_ASYNC_INFO, *LPSERVICE_ASYNC_INFO;
 
 /*
  * function prototypes
  */
-
-
+INT WINAPI GetTypeByNameA(LPSTR lpServiceName, LPGUID lpServiceType);
+INT WINAPI GetTypeByNameW(LPWSTR lpServiceName, LPGUID lpServiceType);
+#define GetTypeByName WINELIB_NAME_AW(GetTypeByName)
+INT WINAPI SetServiceA(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOA lpServiceInfo,
+                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags);
+INT WINAPI SetServiceW(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOW lpServiceInfo,
+                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags);
+#define SetService WINELIB_NAME_AW(SetService)
 
 #ifdef __cplusplus
 }      /* extern "C" */