 
 TYPEDEF: ULONG SFGAOF
 
-C-STRUCT: DROPFILES
-    { "DWORD" "pFiles" }
-    { "POINT" "pt" }
-    { "BOOL" "fNC" }
-    { "BOOL" "fWide" } ;
+STRUCT: DROPFILES
+    { pFiles DWORD }
+    { pt POINT }
+    { fNC BOOL }
+    { fWide BOOL } ;
 TYPEDEF: DROPFILES* LPDROPFILES
 TYPEDEF: DROPFILES* LPCDROPFILES
 TYPEDEF: HANDLE HDROP
 
-C-STRUCT: SHITEMID
-    { "USHORT" "cb" }
-    { "BYTE[1]" "abID" } ;
+STRUCT: SHITEMID
+    { cb USHORT }
+    { abID BYTE[1] } ;
 TYPEDEF: SHITEMID* LPSHITEMID
 TYPEDEF: SHITEMID* LPCSHITEMID
 
-C-STRUCT: ITEMIDLIST
-    { "SHITEMID" "mkid" } ;
+STRUCT: ITEMIDLIST
+    { mkid SHITEMID } ;
 TYPEDEF: ITEMIDLIST* LPITEMIDLIST
 TYPEDEF: ITEMIDLIST* LPCITEMIDLIST
 TYPEDEF: ITEMIDLIST ITEMID_CHILD

CONSTANT: STRRET_CSTR 2

C-UNION: STRRET-union "LPWSTR" "LPSTR" "UINT" "char[260]" ;
C-STRUCT: STRRET
    { "int" "uType" }
    { "STRRET-union" "union" } ;

COM-INTERFACE: IEnumIDList IUnknown {000214F2-0000-0000-C000-000000000046}
    HRESULT Next ( ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched )

USING: alien alien.c-types alien.strings alien.syntax
combinators io.encodings.utf16n io.files io.pathnames kernel
windows.errors windows.com windows.com.syntax windows.user32
windows.ole32 windows specialized-arrays.ushort classes.struct ;
IN: windows.shell32

CONSTANT: CSIDL_DESKTOP HEX: 00
