1 /**
2  * @file rasdlg.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _RASDLG_H
25 #define _RASDLG_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #include <ras.h>
34 
35 #define RASPBDEVENT_AddEntry	1
36 #define RASPBDEVENT_EditEntry	2
37 #define RASPBDEVENT_RemoveEntry	3
38 #define RASPBDEVENT_DialEntry	4
39 #define RASPBDEVENT_EditGlobals	5
40 #define RASPBDEVENT_NoUser	6
41 #define RASPBDEVENT_NoUserEdit	7
42 
43 #define RASPBDFLAG_PositionDlg	1
44 #define RASPBDFLAG_ForceCloseOnDial	2
45 #define RASPBDFLAG_NoUser	16
46 
47 #define RASEDFLAG_PositionDlg	1
48 #define RASEDFLAG_NewEntry	2
49 #define RASEDFLAG_CloneEntry	4
50 
51 #define RASDDFLAG_PositionDlg	1
52 
53 #ifndef RC_INVOKED
54 #include <pshpack4.h>
55 
56 typedef struct tagRASENTRYDLGA
57 {
58 	DWORD dwSize;
59 	HWND  hwndOwner;
60 	DWORD dwFlags;
61 	LONG  xDlg;
62 	LONG  yDlg;
63 	CHAR  szEntry[RAS_MaxEntryName + 1];
64 	DWORD dwError;
65 	ULONG_PTR reserved;
66 	ULONG_PTR reserved2;
67 } RASENTRYDLGA, *LPRASENTRYDLGA;
68 typedef struct tagRASENTRYDLGW
69 {
70 	DWORD dwSize;
71 	HWND  hwndOwner;
72 	DWORD dwFlags;
73 	LONG  xDlg;
74 	LONG  yDlg;
75 	WCHAR szEntry[RAS_MaxEntryName + 1];
76 	DWORD dwError;
77 	ULONG_PTR reserved;
78 	ULONG_PTR reserved2;
79 } RASENTRYDLGW, *LPRASENTRYDLGW;
80 
81 typedef struct tagRASDIALDLG
82 {
83 	DWORD dwSize;
84 	HWND  hwndOwner;
85 	DWORD dwFlags;
86 	LONG  xDlg;
87 	LONG  yDlg;
88 	DWORD dwSubEntry;
89 	DWORD dwError;
90 	ULONG_PTR reserved;
91 	ULONG_PTR reserved2;
92 } RASDIALDLG, *LPRASDIALDLG;
93 
94 /* Application-defined callback functions */
95 typedef VOID (WINAPI* RASPBDLGFUNCW)(DWORD, DWORD, LPWSTR, LPVOID);
96 typedef VOID (WINAPI* RASPBDLGFUNCA)(DWORD, DWORD, LPSTR, LPVOID);
97 
98 typedef struct tagRASPBDLGA
99 {
100 	DWORD         dwSize;
101 	HWND          hwndOwner;
102 	DWORD         dwFlags;
103 	LONG          xDlg;
104 	LONG          yDlg;
105 	ULONG_PTR     dwCallbackId;
106 	RASPBDLGFUNCA pCallback;
107 	DWORD         dwError;
108 	ULONG_PTR     reserved;
109 	ULONG_PTR     reserved2;
110 } RASPBDLGA, *LPRASPBDLGA;
111 typedef struct tagRASPBDLGW
112 {
113 	DWORD         dwSize;
114 	HWND          hwndOwner;
115 	DWORD         dwFlags;
116 	LONG          xDlg;
117 	LONG          yDlg;
118 	ULONG_PTR     dwCallbackId;
119 	RASPBDLGFUNCW pCallback;
120 	DWORD         dwError;
121 	ULONG_PTR     reserved;
122 	ULONG_PTR     reserved2;
123 } RASPBDLGW, *LPRASPBDLGW;
124 
125 typedef struct tagRASNOUSERA
126 {
127 	DWORD dwSize;
128 	DWORD dwFlags;
129 	DWORD dwTimeoutMs;
130 	CHAR  szUserName[UNLEN + 1];
131 	CHAR  szPassword[PWLEN + 1];
132 	CHAR  szDomain[DNLEN + 1];
133 } RASNOUSERA, *LPRASNOUSERA;
134 typedef struct tagRASNOUSERW
135 {
136 	DWORD dwSize;
137 	DWORD dwFlags;
138 	DWORD dwTimeoutMs;
139 	WCHAR szUserName[UNLEN + 1];
140 	WCHAR szPassword[PWLEN + 1];
141 	WCHAR szDomain[DNLEN + 1];
142 } RASNOUSERW, *LPRASNOUSERW ;
143 
144 #include <poppack.h>
145 
146 BOOL APIENTRY RasDialDlgA(LPSTR,LPSTR,LPSTR,LPRASDIALDLG);
147 BOOL APIENTRY RasDialDlgW(LPWSTR,LPWSTR,LPWSTR,LPRASDIALDLG);
148 BOOL APIENTRY RasEntryDlgA(LPSTR,LPSTR,LPRASENTRYDLGA);
149 BOOL APIENTRY RasEntryDlgW(LPWSTR,LPWSTR,LPRASENTRYDLGW);
150 BOOL APIENTRY RasPhonebookDlgA(LPSTR,LPSTR,LPRASPBDLGA);
151 BOOL APIENTRY RasPhonebookDlgW(LPWSTR,LPWSTR,LPRASPBDLGW);
152 
153 typedef __AW(RASENTRYDLG)	RASENTRYDLG, *LPRASENTRYDLG;
154 typedef __AW(RASPBDLG)	RASPBDLG, *LPRASPBDLG;
155 typedef __AW(RASNOUSER)	RASNOUSER, *LPRASNOUSER;
156 #define RasDialDlg	__AW(RasDialDlg)
157 #define RasEntryDlg	__AW(RasEntryDlg)
158 #define RasPhonebookDlg	__AW(RasPhonebookDlg)
159 
160 #endif /* RC_INVOKED */
161 
162 #ifdef __cplusplus
163 }
164 #endif
165 
166 #endif
167