1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 #ifndef _RASDLG_H_
6 #define _RASDLG_H_
7 
8 #include <winapifamily.h>
9 
10 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
11 #include <_mingw_unicode.h>
12 #include <pshpack4.h>
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include <ras.h>
19 
20   typedef VOID (WINAPI *RASPBDLGFUNCW)(ULONG_PTR,DWORD,LPWSTR,LPVOID);
21   typedef VOID (WINAPI *RASPBDLGFUNCA)(ULONG_PTR,DWORD,LPSTR,LPVOID);
22 
23 #define RASPBDEVENT_AddEntry 1
24 #define RASPBDEVENT_EditEntry 2
25 #define RASPBDEVENT_RemoveEntry 3
26 #define RASPBDEVENT_DialEntry 4
27 #define RASPBDEVENT_EditGlobals 5
28 #define RASPBDEVENT_NoUser 6
29 #define RASPBDEVENT_NoUserEdit 7
30 
31 #define RASNOUSER_SmartCard 0x00000001
32 
33   struct tagRASNOUSERW {
34     DWORD dwSize;
35     DWORD dwFlags;
36     DWORD dwTimeoutMs;
37     WCHAR szUserName[UNLEN + 1];
38     WCHAR szPassword[PWLEN + 1];
39     WCHAR szDomain[DNLEN + 1];
40   };
41 
42   struct tagRASNOUSERA {
43     DWORD dwSize;
44     DWORD dwFlags;
45     DWORD dwTimeoutMs;
46     CHAR szUserName[UNLEN + 1];
47     CHAR szPassword[PWLEN + 1];
48     CHAR szDomain[DNLEN + 1];
49   };
50 
51 #define RASNOUSER __MINGW_NAME_AW(RASNOUSER)
52 
53 #define RASNOUSERW struct tagRASNOUSERW
54 #define RASNOUSERA struct tagRASNOUSERA
55 
56 #define LPRASNOUSERW RASNOUSERW *
57 #define LPRASNOUSERA RASNOUSERA *
58 #define LPRASNOUSER RASNOUSER *
59 
60 #define RASPBDFLAG_PositionDlg 0x00000001
61 #define RASPBDFLAG_ForceCloseOnDial 0x00000002
62 #define RASPBDFLAG_NoUser 0x00000010
63 #define RASPBDFLAG_UpdateDefaults 0x80000000
64 
65   struct tagRASPBDLGW {
66     DWORD dwSize;
67     HWND hwndOwner;
68     DWORD dwFlags;
69     LONG xDlg;
70     LONG yDlg;
71     ULONG_PTR dwCallbackId;
72     RASPBDLGFUNCW pCallback;
73     DWORD dwError;
74     ULONG_PTR reserved;
75     ULONG_PTR reserved2;
76   };
77 
78   struct tagRASPBDLGA {
79     DWORD dwSize;
80     HWND hwndOwner;
81     DWORD dwFlags;
82     LONG xDlg;
83     LONG yDlg;
84     ULONG_PTR dwCallbackId;
85     RASPBDLGFUNCA pCallback;
86     DWORD dwError;
87     ULONG_PTR reserved;
88     ULONG_PTR reserved2;
89   };
90 
91 #define RASPBDLG __MINGW_NAME_AW(RASPBDLG)
92 #define RASPBDLGFUNC __MINGW_NAME_AW(RASPBDLGFUNC)
93 
94 #define RASPBDLGW struct tagRASPBDLGW
95 #define RASPBDLGA struct tagRASPBDLGA
96 
97 #define LPRASPBDLGW RASPBDLGW *
98 #define LPRASPBDLGA RASPBDLGA *
99 #define LPRASPBDLG RASPBDLG *
100 
101 #define RASEDFLAG_PositionDlg 0x00000001
102 #define RASEDFLAG_NewEntry 0x00000002
103 #if WINVER < 0x600
104 #define RASEDFLAG_CloneEntry 0x00000004
105 #endif
106 #define RASEDFLAG_NoRename 0x00000008
107 #define RASEDFLAG_ShellOwned 0x40000000
108 #define RASEDFLAG_NewPhoneEntry 0x00000010
109 #define RASEDFLAG_NewTunnelEntry 0x00000020
110 #if WINVER < 0x600
111 #define RASEDFLAG_NewDirectEntry 0x00000040
112 #endif
113 #define RASEDFLAG_NewBroadbandEntry 0x00000080
114 #define RASEDFLAG_InternetEntry 0x00000100
115 #define RASEDFLAG_NAT 0x00000200
116 #if WINVER >= 0x600
117 #define RASEDFLAG_IncomingConnection 0x00000400
118 #endif
119 
120   struct tagRASENTRYDLGW {
121     DWORD dwSize;
122     HWND hwndOwner;
123     DWORD dwFlags;
124     LONG xDlg;
125     LONG yDlg;
126     WCHAR szEntry[RAS_MaxEntryName + 1];
127     DWORD dwError;
128     ULONG_PTR reserved;
129     ULONG_PTR reserved2;
130   };
131 
132   struct tagRASENTRYDLGA {
133     DWORD dwSize;
134     HWND hwndOwner;
135     DWORD dwFlags;
136     LONG xDlg;
137     LONG yDlg;
138     CHAR szEntry[RAS_MaxEntryName + 1];
139     DWORD dwError;
140     ULONG_PTR reserved;
141     ULONG_PTR reserved2;
142   };
143 
144 #define RASENTRYDLG __MINGW_NAME_AW(RASENTRYDLG)
145 
146 #define RASENTRYDLGW struct tagRASENTRYDLGW
147 #define RASENTRYDLGA struct tagRASENTRYDLGA
148 
149 #define LPRASENTRYDLGW RASENTRYDLGW *
150 #define LPRASENTRYDLGA RASENTRYDLGA *
151 #define LPRASENTRYDLG RASENTRYDLG *
152 
153 #define RASDDFLAG_PositionDlg 0x00000001
154 #define RASDDFLAG_NoPrompt 0x00000002
155 #define RASDDFLAG_LinkFailure 0x80000000
156 
157   struct tagRASDIALDLG {
158     DWORD dwSize;
159     HWND hwndOwner;
160     DWORD dwFlags;
161     LONG xDlg;
162     LONG yDlg;
163     DWORD dwSubEntry;
164     DWORD dwError;
165     ULONG_PTR reserved;
166     ULONG_PTR reserved2;
167   };
168 
169 #define RASDIALDLG struct tagRASDIALDLG
170 #define LPRASDIALDLG RASDIALDLG *
171 
172   typedef WINBOOL (WINAPI *RasCustomDialDlgFn)(HINSTANCE hInstDll,DWORD dwFlags,LPWSTR lpszPhonebook,LPWSTR lpszEntry,LPWSTR lpszPhoneNumber,LPRASDIALDLG lpInfo,PVOID pvInfo);
173   typedef WINBOOL (WINAPI *RasCustomEntryDlgFn)(HINSTANCE hInstDll,LPWSTR lpszPhonebook,LPWSTR lpszEntry,LPRASENTRYDLG lpInfo,DWORD dwFlags);
174 
175   WINBOOL WINAPI RasPhonebookDlgA(LPSTR lpszPhonebook,LPSTR lpszEntry,LPRASPBDLGA lpInfo);
176   WINBOOL WINAPI RasPhonebookDlgW(LPWSTR lpszPhonebook,LPWSTR lpszEntry,LPRASPBDLGW lpInfo);
177   WINBOOL WINAPI RasEntryDlgA(LPSTR lpszPhonebook,LPSTR lpszEntry,LPRASENTRYDLGA lpInfo);
178   WINBOOL WINAPI RasEntryDlgW(LPWSTR lpszPhonebook,LPWSTR lpszEntry,LPRASENTRYDLGW lpInfo);
179   WINBOOL WINAPI RasDialDlgA(LPSTR lpszPhonebook,LPSTR lpszEntry,LPSTR lpszPhoneNumber,LPRASDIALDLG lpInfo);
180   WINBOOL WINAPI RasDialDlgW(LPWSTR lpszPhonebook,LPWSTR lpszEntry,LPWSTR lpszPhoneNumber,LPRASDIALDLG lpInfo);
181 
182 #define RasPhonebookDlg __MINGW_NAME_AW(RasPhonebookDlg)
183 #define RasEntryDlg __MINGW_NAME_AW(RasEntryDlg)
184 #define RasDialDlg __MINGW_NAME_AW(RasDialDlg)
185 
186 #ifdef __cplusplus
187 }
188 #endif
189 
190 #include <poppack.h>
191 #endif
192 #endif
193