sync with trunk (r46275)
[reactos.git] / dll / win32 / mpr / netspi.h
1 /*
2 * MPR - Network provider services
3 * Warning: this file apparently existed as part of the Win98 DDK. Some of
4 * the declarations in it conflict with those in the Platform SDK's npapi.h,
5 * therefore this header was made private. Don't try to include both headers.
6 *
7 * Copyright (C) 1999 Ulrich Weigand
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
24 #ifndef _NETSPI_H_
25 #define _NETSPI_H_
26
27 #include "windef.h"
28 #include "winnetwk.h"
29
30 /*
31 * Note: The Unicode variants of all these routines/structures
32 * apparently don't exist, at least not in Win95 ...
33 */
34
35 #define HPROVIDER LPVOID
36 typedef HPROVIDER *PHPROVIDER;
37
38 typedef struct
39 {
40 DWORD cbStructure;
41 HWND hwndOwner;
42 LPCSTR lpResource;
43 LPSTR lpUsername;
44 DWORD cbUsername;
45 LPSTR lpPassword;
46 DWORD cbPassword;
47 LPSTR lpOrgUnit;
48 DWORD cbOrgUnit;
49 LPCSTR lpOUTitle;
50 LPCSTR lpExplainText;
51 LPCSTR lpDefaultUserName;
52 DWORD dwFlags;
53
54 } AUTHDLGSTRUCTA, *LPAUTHDLGSTRUCTA;
55
56 DECL_WINELIB_TYPE_AW(AUTHDLGSTRUCT)
57 DECL_WINELIB_TYPE_AW(LPAUTHDLGSTRUCT)
58
59 #define AUTHDLG_ENABLECACHE 0x00000001
60 #define AUTHDLG_CHECKCACHE 0x00000002
61 #define AUTHDLG_CACHEINVALID 0x00000004
62 #define AUTHDLG_USE_DEFAULT_NAME 0x00000008
63 #define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
64 #define AUTHDLG_LOGON 0x00000020
65
66 #define AUTHDLG_ENABLECACHE 0x00000001
67 #define AUTHDLG_CHECKCACHE 0x00000002
68 #define AUTHDLG_CACHEINVALID 0x00000004
69 #define AUTHDLG_USE_DEFAULT_NAME 0x00000008
70 #define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
71 #define AUTHDLG_LOGON 0x00000020
72
73 DWORD WINAPI NPSAuthenticationDialogA(LPAUTHDLGSTRUCTA);
74 #define NPSAuthenticationDialog WINELIB_NAME_AW(NPSAuthenticationDialog)
75 DWORD WINAPI NPSGetProviderHandleA(PHPROVIDER);
76 #define NPSGetProviderHandle WINELIB_NAME_AW(NPSGetProviderHandle)
77 DWORD WINAPI NPSGetProviderNameA(HPROVIDER,LPCSTR *);
78 #define NPSGetProviderName WINELIB_NAME_AW(NPSGetProviderName)
79 DWORD WINAPI NPSGetSectionNameA(HPROVIDER,LPCSTR *lpszSectionName);
80 #define NPSGetSectionName WINELIB_NAME_AW(NPSGetSectionName)
81 DWORD WINAPI NPSSetExtendedErrorA(DWORD,LPSTR);
82 #define NPSSetExtendedError WINELIB_NAME_AW(NPSSetExtendedError)
83 VOID WINAPI NPSSetCustomTextA(LPSTR);
84 #define NPSSetCustomText WINELIB_NAME_AW(NPSSetCustomText)
85 DWORD WINAPI NPSCopyStringA(LPCSTR,LPVOID,LPDWORD);
86 #define NPSCopyString WINELIB_NAME_AW(NPSCopyString)
87 DWORD WINAPI NPSDeviceGetNumberA(LPSTR,LPDWORD,LPDWORD);
88 #define NPSDeviceGetNumber WINELIB_NAME_AW(NPSDeviceGetNumber)
89 DWORD WINAPI NPSDeviceGetStringA(DWORD,DWORD,LPSTR,LPDWORD);
90 #define NPSDeviceGetString WINELIB_NAME_AW(NPSDeviceGetString)
91
92
93 enum NOTIFYTYPE { NotifyAddConnection,
94 NotifyCancelConnection,
95 NotifyGetConnectionPerformance };
96
97 #define NOTIFY_PRE 0x00
98 #define NOTIFY_POST 0x01
99
100 typedef struct
101 {
102 DWORD cbStructure;
103 DWORD dwNotifyStatus;
104 DWORD dwOperationStatus;
105 LPVOID lpNPContext;
106
107 } NOTIFYINFO, *LPNOTIFYINFO;
108
109 typedef struct
110 {
111 DWORD cbStructure;
112 HWND hwndOwner;
113 NETRESOURCEA NetResource;
114 DWORD dwAddFlags;
115 LPSTR lpAccessName;
116 LPDWORD lpBufferSize;
117 DWORD dwResult;
118 DWORD dwAddContext;
119
120 } NOTIFYADDA, *LPNOTIFYADDA;
121
122 #define CONNECT_CTXT_RESTORE 0x00000001
123 #define CONNECT_CTXT_GLOBAL 0x00000002
124 #define CONNECT_CTXT_PROVIDER 0x00000004
125 #define CONNECT_CTXT_SINGLE 0x00000008
126
127 typedef struct
128 {
129 DWORD cbStructure;
130 LPSTR lpName;
131 LPSTR lpProvider;
132 DWORD dwFlags;
133 BOOL fForce;
134
135 } NOTIFYCANCELA, *LPNOTIFYCANCELA;
136
137 typedef struct
138 {
139 DWORD cbStructure;
140 LPSTR lpRemoteName;
141 LPSTR lpProviderName;
142 LPNETCONNECTINFOSTRUCT lpNetConnectInfo;
143
144 } NOTIFYPERFORMANCEA, *LPNOTIFYPERFORMANCEA;
145
146 typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
147
148 DWORD WINAPI NPSNotifyRegisterA(enum NOTIFYTYPE,NOTIFYCALLBACK);
149 #define NPSNotifyRegister WINELIB_NAME_AW(NPSNotifyRegister)
150 LPVOID WINAPI NPSNotifyGetContextA(NOTIFYCALLBACK);
151 #define NPSNotifyGetContext WINELIB_NAME_AW(NPSNotifyGetContext)
152
153 #endif /* _NETSPI_H_ */