Separated Win16 (USER) and Win32 (MPR) network routines.
Moved implementation of MPR to dlls/mpr/.
Added proper headers and stubs for missing MPR routines.

diff --git a/include/netspi.h b/include/netspi.h
new file mode 100644
index 0000000..884b88e
--- /dev/null
+++ b/include/netspi.h
@@ -0,0 +1,134 @@
+/*
+ * MPR - Network provider services
+ */
+
+#ifndef _NETSPI_H_
+#define _NETSPI_H_
+
+#include "windef.h"
+
+/*
+ * Note: The Unicode variants of all these routines/structures
+ *       apparently don't exist, at least not in Win95 ...
+ */
+
+#define HPROVIDER LPVOID
+typedef HPROVIDER *PHPROVIDER;
+
+typedef struct 
+{
+    DWORD  cbStructure;
+    HWND   hwndOwner;
+    LPCSTR lpResource;
+    LPSTR  lpUsername;
+    DWORD  cbUsername;
+    LPSTR  lpPassword;
+    DWORD  cbPassword;
+    LPSTR  lpOrgUnit;
+    DWORD  cbOrgUnit;
+    LPCSTR lpOUTitle;
+    LPCSTR lpExplainText;
+    LPCSTR lpDefaultUserName;
+    DWORD  dwFlags;
+
+} AUTHDLGSTRUCTA, *LPAUTHDLGSTRUCTA;
+
+DECL_WINELIB_TYPE_AW(AUTHDLGSTRUCT)
+DECL_WINELIB_TYPE_AW(LPAUTHDLGSTRUCT)
+
+#define AUTHDLG_ENABLECACHE       0x00000001
+#define AUTHDLG_CHECKCACHE        0x00000002
+#define AUTHDLG_CACHEINVALID      0x00000004
+#define AUTHDLG_USE_DEFAULT_NAME  0x00000008
+#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
+#define AUTHDLG_LOGON             0x00000020
+
+#define AUTHDLG_ENABLECACHE       0x00000001
+#define AUTHDLG_CHECKCACHE        0x00000002
+#define AUTHDLG_CACHEINVALID      0x00000004
+#define AUTHDLG_USE_DEFAULT_NAME  0x00000008
+#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
+#define AUTHDLG_LOGON             0x00000020
+
+DWORD WINAPI NPSAuthenticationDialogA(LPAUTHDLGSTRUCTA);
+#define      NPSAuthenticationDialog WINELIB_NAME_AW(NPSAuthenticationDialog)
+DWORD WINAPI NPSGetProviderHandleA(PHPROVIDER);
+#define      NPSGetProviderHandle WINELIB_NAME_AW(NPSGetProviderHandle)
+DWORD WINAPI NPSGetProviderNameA(HPROVIDER,LPCSTR *);
+#define      NPSGetProviderName WINELIB_NAME_AW(NPSGetProviderName)
+DWORD WINAPI NPSGetSectionNameA(HPROVIDER,LPCSTR *lpszSectionName);
+#define      NPSGetSectionName WINELIB_NAME_AW(NPSGetSectionName)
+DWORD WINAPI NPSSetExtendedErrorA(DWORD,LPSTR);
+#define      NPSSetExtendedError WINELIB_NAME_AW(NPSSetExtendedError)
+VOID  WINAPI NPSSetCustomTextA(LPSTR);
+#define      NPSSetCustomText WINELIB_NAME_AW(NPSSetCustomText)
+DWORD WINAPI NPSCopyStringA(LPCSTR,LPVOID,LPDWORD);
+#define      NPSCopyString WINELIB_NAME_AW(NPSCopyString)
+DWORD WINAPI NPSDeviceGetNumberA(LPSTR,LPDWORD,LPDWORD);
+#define      NPSDeviceGetNumber WINELIB_NAME_AW(NPSDeviceGetNumber)
+DWORD WINAPI NPSDeviceGetStringA(DWORD,DWORD,LPSTR,LPDWORD);
+#define      NPSDeviceGetString WINELIB_NAME_AW(NPSDeviceGetString)
+
+
+enum NOTIFYTYPE { NotifyAddConnection,
+                  NotifyCancelConnection,
+                  NotifyGetConnectionPerformance };
+
+#define NOTIFY_PRE              0x00
+#define NOTIFY_POST             0x01
+
+typedef struct 
+{
+    DWORD   cbStructure;
+    DWORD   dwNotifyStatus;
+    DWORD   dwOperationStatus;
+    LPVOID  lpNPContext;
+
+} NOTIFYINFO, *LPNOTIFYINFO;
+
+typedef struct 
+{
+    DWORD        cbStructure;
+    HWND         hwndOwner;
+    NETRESOURCEA NetResource;
+    DWORD        dwAddFlags;
+    LPSTR        lpAccessName;
+    LPDWORD      lpBufferSize;
+    DWORD        dwResult;
+    DWORD        dwAddContext;
+
+} NOTIFYADDA, *LPNOTIFYADDA;
+
+#define CONNECT_CTXT_RESTORE   0x00000001
+#define CONNECT_CTXT_GLOBAL    0x00000002
+#define CONNECT_CTXT_PROVIDER  0x00000004
+#define CONNECT_CTXT_SINGLE    0x00000008
+
+typedef struct 
+{
+    DWORD  cbStructure;
+    LPSTR  lpName;
+    LPSTR  lpProvider;
+    DWORD  dwFlags;
+    BOOL   fForce;
+
+} NOTIFYCANCELA, *LPNOTIFYCANCELA;
+
+typedef struct 
+{
+    DWORD                  cbStructure;
+    LPSTR                  lpRemoteName;
+    LPSTR                  lpProviderName;
+    LPNETCONNECTINFOSTRUCT lpNetConnectInfo;
+
+} NOTIFYPERFORMANCEA, *LPNOTIFYPERFORMANCEA;
+
+typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
+
+DWORD  WINAPI NPSNotifyRegisterA(enum NOTIFYTYPE,NOTIFYCALLBACK);
+#define       NPSNotifyRegister WINELIB_NAME_AW(NPSNotifyRegister)
+LPVOID WINAPI NPSNotifyGetContextA(NOTIFYCALLBACK);
+#define       NPSNotifyGetContext WINELIB_NAME_AW(NPSNotifyGetContext)
+
+#endif _NETSPI_H_
+