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