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