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