rpcrt4: The lifetime of the binding handle stored in the context
[wine] / dlls / 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_ */