1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*
* MPR - Network provider services
* Warning: this file apparently existed as part of the Win98 DDK. Some of
* the declarations in it conflict with those in the Platform SDK's npapi.h,
* therefore this header was made private. Don't try to include both headers.
*
* Copyright (C) 1999 Ulrich Weigand
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _NETSPI_H_
#define _NETSPI_H_
#include "windef.h"
#include "winnetwk.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_ */