comparison devhelpers/structswin/structs.d @ 124:c39d1446f191

Added dev tools, so they are not in the release code.
author Frank Benoit <benoit@tionex.de>
date Mon, 21 Jul 2008 22:54:04 +0200
parents
children 3ceedeb4be4f
comparison
equal deleted inserted replaced
122:00f135d0337d 124:c39d1446f191
1 // Author: Frank Benoit
2 // This prints the sizes of some C struct how they are defined in the c-bindings
3
4 import dwt.internal.win32.WINTYPES;
5
6 extern(C) int printf( char*, ... );
7
8 struct TSizeValue {
9 char[] name;
10 int size;
11 } ;
12
13 const TSizeValue[] size_values = [
14 { "ABC", ABC.sizeof }
15 { "ABCFLOAT", ABCFLOAT.sizeof }
16 { "ACCEL", ACCEL.sizeof }
17 { "ACCESS_ALLOWED_ACE", ACCESS_ALLOWED_ACE.sizeof }
18 { "ACCESS_DENIED_ACE", ACCESS_DENIED_ACE.sizeof }
19 { "ACCESSTIMEOUT", ACCESSTIMEOUT.sizeof }
20 { "ACE_HEADER", ACE_HEADER.sizeof }
21 { "ACL", ACL.sizeof }
22 { "ACL_REVISION_INFORMATION", ACL_REVISION_INFORMATION.sizeof }
23 { "ACL_SIZE_INFORMATION", ACL_SIZE_INFORMATION.sizeof }
24 { "ACTCTXA", ACTCTXA.sizeof }
25 { "ACTCTXW", ACTCTXW.sizeof }
26 { "ACTION_HEADER", ACTION_HEADER.sizeof }
27 { "ADAPTER_STATUS", ADAPTER_STATUS.sizeof }
28 { "ADDJOB_INFO_1", ADDJOB_INFO_1.sizeof }
29 { "ANIMATIONINFO", ANIMATIONINFO.sizeof }
30 { "APPBARDATA", APPBARDATA.sizeof }
31 { "BITMAP", BITMAP.sizeof }
32 { "BITMAPCOREHEADER", BITMAPCOREHEADER.sizeof }
33 { "BITMAPCOREINFO", BITMAPCOREINFO.sizeof }
34 { "BITMAPFILEHEADER", BITMAPFILEHEADER.sizeof }
35 { "BITMAPINFO", BITMAPINFO.sizeof }
36 { "BITMAPINFOHEADER", BITMAPINFOHEADER.sizeof }
37 { "BITMAPV4HEADER", BITMAPV4HEADER.sizeof }
38 { "_BLENDFUNCTION", _BLENDFUNCTION.sizeof }
39 { "BLOB", BLOB.sizeof }
40 { "BROWSEINFOA", BROWSEINFOA.sizeof }
41 { "BROWSEINFOW", BROWSEINFOW.sizeof }
42 { "BUTTON_IMAGELIST", BUTTON_IMAGELIST.sizeof }
43 { "BY_HANDLE_FILE_INFORMATION", BY_HANDLE_FILE_INFORMATION.sizeof }
44 { "CANDIDATEFORM", CANDIDATEFORM.sizeof }
45 { "CANDIDATELIST", CANDIDATELIST.sizeof }
46 { "CBTACTIVATESTRUCT", CBTACTIVATESTRUCT.sizeof }
47 { "CBT_CREATEWND", CBT_CREATEWND.sizeof }
48 { "CHARFORMAT", CHARFORMAT.sizeof }
49 { "CHAR_INFO", CHAR_INFO.sizeof }
50 { "CHARRANGE", CHARRANGE.sizeof }
51 { "CHARSET", CHARSET.sizeof }
52 { "CHARSETINFO", CHARSETINFO.sizeof }
53 { "CHOOSECOLORA", CHOOSECOLORA.sizeof }
54 { "CHOOSECOLORW", CHOOSECOLORW.sizeof }
55 { "CHOOSEFONTA", CHOOSEFONTA.sizeof }
56 { "CHOOSEFONTW", CHOOSEFONTW.sizeof }
57 { "CIDA", CIDA.sizeof }
58 { "CIEXYZ", CIEXYZ.sizeof }
59 { "CIEXYZTRIPLE", CIEXYZTRIPLE.sizeof }
60 { "CLIENTCREATESTRUCT", CLIENTCREATESTRUCT.sizeof }
61 { "CMINVOKECOMMANDINFO", CMINVOKECOMMANDINFO.sizeof }
62 { "COLORADJUSTMENT", COLORADJUSTMENT.sizeof }
63 { "COLORMAP", COLORMAP.sizeof }
64 { "COMBOBOXINFO", COMBOBOXINFO.sizeof }
65 { "COMMCONFIG", COMMCONFIG.sizeof }
66 { "COMMPROP", COMMPROP.sizeof }
67 { "COMMTIMEOUTS", COMMTIMEOUTS.sizeof }
68 { "COMPAREITEMSTRUCT", COMPAREITEMSTRUCT.sizeof }
69 { "COMPCOLOR", COMPCOLOR.sizeof }
70 { "COMPOSITIONFORM", COMPOSITIONFORM.sizeof }
71 { "COMSTAT", COMSTAT.sizeof }
72 { "CONNECTDLGSTRUCT", CONNECTDLGSTRUCT.sizeof }
73 { "CONSOLE_CURSOR_INFO", CONSOLE_CURSOR_INFO.sizeof }
74 { "CONSOLE_SCREEN_BUFFER_INFO", CONSOLE_SCREEN_BUFFER_INFO.sizeof }
75 { "CONTEXT", CONTEXT.sizeof }
76 { "CONVCONTEXT", CONVCONTEXT.sizeof }
77 { "CONVINFO", CONVINFO.sizeof }
78 { "COORD", COORD.sizeof }
79 { "COPYDATASTRUCT", COPYDATASTRUCT.sizeof }
80 { "CPINFO", CPINFO.sizeof }
81 { "CPLINFO", CPLINFO.sizeof }
82 { "CREATE_PROCESS_DEBUG_INFO", CREATE_PROCESS_DEBUG_INFO.sizeof }
83 { "CREATESTRUCT", CREATESTRUCT.sizeof }
84 { "CREATE_THREAD_DEBUG_INFO", CREATE_THREAD_DEBUG_INFO.sizeof }
85 { "CRITICAL_SECTION", CRITICAL_SECTION.sizeof }
86 { "CRITICAL_SECTION_DEBUG", CRITICAL_SECTION_DEBUG.sizeof }
87 { "CURRENCYFMT", CURRENCYFMT.sizeof }
88 { "CURSORSHAPE", CURSORSHAPE.sizeof }
89 { "CWPRETSTRUCT", CWPRETSTRUCT.sizeof }
90 { "CWPSTRUCT", CWPSTRUCT.sizeof }
91 { "DATATYPES_INFO_1", DATATYPES_INFO_1.sizeof }
92 { "DCB", DCB.sizeof }
93 { "DDEACK", DDEACK.sizeof }
94 { "DDEADVISE", DDEADVISE.sizeof }
95 { "DDEDATA", DDEDATA.sizeof }
96 { "DDELN", DDELN.sizeof }
97 { "DDEML_MSG_HOOK_DATA", DDEML_MSG_HOOK_DATA.sizeof }
98 { "DDEPOKE", DDEPOKE.sizeof }
99 { "DDEUP", DDEUP.sizeof }
100 { "DEBUG_EVENT", DEBUG_EVENT.sizeof }
101 { "DEBUGHOOKINFO", DEBUGHOOKINFO.sizeof }
102 { "DELETEITEMSTRUCT", DELETEITEMSTRUCT.sizeof }
103 { "DEV_BROADCAST_HDR", DEV_BROADCAST_HDR.sizeof }
104 { "DEV_BROADCAST_OEM", DEV_BROADCAST_OEM.sizeof }
105 { "DEV_BROADCAST_PORT", DEV_BROADCAST_PORT.sizeof }
106 { "_DEV_BROADCAST_USERDEFINED", _DEV_BROADCAST_USERDEFINED.sizeof }
107 { "DEV_BROADCAST_VOLUME", DEV_BROADCAST_VOLUME.sizeof }
108 { "DEVMODE", DEVMODE.sizeof }
109 { "DEVMODEA dvmd", DEVMODEA dvmd.sizeof }
110 { "DEVMODEW dvmd", DEVMODEW dvmd.sizeof }
111 { "DEVNAMES", DEVNAMES.sizeof }
112 { "DIBSECTION", DIBSECTION.sizeof }
113 { "DISCDLGSTRUCT", DISCDLGSTRUCT.sizeof }
114 { "DISK_GEOMETRY", DISK_GEOMETRY.sizeof }
115 { "DISK_PERFORMANCE", DISK_PERFORMANCE.sizeof }
116 { "DLGITEMTEMPLATE", DLGITEMTEMPLATE.sizeof }
117 { "DLGTEMPLATE", DLGTEMPLATE.sizeof }
118 { "DLLVERSIONINFO", DLLVERSIONINFO.sizeof }
119 { "DOC_INFO_1", DOC_INFO_1.sizeof }
120 { "DOC_INFO_2", DOC_INFO_2.sizeof }
121 { "DOCINFOA", DOCINFOA.sizeof }
122 { "DOCINFOW", DOCINFOW.sizeof }
123 { "DRAGLISTINFO", DRAGLISTINFO.sizeof }
124 { "DRAWITEMSTRUCT", DRAWITEMSTRUCT.sizeof }
125 { "DRAWTEXTPARAMS", DRAWTEXTPARAMS.sizeof }
126 { "DRIVE_LAYOUT_INFORMATION", DRIVE_LAYOUT_INFORMATION.sizeof }
127 { "DRIVER_INFO_1", DRIVER_INFO_1.sizeof }
128 { "DRIVER_INFO_2", DRIVER_INFO_2.sizeof }
129 { "DRIVER_INFO_3", DRIVER_INFO_3.sizeof }
130 { "DROPFILES", DROPFILES.sizeof }
131 { "EDITSTREAM", EDITSTREAM.sizeof }
132 { "EMPTYRECORD", EMPTYRECORD.sizeof }
133 { "EMR", EMR.sizeof }
134 { "EMRABORTPATH", EMRABORTPATH.sizeof }
135 { "EMRANGLEARC", EMRANGLEARC.sizeof }
136 { "EMRARC", EMRARC.sizeof }
137 { "EMRBITBLT", EMRBITBLT.sizeof }
138 { "EMRCREATEBRUSHINDIRECT", EMRCREATEBRUSHINDIRECT.sizeof }
139 { "EMRCREATECOLORSPACE", EMRCREATECOLORSPACE.sizeof }
140 { "EMRCREATEDIBPATTERNBRUSHPT", EMRCREATEDIBPATTERNBRUSHPT.sizeof }
141 { "EMRCREATEMONOBRUSH", EMRCREATEMONOBRUSH.sizeof }
142 { "EMRCREATEPALETTE", EMRCREATEPALETTE.sizeof }
143 { "EMRCREATEPEN", EMRCREATEPEN.sizeof }
144 { "EMRELLIPSE", EMRELLIPSE.sizeof }
145 { "EMREOF", EMREOF.sizeof }
146 { "EMREXCLUDECLIPRECT", EMREXCLUDECLIPRECT.sizeof }
147 { "EMREXTCREATEFONTINDIRECTW", EMREXTCREATEFONTINDIRECTW.sizeof }
148 { "EMREXTCREATEPEN", EMREXTCREATEPEN.sizeof }
149 { "EMREXTFLOODFILL", EMREXTFLOODFILL.sizeof }
150 { "EMREXTSELECTCLIPRGN", EMREXTSELECTCLIPRGN.sizeof }
151 { "EMREXTTEXTOUTA", EMREXTTEXTOUTA.sizeof }
152 { "EMRFILLPATH", EMRFILLPATH.sizeof }
153 { "EMRFILLRGN", EMRFILLRGN.sizeof }
154 { "EMRFORMAT", EMRFORMAT.sizeof }
155 { "EMRFRAMERGN", EMRFRAMERGN.sizeof }
156 { "EMRGDICOMMENT", EMRGDICOMMENT.sizeof }
157 { "EMRINVERTRGN", EMRINVERTRGN.sizeof }
158 { "EMRLINETO", EMRLINETO.sizeof }
159 { "EMRMASKBLT", EMRMASKBLT.sizeof }
160 { "EMRMODIFYWORLDTRANSFORM", EMRMODIFYWORLDTRANSFORM.sizeof }
161 { "EMROFFSETCLIPRGN", EMROFFSETCLIPRGN.sizeof }
162 { "EMRPLGBLT", EMRPLGBLT.sizeof }
163 { "EMRPOLYDRAW", EMRPOLYDRAW.sizeof }
164 { "EMRPOLYDRAW16", EMRPOLYDRAW16.sizeof }
165 { "EMRPOLYLINE", EMRPOLYLINE.sizeof }
166 { "EMRPOLYLINE16", EMRPOLYLINE16.sizeof }
167 { "EMRPOLYPOLYLINE", EMRPOLYPOLYLINE.sizeof }
168 { "EMRPOLYPOLYLINE16", EMRPOLYPOLYLINE16.sizeof }
169 { "EMRPOLYTEXTOUTA", EMRPOLYTEXTOUTA.sizeof }
170 { "EMRRESIZEPALETTE", EMRRESIZEPALETTE.sizeof }
171 { "EMRRESTOREDC", EMRRESTOREDC.sizeof }
172 { "EMRROUNDRECT", EMRROUNDRECT.sizeof }
173 { "EMRSCALEVIEWPORTEXTEX", EMRSCALEVIEWPORTEXTEX.sizeof }
174 { "EMRSELECTCLIPPATH", EMRSELECTCLIPPATH.sizeof }
175 { "EMRSELECTCOLORSPACE", EMRSELECTCOLORSPACE.sizeof }
176 { "EMRSELECTOBJECT", EMRSELECTOBJECT.sizeof }
177 { "EMRSELECTPALETTE", EMRSELECTPALETTE.sizeof }
178 { "EMRSETARCDIRECTION", EMRSETARCDIRECTION.sizeof }
179 { "EMRSETBKCOLOR", EMRSETBKCOLOR.sizeof }
180 { "EMRSETCOLORADJUSTMENT", EMRSETCOLORADJUSTMENT.sizeof }
181 { "EMRSETDIBITSTODEVICE", EMRSETDIBITSTODEVICE.sizeof }
182 { "EMRSETMAPPERFLAGS", EMRSETMAPPERFLAGS.sizeof }
183 { "EMRSETMITERLIMIT", EMRSETMITERLIMIT.sizeof }
184 { "EMRSETPALETTEENTRIES", EMRSETPALETTEENTRIES.sizeof }
185 { "EMRSETPIXELV", EMRSETPIXELV.sizeof }
186 { "EMRSETVIEWPORTEXTEX", EMRSETVIEWPORTEXTEX.sizeof }
187 { "EMRSETVIEWPORTORGEX", EMRSETVIEWPORTORGEX.sizeof }
188 { "EMRSETWORLDTRANSFORM", EMRSETWORLDTRANSFORM.sizeof }
189 { "EMRSTRETCHBLT", EMRSTRETCHBLT.sizeof }
190 { "EMRSTRETCHDIBITS", EMRSTRETCHDIBITS.sizeof }
191 { "EMRTEXT", EMRTEXT.sizeof }
192 { "ENCORRECTTEXT", ENCORRECTTEXT.sizeof }
193 { "ENDROPFILES", ENDROPFILES.sizeof }
194 { "ENHMETAHEADER", ENHMETAHEADER.sizeof }
195 { "ENHMETARECORD", ENHMETARECORD.sizeof }
196 { "ENOLEOPFAILED", ENOLEOPFAILED.sizeof }
197 { "ENPROTECTED", ENPROTECTED.sizeof }
198 { "ENSAVECLIPBOARD", ENSAVECLIPBOARD.sizeof }
199 { "ENUMLOGFONTA", ENUMLOGFONTA.sizeof }
200 { "ENUMLOGFONTEXA", ENUMLOGFONTEXA.sizeof }
201 { "ENUMLOGFONTEXW", ENUMLOGFONTEXW.sizeof }
202 { "ENUMLOGFONTW", ENUMLOGFONTW.sizeof }
203 { "ENUM_SERVICE_STATUS", ENUM_SERVICE_STATUS.sizeof }
204 { "EVENTLOGRECORD", EVENTLOGRECORD.sizeof }
205 { "EVENTMSG", EVENTMSG.sizeof }
206 { "EXCEPTION_DEBUG_INFO", EXCEPTION_DEBUG_INFO.sizeof }
207 { "EXCEPTION_POINTERS", EXCEPTION_POINTERS.sizeof }
208 { "EXCEPTION_RECORD", EXCEPTION_RECORD.sizeof }
209 { "EXIT_PROCESS_DEBUG_INFO", EXIT_PROCESS_DEBUG_INFO.sizeof }
210 { "EXIT_THREAD_DEBUG_INFO", EXIT_THREAD_DEBUG_INFO.sizeof }
211 { "EXT_BUTTON", EXT_BUTTON.sizeof }
212 { "EXTLOGFONT", EXTLOGFONT.sizeof }
213 { "EXTLOGPEN", EXTLOGPEN.sizeof }
214 { "FILETIME", FILETIME.sizeof }
215 { "FILTERKEYS", FILTERKEYS.sizeof }
216 { "FIND_NAME_BUFFER", FIND_NAME_BUFFER.sizeof }
217 { "FIND_NAME_HEADER", FIND_NAME_HEADER.sizeof }
218 { "FINDREPLACE", FINDREPLACE.sizeof }
219 { "FINDTEXTEX", FINDTEXTEX.sizeof }
220 { "FIXED", FIXED.sizeof }
221 { "FLOATING_SAVE_AREA", FLOATING_SAVE_AREA.sizeof }
222 { "FMS_GETDRIVEINFO", FMS_GETDRIVEINFO.sizeof }
223 { "FMS_GETFILESEL", FMS_GETFILESEL.sizeof }
224 { "FMS_LOAD", FMS_LOAD.sizeof }
225 { "FMS_TOOLBARLOAD", FMS_TOOLBARLOAD.sizeof }
226 { "FOCUS_EVENT_RECORD", FOCUS_EVENT_RECORD.sizeof }
227 { "FONTSIGNATURE", FONTSIGNATURE.sizeof }
228 { "FORMAT_PARAMETERS", FORMAT_PARAMETERS.sizeof }
229 { "FORMATRANGE", FORMATRANGE.sizeof }
230 { "FORM_INFO_1", FORM_INFO_1.sizeof }
231 { "GCP_RESULTSA", GCP_RESULTSA.sizeof }
232 { "GCP_RESULTSW", GCP_RESULTSW.sizeof }
233 { "GENERIC_MAPPING", GENERIC_MAPPING.sizeof }
234 { "GLYPHMETRICS", GLYPHMETRICS.sizeof }
235 { "GLYPHMETRICSFLOAT", GLYPHMETRICSFLOAT.sizeof }
236 { "GOFFSET", GOFFSET.sizeof }
237 { "GRADIENT_RECT", GRADIENT_RECT.sizeof }
238 { "GROUP_INFO_2", GROUP_INFO_2.sizeof }
239 { "__GUID", __GUID.sizeof }
240 { "GUITHREADINFO", GUITHREADINFO.sizeof }
241 { "HANDLETABLE", HANDLETABLE.sizeof }
242 { "HD_HITTESTINFO", HD_HITTESTINFO.sizeof }
243 { "HD_ITEM", HD_ITEM.sizeof }
244 { "HDITEMA", HDITEMA.sizeof }
245 { "HDITEMW", HDITEMW.sizeof }
246 { "HD_LAYOUT", HD_LAYOUT.sizeof }
247 { "HD_NOTIFY", HD_NOTIFY.sizeof }
248 { "HELPINFO", HELPINFO.sizeof }
249 { "HELPWININFO", HELPWININFO.sizeof }
250 { "HIGHCONTRASTA", HIGHCONTRASTA.sizeof }
251 { "HIGHCONTRASTW", HIGHCONTRASTW.sizeof }
252 { "HSZPAIR", HSZPAIR.sizeof }
253 { "ICONINFO", ICONINFO.sizeof }
254 { "ICONMETRICS", ICONMETRICS.sizeof }
255 { "IMAGE_DOS_HEADER", IMAGE_DOS_HEADER.sizeof }
256 { "IMAGEINFO", IMAGEINFO.sizeof }
257 { "INITCOMMONCONTROLSEX", INITCOMMONCONTROLSEX.sizeof }
258 { "INPUT", INPUT.sizeof }
259 { "INPUT_RECORD", INPUT_RECORD.sizeof }
260 { "ITEMIDLIST", ITEMIDLIST.sizeof }
261 { "JOB_INFO_1", JOB_INFO_1.sizeof }
262 { "JOB_INFO_2", JOB_INFO_2.sizeof }
263 { "KERNINGPAIR", KERNINGPAIR.sizeof }
264 { "KEYBDINPUT", KEYBDINPUT.sizeof }
265 { "KEY_EVENT_RECORD", KEY_EVENT_RECORD.sizeof }
266 { "LANA_ENUM", LANA_ENUM.sizeof }
267 { "LAYERPLANEDESCRIPTOR", LAYERPLANEDESCRIPTOR.sizeof }
268 { "LDT_ENTRY", LDT_ENTRY.sizeof }
269 { "LIST_ENTRY", LIST_ENTRY.sizeof }
270 { "LITEM", LITEM.sizeof }
271 { "LOAD_DLL_DEBUG_INFO", LOAD_DLL_DEBUG_INFO.sizeof }
272 { "LOCALESIGNATURE", LOCALESIGNATURE.sizeof }
273 { "LOCALGROUP_INFO_0", LOCALGROUP_INFO_0.sizeof }
274 { "LOCALGROUP_MEMBERS_INFO_0", LOCALGROUP_MEMBERS_INFO_0.sizeof }
275 { "LOCALGROUP_MEMBERS_INFO_3", LOCALGROUP_MEMBERS_INFO_3.sizeof }
276 { "LOGBRUSH", LOGBRUSH.sizeof }
277 { "LOGCOLORSPACE", LOGCOLORSPACE.sizeof }
278 { "LOGFONTA", LOGFONTA.sizeof }
279 { "LOGFONTW", LOGFONTW.sizeof }
280 { "LOGPALETTE", LOGPALETTE.sizeof }
281 { "LOGPEN", LOGPEN.sizeof }
282 { "LUID_AND_ATTRIBUTES", LUID_AND_ATTRIBUTES.sizeof }
283 { "LV_COLUMN", LV_COLUMN.sizeof }
284 { "LVCOLUMNA", LVCOLUMNA.sizeof }
285 { "LVCOLUMNW", LVCOLUMNW.sizeof }
286 { "LV_DISPINFO", LV_DISPINFO.sizeof }
287 { "LV_FINDINFO", LV_FINDINFO.sizeof }
288 { "LVFINDINFOA", LVFINDINFOA.sizeof }
289 { "LVFINDINFOW", LVFINDINFOW.sizeof }
290 { "LVHITTESTINFO", LVHITTESTINFO.sizeof }
291 { "LV_HITTESTINFO", LV_HITTESTINFO.sizeof }
292 { "LV_ITEM", LV_ITEM.sizeof }
293 { "LVITEMA", LVITEMA.sizeof }
294 { "LVITEMW", LVITEMW.sizeof }
295 { "LV_KEYDOWN", LV_KEYDOWN.sizeof }
296 { "MARGINS", MARGINS.sizeof }
297 { "MAT2", MAT2.sizeof }
298 { "MDICREATESTRUCT", MDICREATESTRUCT.sizeof }
299 { "MEASUREITEMSTRUCT", MEASUREITEMSTRUCT.sizeof }
300 { "MEMORY_BASIC_INFORMATION", MEMORY_BASIC_INFORMATION.sizeof }
301 { "MEMORYSTATUS", MEMORYSTATUS.sizeof }
302 { "MENUBARINFO", MENUBARINFO.sizeof }
303 { "MENU_EVENT_RECORD", MENU_EVENT_RECORD.sizeof }
304 { "MENUEX_TEMPLATE_HEADER", MENUEX_TEMPLATE_HEADER.sizeof }
305 { "MENUEX_TEMPLATE_ITEM", MENUEX_TEMPLATE_ITEM.sizeof }
306 { "MENUINFO", MENUINFO.sizeof }
307 { "MENUITEMINFOA", MENUITEMINFOA.sizeof }
308 { "MENUITEMINFOW", MENUITEMINFOW.sizeof }
309 { "MENUITEMTEMPLATE", MENUITEMTEMPLATE.sizeof }
310 { "MENUITEMTEMPLATEHEADER", MENUITEMTEMPLATEHEADER.sizeof }
311 { "MENUTEMPLATE", MENUTEMPLATE.sizeof }
312 { "METAFILEPICT", METAFILEPICT.sizeof }
313 { "METAHEADER", METAHEADER.sizeof }
314 { "METARECORD", METARECORD.sizeof }
315 { "MINIMIZEDMETRICS", MINIMIZEDMETRICS.sizeof }
316 { "MINMAXINFO", MINMAXINFO.sizeof }
317 { "MODEMDEVCAPS", MODEMDEVCAPS.sizeof }
318 { "MODEMSETTINGS", MODEMSETTINGS.sizeof }
319 { "MONCBSTRUCT", MONCBSTRUCT.sizeof }
320 { "MONCONVSTRUCT", MONCONVSTRUCT.sizeof }
321 { "MONERRSTRUCT", MONERRSTRUCT.sizeof }
322 { "MONHSZSTRUCT", MONHSZSTRUCT.sizeof }
323 { "MONITORINFO", MONITORINFO.sizeof }
324 { "MONITOR_INFO_1", MONITOR_INFO_1.sizeof }
325 { "MONITOR_INFO_2", MONITOR_INFO_2.sizeof }
326 { "MONLINKSTRUCT", MONLINKSTRUCT.sizeof }
327 { "MONMSGSTRUCT", MONMSGSTRUCT.sizeof }
328 { "MOUSE_EVENT_RECORD", MOUSE_EVENT_RECORD.sizeof }
329 { "MOUSEHOOKSTRUCT", MOUSEHOOKSTRUCT.sizeof }
330 { "MOUSEINPUT", MOUSEINPUT.sizeof }
331 { "MOUSEKEYS", MOUSEKEYS.sizeof }
332 { "MSG", MSG.sizeof }
333 { "MSGBOXPARAMS", MSGBOXPARAMS.sizeof }
334 { "MSGFILTER", MSGFILTER.sizeof }
335 { "MULTIKEYHELP", MULTIKEYHELP.sizeof }
336 { "NAME_BUFFER", NAME_BUFFER.sizeof }
337 { "NCB", NCB.sizeof }
338 { "NCCALCSIZE_PARAMS", NCCALCSIZE_PARAMS.sizeof }
339 { "NDDESHAREINFO", NDDESHAREINFO.sizeof }
340 { "NETCONNECTINFOSTRUCT", NETCONNECTINFOSTRUCT.sizeof }
341 { "NETINFOSTRUCT", NETINFOSTRUCT.sizeof }
342 { "NETRESOURCE", NETRESOURCE.sizeof }
343 { "NEWCPLINFO", NEWCPLINFO.sizeof }
344 { "NEWTEXTMETRICA", NEWTEXTMETRICA.sizeof }
345 { "NEWTEXTMETRICA ntm", NEWTEXTMETRICA ntm.sizeof }
346 { "NEWTEXTMETRICEXA", NEWTEXTMETRICEXA.sizeof }
347 { "NEWTEXTMETRICEXW", NEWTEXTMETRICEXW.sizeof }
348 { "NEWTEXTMETRICW", NEWTEXTMETRICW.sizeof }
349 { "NEWTEXTMETRICW ntm", NEWTEXTMETRICW ntm.sizeof }
350 { "NMCUSTOMDRAW", NMCUSTOMDRAW.sizeof }
351 { "NMHDR", NMHDR.sizeof }
352 { "NMHEADER", NMHEADER.sizeof }
353 { "NMLINK", NMLINK.sizeof }
354 { "NMLISTVIEW", NMLISTVIEW.sizeof }
355 { "NM_LISTVIEW", NM_LISTVIEW.sizeof }
356 { "NMLVCUSTOMDRAW", NMLVCUSTOMDRAW.sizeof }
357 { "NMLVDISPINFOA", NMLVDISPINFOA.sizeof }
358 { "NMLVDISPINFOW", NMLVDISPINFOW.sizeof }
359 { "NMLVFINDITEMA", NMLVFINDITEMA.sizeof }
360 { "NMLVFINDITEMW", NMLVFINDITEMW.sizeof }
361 { "NMLVODSTATECHANGE", NMLVODSTATECHANGE.sizeof }
362 { "NMREBARCHEVRON", NMREBARCHEVRON.sizeof }
363 { "NMREBARCHILDSIZE", NMREBARCHILDSIZE.sizeof }
364 { "NMRGINFO", NMRGINFO.sizeof }
365 { "NMTBHOTITEM", NMTBHOTITEM.sizeof }
366 { "NMTOOLBARA", NMTOOLBARA.sizeof }
367 { "NMTOOLBARW", NMTOOLBARW.sizeof }
368 { "NMTREEVIEW", NMTREEVIEW.sizeof }
369 { "NMTTCUSTOMDRAW", NMTTCUSTOMDRAW.sizeof }
370 { "NMTTDISPINFOA", NMTTDISPINFOA.sizeof }
371 { "NMTTDISPINFOW", NMTTDISPINFOW.sizeof }
372 { "NMTVCUSTOMDRAW", NMTVCUSTOMDRAW.sizeof }
373 { "NMTVDISPINFO", NMTVDISPINFO.sizeof }
374 { "NMTVITEMCHANGE", NMTVITEMCHANGE.sizeof }
375 { "NM_UPDOWNW", NM_UPDOWNW.sizeof }
376 { "NONCLIENTMETRICSA", NONCLIENTMETRICSA.sizeof }
377 { "NONCLIENTMETRICSW", NONCLIENTMETRICSW.sizeof }
378 { "NOTIFYICONDATAA", NOTIFYICONDATAA.sizeof }
379 { "NOTIFYICONDATAW", NOTIFYICONDATAW.sizeof }
380 { "NS_SERVICE_INFO", NS_SERVICE_INFO.sizeof }
381 { "NUMBERFMT", NUMBERFMT.sizeof }
382 { "_OBJECT_TYPE_LIST", _OBJECT_TYPE_LIST.sizeof }
383 { "OFNOTIFY", OFNOTIFY.sizeof }
384 { "OFSTRUCT", OFSTRUCT.sizeof }
385 { "OPENFILENAME", OPENFILENAME.sizeof }
386 { "OPENFILENAMEA", OPENFILENAMEA.sizeof }
387 { "OPENFILENAMEW", OPENFILENAMEW.sizeof }
388 { "OSVERSIONINFOA", OSVERSIONINFOA.sizeof }
389 { "OSVERSIONINFOEX", OSVERSIONINFOEX.sizeof }
390 { "OSVERSIONINFOW", OSVERSIONINFOW.sizeof }
391 { "OUTLINETEXTMETRICA", OUTLINETEXTMETRICA.sizeof }
392 { "OUTLINETEXTMETRICW", OUTLINETEXTMETRICW.sizeof }
393 { "OUTPUT_DEBUG_STRING_INFO", OUTPUT_DEBUG_STRING_INFO.sizeof }
394 { "OVERLAPPED", OVERLAPPED.sizeof }
395 { "PAINTSTRUCT", PAINTSTRUCT.sizeof }
396 { "PALETTEENTRY", PALETTEENTRY.sizeof }
397 { "PANOSE", PANOSE.sizeof }
398 { "PARAFORMAT", PARAFORMAT.sizeof }
399 { "PARTITION_INFORMATION", PARTITION_INFORMATION.sizeof }
400 { "PERF_COUNTER_BLOCK", PERF_COUNTER_BLOCK.sizeof }
401 { "PERF_COUNTER_DEFINITION", PERF_COUNTER_DEFINITION.sizeof }
402 { "PERF_DATA_BLOCK", PERF_DATA_BLOCK.sizeof }
403 { "PERF_INSTANCE_DEFINITION", PERF_INSTANCE_DEFINITION.sizeof }
404 { "PERF_OBJECT_TYPE", PERF_OBJECT_TYPE.sizeof }
405 { "PIXELFORMATDESCRIPTOR", PIXELFORMATDESCRIPTOR.sizeof }
406 { "POINT", POINT.sizeof }
407 { "POINTFLOAT", POINTFLOAT.sizeof }
408 { "POINTFX", POINTFX.sizeof }
409 { "POINTL", POINTL.sizeof }
410 { "POINTS", POINTS.sizeof }
411 { "POLYTEXT", POLYTEXT.sizeof }
412 { "PORT_INFO_1", PORT_INFO_1.sizeof }
413 { "PORT_INFO_2", PORT_INFO_2.sizeof }
414 { "PREVENT_MEDIA_REMOVAL", PREVENT_MEDIA_REMOVAL.sizeof }
415 { "PRINTDLGA pd", PRINTDLGA pd.sizeof }
416 { "PRINTDLGW pd", PRINTDLGW pd.sizeof }
417 { "PRINTER_DEFAULTS", PRINTER_DEFAULTS.sizeof }
418 { "PRINTER_INFO_1", PRINTER_INFO_1.sizeof }
419 { "PRINTER_INFO_2", PRINTER_INFO_2.sizeof }
420 { "PRINTER_INFO_3", PRINTER_INFO_3.sizeof }
421 { "PRINTER_INFO_4", PRINTER_INFO_4.sizeof }
422 { "PRINTER_INFO_5", PRINTER_INFO_5.sizeof }
423 { "PRINTER_NOTIFY_INFO", PRINTER_NOTIFY_INFO.sizeof }
424 { "PRINTER_NOTIFY_INFO_DATA", PRINTER_NOTIFY_INFO_DATA.sizeof }
425 { "PRINTER_NOTIFY_OPTIONS", PRINTER_NOTIFY_OPTIONS.sizeof }
426 { "PRINTER_NOTIFY_OPTIONS_TYPE", PRINTER_NOTIFY_OPTIONS_TYPE.sizeof }
427 { "PRINTPROCESSOR_INFO_1", PRINTPROCESSOR_INFO_1.sizeof }
428 { "PRIVILEGE_SET", PRIVILEGE_SET.sizeof }
429 { "PROCESS_HEAPENTRY", PROCESS_HEAPENTRY.sizeof }
430 { "PROCESS_INFORMATION", PROCESS_INFORMATION.sizeof }
431 { "PROPSHEETHEADER", PROPSHEETHEADER.sizeof }
432 { "PROPSHEETHEADER_U1", PROPSHEETHEADER_U1.sizeof }
433 { "PROPSHEETHEADER_U2", PROPSHEETHEADER_U2.sizeof }
434 { "PROPSHEETHEADER_U3", PROPSHEETHEADER_U3.sizeof }
435 { "PROPSHEETPAGE", PROPSHEETPAGE.sizeof }
436 { "PROPSHEETPAGE_U1", PROPSHEETPAGE_U1.sizeof }
437 { "PROPSHEETPAGE_U2", PROPSHEETPAGE_U2.sizeof }
438 { "PROTOCOL_INFO", PROTOCOL_INFO.sizeof }
439 { "PROVIDOR_INFO_1", PROVIDOR_INFO_1.sizeof }
440 { "PSHNOTIFY", PSHNOTIFY.sizeof }
441 { "PUNCTUATION", PUNCTUATION.sizeof }
442 { "QUERY_SERVICE_CONFIG", QUERY_SERVICE_CONFIG.sizeof }
443 { "QUERY_SERVICE_LOCK_STATUS", QUERY_SERVICE_LOCK_STATUS.sizeof }
444 { "RASAMB", RASAMB.sizeof }
445 { "RASCONN", RASCONN.sizeof }
446 { "RASCONNSTATUS", RASCONNSTATUS.sizeof }
447 { "RASDIALEXTENSIONS", RASDIALEXTENSIONS.sizeof }
448 { "RASDIALPARAMS", RASDIALPARAMS.sizeof }
449 { "RASENTRYNAME", RASENTRYNAME.sizeof }
450 { "RASPPPIP", RASPPPIP.sizeof }
451 { "RASPPPIPX", RASPPPIPX.sizeof }
452 { "RASPPPNBF", RASPPPNBF.sizeof }
453 { "RASTERIZER_STATUS", RASTERIZER_STATUS.sizeof }
454 { "REASSIGN_BLOCKS", REASSIGN_BLOCKS.sizeof }
455 { "REBARBANDINFOA", REBARBANDINFOA.sizeof }
456 { "REBARBANDINFOW", REBARBANDINFOW.sizeof }
457 { "RECT", RECT.sizeof }
458 { "RECTL", RECTL.sizeof }
459 { "REMOTE_NAME_INFO", REMOTE_NAME_INFO.sizeof }
460 { "REPASTESPECIAL", REPASTESPECIAL.sizeof }
461 { "REQRESIZE", REQRESIZE.sizeof }
462 { "RGBQUAD", RGBQUAD.sizeof }
463 { "RGBQUAD rgbq", RGBQUAD rgbq.sizeof }
464 { "RGBTRIPLE", RGBTRIPLE.sizeof }
465 { "RGNDATA", RGNDATA.sizeof }
466 { "RGNDATAHEADER", RGNDATAHEADER.sizeof }
467 { "RIP_INFO", RIP_INFO.sizeof }
468 { "SCRIPT_ANALYSIS", SCRIPT_ANALYSIS.sizeof }
469 { "SCRIPT_CONTROL", SCRIPT_CONTROL.sizeof }
470 { "SCRIPT_DIGITSUBSTITUTE", SCRIPT_DIGITSUBSTITUTE.sizeof }
471 { "SCRIPT_FONTPROPERTIES", SCRIPT_FONTPROPERTIES.sizeof }
472 { "SCRIPT_ITEM", SCRIPT_ITEM.sizeof }
473 { "SCRIPT_LOGATTR", SCRIPT_LOGATTR.sizeof }
474 { "SCRIPT_PROPERTIES", SCRIPT_PROPERTIES.sizeof }
475 { "SCRIPT_STATE", SCRIPT_STATE.sizeof }
476 { "SCRIPT_TABDEF", SCRIPT_TABDEF.sizeof }
477 { "SCRIPT_VISATTR", SCRIPT_VISATTR.sizeof }
478 { "SCROLLBARINFO", SCROLLBARINFO.sizeof }
479 { "SCROLLINFO", SCROLLINFO.sizeof }
480 { "SECURITY_ATTRIBUTES", SECURITY_ATTRIBUTES.sizeof }
481 { "SECURITY_DESCRIPTOR", SECURITY_DESCRIPTOR.sizeof }
482 { "SECURITY_QUALITY_OF_SERVICE", SECURITY_QUALITY_OF_SERVICE.sizeof }
483 { "SELCHANGE", SELCHANGE.sizeof }
484 { "SERIALKEYS", SERIALKEYS.sizeof }
485 { "SERVICE_ADDRESS", SERVICE_ADDRESS.sizeof }
486 { "SERVICE_ADDRESSES", SERVICE_ADDRESSES.sizeof }
487 { "SERVICE_INFO", SERVICE_INFO.sizeof }
488 { "SERVICE_STATUS", SERVICE_STATUS.sizeof }
489 { "SERVICE_TABLE_ENTRY", SERVICE_TABLE_ENTRY.sizeof }
490 { "SERVICE_TYPE_INFO_ABS", SERVICE_TYPE_INFO_ABS.sizeof }
491 { "SERVICE_TYPE_VALUE_ABS", SERVICE_TYPE_VALUE_ABS.sizeof }
492 { "SESSION_BUFFER", SESSION_BUFFER.sizeof }
493 { "SESSION_HEADER", SESSION_HEADER.sizeof }
494 { "SET_PARTITION_INFORMATION", SET_PARTITION_INFORMATION.sizeof }
495 { "SHACTIVATEINFO", SHACTIVATEINFO.sizeof }
496 { "SHDRAGIMAGE", SHDRAGIMAGE.sizeof }
497 { "SHELLEXECUTEINFOA", SHELLEXECUTEINFOA.sizeof }
498 { "SHELLEXECUTEINFOW", SHELLEXECUTEINFOW.sizeof }
499 { "SHFILEINFOA", SHFILEINFOA.sizeof }
500 { "SHFILEINFOW", SHFILEINFOW.sizeof }
501 { "SHFILEOPSTRUCT", SHFILEOPSTRUCT.sizeof }
502 { "SHITEMID", SHITEMID.sizeof }
503 { "SHMENUBARINFO", SHMENUBARINFO.sizeof }
504 { "SHNAMEMAPPING", SHNAMEMAPPING.sizeof }
505 { "SHRGINFO", SHRGINFO.sizeof }
506 { "SID", SID.sizeof }
507 { "SID_AND_ATTRIBUTES", SID_AND_ATTRIBUTES.sizeof }
508 { "SID_IDENTIFIER_AUTHORITY", SID_IDENTIFIER_AUTHORITY.sizeof }
509 { "SINGLE_LIST_ENTRY", SINGLE_LIST_ENTRY.sizeof }
510 { "SIPINFO", SIPINFO.sizeof }
511 { "SIZE", SIZE.sizeof }
512 { "SMALL_RECT", SMALL_RECT.sizeof }
513 { "SOUNDSENTRY", SOUNDSENTRY.sizeof }
514 { "STARTUPINFO", STARTUPINFO.sizeof }
515 { "STICKYKEYS", STICKYKEYS.sizeof }
516 { "STRRET", STRRET.sizeof }
517 { "STYLEBUF", STYLEBUF.sizeof }
518 { "STYLESTRUCT", STYLESTRUCT.sizeof }
519 { "SYSTEM_AUDIT_ACE", SYSTEM_AUDIT_ACE.sizeof }
520 { "SYSTEM_INFO", SYSTEM_INFO.sizeof }
521 { "SYSTEM_INFO_U", SYSTEM_INFO_U.sizeof }
522 { "SYSTEM_POWER_STATUS", SYSTEM_POWER_STATUS.sizeof }
523 { "SYSTEMTIME", SYSTEMTIME.sizeof }
524 { "tagMONITORINFO", tagMONITORINFO.sizeof }
525 { "tagMONITORINFOEX", tagMONITORINFOEX.sizeof }
526 { "TAPE_ERASE", TAPE_ERASE.sizeof }
527 { "TAPE_GET_DRIVE_PARAMETERS", TAPE_GET_DRIVE_PARAMETERS.sizeof }
528 { "TAPE_GET_MEDIA_PARAMETERS", TAPE_GET_MEDIA_PARAMETERS.sizeof }
529 { "TAPE_GET_POSITION", TAPE_GET_POSITION.sizeof }
530 { "TAPE_PREPARE", TAPE_PREPARE.sizeof }
531 { "TAPE_SET_DRIVE_PARAMETERS", TAPE_SET_DRIVE_PARAMETERS.sizeof }
532 { "TAPE_SET_MEDIA_PARAMETERS", TAPE_SET_MEDIA_PARAMETERS.sizeof }
533 { "TAPE_SET_POSITION", TAPE_SET_POSITION.sizeof }
534 { "TAPE_WRITE_MARKS", TAPE_WRITE_MARKS.sizeof }
535 { "TBADDBITMAP", TBADDBITMAP.sizeof }
536 { "TBBUTTON", TBBUTTON.sizeof }
537 { "TBBUTTONINFOA", TBBUTTONINFOA.sizeof }
538 { "TBBUTTONINFOW", TBBUTTONINFOW.sizeof }
539 { "TBNOTIFY", TBNOTIFY.sizeof }
540 { "TBSAVEPARAMS", TBSAVEPARAMS.sizeof }
541 { "TC_HITTESTINFO", TC_HITTESTINFO.sizeof }
542 { "TC_ITEM", TC_ITEM.sizeof }
543 { "TCITEMA", TCITEMA.sizeof }
544 { "TC_ITEMHEADER", TC_ITEMHEADER.sizeof }
545 { "TCITEMW", TCITEMW.sizeof }
546 { "TC_KEYDOWN", TC_KEYDOWN.sizeof }
547 { "TEXTMETRICA", TEXTMETRICA.sizeof }
548 { "TEXTMETRICW", TEXTMETRICW.sizeof }
549 { "TEXTRANGE", TEXTRANGE.sizeof }
550 { "TF_DA_COLOR", TF_DA_COLOR.sizeof }
551 { "TF_DISPLAYATTRIBUTE", TF_DISPLAYATTRIBUTE.sizeof }
552 { "TFINDTEXT", TFINDTEXT.sizeof }
553 { "TIME_ZONE_INFORMATION", TIME_ZONE_INFORMATION.sizeof }
554 { "TOGGLEKEYS", TOGGLEKEYS.sizeof }
555 { "TOKEN_CONTROL", TOKEN_CONTROL.sizeof }
556 { "TOKEN_DEFAULT_DACL", TOKEN_DEFAULT_DACL.sizeof }
557 { "TOKEN_GROUPS", TOKEN_GROUPS.sizeof }
558 { "TOKEN_OWNER", TOKEN_OWNER.sizeof }
559 { "TOKEN_PRIMARY_GROUP", TOKEN_PRIMARY_GROUP.sizeof }
560 { "TOKEN_PRIVILEGES", TOKEN_PRIVILEGES.sizeof }
561 { "TOKEN_SOURCE", TOKEN_SOURCE.sizeof }
562 { "TOKEN_STATISTICS", TOKEN_STATISTICS.sizeof }
563 { "TOKEN_USER", TOKEN_USER.sizeof }
564 { "TOOLINFOA", TOOLINFOA.sizeof }
565 { "TOOLINFOW", TOOLINFOW.sizeof }
566 { "TOOLTIPTEXTA", TOOLTIPTEXTA.sizeof }
567 { "TOOLTIPTEXTW", TOOLTIPTEXTW.sizeof }
568 { "TPAGESETUPDLG", TPAGESETUPDLG.sizeof }
569 { "TPMPARAMS", TPMPARAMS.sizeof }
570 { "TRACKMOUSEEVENT", TRACKMOUSEEVENT.sizeof }
571 { "TRANSMIT_FILE_BUFFERS", TRANSMIT_FILE_BUFFERS.sizeof }
572 { "TREEITEM", TREEITEM.sizeof }
573 { "TRIVERTEX", TRIVERTEX.sizeof }
574 { "TSMALLPOINT", TSMALLPOINT.sizeof }
575 { "TTHITTESTINFO", TTHITTESTINFO.sizeof }
576 { "TTPOLYCURVE", TTPOLYCURVE.sizeof }
577 { "TTPOLYGONHEADER", TTPOLYGONHEADER.sizeof }
578 { "TVARIANT", TVARIANT.sizeof }
579 { "TV_DISPINFO", TV_DISPINFO.sizeof }
580 { "TVHITTESTINFO", TVHITTESTINFO.sizeof }
581 { "TV_HITTESTINFO", TV_HITTESTINFO.sizeof }
582 { "TVINSERTSTRUCTA", TVINSERTSTRUCTA.sizeof }
583 { "TVINSERTSTRUCTW", TVINSERTSTRUCTW.sizeof }
584 { "TVITEMA", TVITEMA.sizeof }
585 { "TVITEMW", TVITEMW.sizeof }
586 { "TV_KEYDOWN", TV_KEYDOWN.sizeof }
587 { "TVSORTCB", TVSORTCB.sizeof }
588 { "TV_SORTCB", TV_SORTCB.sizeof }
589 { "TWAVEFORMATEX", TWAVEFORMATEX.sizeof }
590 { "UDACCEL", UDACCEL.sizeof }
591 { "UNIVERSAL_NAME_INFO", UNIVERSAL_NAME_INFO.sizeof }
592 { "UNLOAD_DLL_DEBUG_INFO", UNLOAD_DLL_DEBUG_INFO.sizeof }
593 { "USER_INFO_0", USER_INFO_0.sizeof }
594 { "USER_INFO_2", USER_INFO_2.sizeof }
595 { "USER_INFO_3", USER_INFO_3.sizeof }
596 { "USEROBJECTFLAGS", USEROBJECTFLAGS.sizeof }
597 { "VALENT", VALENT.sizeof }
598 { "VA_LIST", VA_LIST.sizeof }
599 { "VERIFY_INFORMATION", VERIFY_INFORMATION.sizeof }
600 { "VS_FIXEDFILEINFO", VS_FIXEDFILEINFO.sizeof }
601 { "WIN32_FILE_ATTRIBUTE_DATA", WIN32_FILE_ATTRIBUTE_DATA.sizeof }
602 { "WIN32_FIND_DATA", WIN32_FIND_DATA.sizeof }
603 { "WIN32_FIND_DATAW", WIN32_FIND_DATAW.sizeof }
604 { "WIN32_STREAM_ID", WIN32_STREAM_ID.sizeof }
605 { "WINDOW_BUFFER_SIZE_RECORD", WINDOW_BUFFER_SIZE_RECORD.sizeof }
606 { "WINDOWINFO", WINDOWINFO.sizeof }
607 { "WINDOWPLACEMENT", WINDOWPLACEMENT.sizeof }
608 { "WINDOWPOS", WINDOWPOS.sizeof }
609 { "WNDCLASSA", WNDCLASSA.sizeof }
610 { "WNDCLASSEX", WNDCLASSEX.sizeof }
611 { "WNDCLASSW", WNDCLASSW.sizeof }
612 { "XFORM", XFORM.sizeof }
613 ];
614
615 int main( char[][] args ){
616 foreach( v; size_values ){
617 printf( "%.*s\t%d\n", v.name, v.size );
618 }
619 return 0;
620 }
621
622
623