1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * Authors: Stewart Gordon
7  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8  * Source: $(DRUNTIMESRC src/core/sys/windows/_rasdlg.d)
9  */
10 module core.sys.windows.rasdlg;
version(Windows)11 version (Windows):
12 @system:
13 
14 version (ANSI) {} else version = Unicode;
15 
16 import core.sys.windows.ras;
17 import core.sys.windows.lmcons, core.sys.windows.windef;
18 
19 enum {
20     RASPBDEVENT_AddEntry = 1,
21     RASPBDEVENT_EditEntry,
22     RASPBDEVENT_RemoveEntry,
23     RASPBDEVENT_DialEntry,
24     RASPBDEVENT_EditGlobals,
25     RASPBDEVENT_NoUser,
26     RASPBDEVENT_NoUserEdit
27 }
28 
29 enum RASPBDFLAG_PositionDlg      =  1;
30 enum RASPBDFLAG_ForceCloseOnDial =  2;
31 enum RASPBDFLAG_NoUser           = 16;
32 
33 enum RASEDFLAG_PositionDlg = 1;
34 enum RASEDFLAG_NewEntry    = 2;
35 enum RASEDFLAG_CloneEntry  = 4;
36 
37 enum RASDDFLAG_PositionDlg = 1;
38 
39 align(4):
40 
41 struct RASENTRYDLGA {
42 align(4):
43     DWORD     dwSize = RASENTRYDLGA.sizeof;
44     HWND      hwndOwner;
45     DWORD     dwFlags;
46     LONG      xDlg;
47     LONG      yDlg;
48     CHAR[RAS_MaxEntryName + 1] szEntry = 0;
49     DWORD     dwError;
50     ULONG_PTR reserved;
51     ULONG_PTR reserved2;
52 }
53 alias RASENTRYDLGA* LPRASENTRYDLGA;
54 
55 struct RASENTRYDLGW {
56 align(4):
57     DWORD     dwSize = RASENTRYDLGW.sizeof;
58     HWND      hwndOwner;
59     DWORD     dwFlags;
60     LONG      xDlg;
61     LONG      yDlg;
62     WCHAR[RAS_MaxEntryName + 1] szEntry = 0;
63     DWORD     dwError;
64     ULONG_PTR reserved;
65     ULONG_PTR reserved2;
66 }
67 alias RASENTRYDLGW* LPRASENTRYDLGW;
68 
69 struct RASDIALDLG {
70 align(4):
71     DWORD     dwSize;
72     HWND      hwndOwner;
73     DWORD     dwFlags;
74     LONG      xDlg;
75     LONG      yDlg;
76     DWORD     dwSubEntry;
77     DWORD     dwError;
78     ULONG_PTR reserved;
79     ULONG_PTR reserved2;
80 }
81 alias RASDIALDLG* LPRASDIALDLG;
82 
83 // Application-defined callback functions
84 extern (Windows) {
85     alias VOID function(ULONG_PTR, DWORD, LPWSTR, LPVOID) RASPBDLGFUNCW;
86     alias VOID function(ULONG_PTR, DWORD, LPSTR, LPVOID) RASPBDLGFUNCA;
87 }
88 
89 struct RASPBDLGA {
90 align(4):
91     DWORD         dwSize = RASPBDLGA.sizeof;
92     HWND          hwndOwner;
93     DWORD         dwFlags;
94     LONG          xDlg;
95     LONG          yDlg;
96     ULONG_PTR     dwCallbackId;
97     RASPBDLGFUNCA pCallback;
98     DWORD         dwError;
99     ULONG_PTR     reserved;
100     ULONG_PTR     reserved2;
101 }
102 alias RASPBDLGA* LPRASPBDLGA;
103 
104 struct RASPBDLGW {
105 align(4):
106     DWORD         dwSize = RASPBDLGW.sizeof;
107     HWND          hwndOwner;
108     DWORD         dwFlags;
109     LONG          xDlg;
110     LONG          yDlg;
111     ULONG_PTR     dwCallbackId;
112     RASPBDLGFUNCW pCallback;
113     DWORD         dwError;
114     ULONG_PTR     reserved;
115     ULONG_PTR     reserved2;
116 }
117 alias RASPBDLGW* LPRASPBDLGW;
118 
119 struct RASNOUSERA
120 {
121     DWORD           dwSize = RASNOUSERA.sizeof;
122     DWORD           dwFlags;
123     DWORD           dwTimeoutMs;
124     CHAR[UNLEN + 1] szUserName = 0;
125     CHAR[PWLEN + 1] szPassword = 0;
126     CHAR[DNLEN + 1] szDomain = 0;
127 }
128 alias RASNOUSERA* LPRASNOUSERA;
129 
130 struct RASNOUSERW {
131     DWORD            dwSize = RASNOUSERW.sizeof;
132     DWORD            dwFlags;
133     DWORD            dwTimeoutMs;
134     WCHAR[UNLEN + 1] szUserName = 0;
135     WCHAR[PWLEN + 1] szPassword = 0;
136     WCHAR[DNLEN + 1] szDomain = 0;
137 }
138 alias RASNOUSERW* LPRASNOUSERW;
139 
140 extern (Windows) {
141     BOOL RasDialDlgA(LPSTR, LPSTR, LPSTR, LPRASDIALDLG);
142     BOOL RasDialDlgW(LPWSTR, LPWSTR, LPWSTR, LPRASDIALDLG);
143     BOOL RasEntryDlgA(LPSTR, LPSTR, LPRASENTRYDLGA);
144     BOOL RasEntryDlgW(LPWSTR, LPWSTR, LPRASENTRYDLGW);
145     BOOL RasPhonebookDlgA(LPSTR, LPSTR, LPRASPBDLGA);
146     BOOL RasPhonebookDlgW(LPWSTR, LPWSTR, LPRASPBDLGW);
147 }
148 
version(Unicode)149 version (Unicode) {
150     alias RASENTRYDLGW RASENTRYDLG;
151     alias RASPBDLGW RASPBDLG;
152     alias RASNOUSERW RASNOUSER;
153     alias RasDialDlgW RasDialDlg;
154     alias RasEntryDlgW RasEntryDlg;
155     alias RasPhonebookDlgW RasPhonebookDlg;
156 } else {
157     alias RASENTRYDLGA RASENTRYDLG;
158     alias RASPBDLGA RASPBDLG;
159     alias RASNOUSERA RASNOUSER;
160     alias RasDialDlgA RasDialDlg;
161     alias RasEntryDlgA RasEntryDlg;
162     alias RasPhonebookDlgA RasPhonebookDlg;
163 }
164 
165 alias RASENTRYDLG* LPRASENTRYDLG;
166 alias RASPBDLG* LPRASPBDLG;
167 alias RASNOUSER* LPRASNOUSER;
168