Added support for the Win32 Console interface to the main DOSVM event
[wine] / include / shell.h
1 /*
2  *                              Shell Library definitions
3  */
4 #ifndef __WINE_SHELL_H
5 #define __WINE_SHELL_H
6
7 #include "windef.h"
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif /* defined(__cplusplus) */
12
13 /****************************************************************************
14 * shell 16
15 */
16 extern void SHELL_LoadRegistry(void);
17
18 /* global functions used from shell32 */
19 extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
20 extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
21
22 /****************************************************************************
23 * shell 32
24 */
25 /****************************************************************************
26 * common return codes 
27 */
28 #define SHELL_ERROR_SUCCESS           0L
29 #define SHELL_ERROR_BADDB             1L
30 #define SHELL_ERROR_BADKEY            2L
31 #define SHELL_ERROR_CANTOPEN          3L
32 #define SHELL_ERROR_CANTREAD          4L
33 #define SHELL_ERROR_CANTWRITE         5L
34 #define SHELL_ERROR_OUTOFMEMORY       6L
35 #define SHELL_ERROR_INVALID_PARAMETER 7L
36 #define SHELL_ERROR_ACCESS_DENIED     8L
37
38 /****************************************************************************
39 * common shell file structures 
40 */
41 /******************************
42 * DRAG&DROP API
43 */
44 typedef struct {           /* structure for dropped files */ 
45         WORD            wSize;
46         POINT16         ptMousePos;   
47         BOOL16          fInNonClientArea;
48         /* memory block with filenames follows */     
49 } DROPFILESTRUCT16, *LPDROPFILESTRUCT16; 
50
51 typedef struct {           /* structure for dropped files */ 
52         DWORD           lSize;
53         POINT           ptMousePos;   
54         BOOL            fInNonClientArea;
55         BOOL          fWideChar;
56         /* memory block with filenames follows */     
57 } DROPFILESTRUCT, *LPDROPFILESTRUCT; 
58
59
60 /****************************************************************************
61 * SHITEMID, ITEMIDLIST, PIDL API 
62 */
63 #include "pshpack1.h"
64 typedef struct 
65 { WORD  cb;     /* nr of bytes in this item */
66   BYTE  abID[1];/* first byte in this item */
67 } SHITEMID,*LPSHITEMID;
68 typedef LPSHITEMID const LPCSHITEMID;
69
70 typedef struct 
71 { SHITEMID mkid; /* first itemid in list */
72 } ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
73 #include "poppack.h"
74
75 BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
76 BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
77 #define  SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
78
79 /****************************************************************************
80 * SHAddToRecentDocs API
81 */
82 #define SHARD_PIDL      0x00000001L
83 #define SHARD_PATH      0x00000002L
84
85 DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
86
87 /****************************************************************************
88 *  other functions
89 */
90
91 #ifdef __cplusplus
92 } /* extern "C" */
93 #endif /* defined(__cplusplus) */
94
95 #endif  /* __WINE_SHELL_H */