Moved X input event handling out of EVENT_WaitNetEvent and into
[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
10 /****************************************************************************
11 * shell 16
12 */
13 extern void SHELL_LoadRegistry(void);
14 extern void SHELL_SaveRegistry(void);
15 extern void SHELL_Init(void);
16
17 /* global functions used from shell32 */
18 extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
19 extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
20
21 /****************************************************************************
22 * shell 32
23 */
24 /****************************************************************************
25 * common return codes 
26 */
27 #define SHELL_ERROR_SUCCESS           0L
28 #define SHELL_ERROR_BADDB             1L
29 #define SHELL_ERROR_BADKEY            2L
30 #define SHELL_ERROR_CANTOPEN          3L
31 #define SHELL_ERROR_CANTREAD          4L
32 #define SHELL_ERROR_CANTWRITE         5L
33 #define SHELL_ERROR_OUTOFMEMORY       6L
34 #define SHELL_ERROR_INVALID_PARAMETER 7L
35 #define SHELL_ERROR_ACCESS_DENIED     8L
36
37 /****************************************************************************
38 * common shell file structures 
39 */
40 /******************************
41 * DRAG&DROP API
42 */
43 typedef struct {           /* structure for dropped files */ 
44         WORD            wSize;
45         POINT16         ptMousePos;   
46         BOOL16          fInNonClientArea;
47         /* memory block with filenames follows */     
48 } DROPFILESTRUCT16, *LPDROPFILESTRUCT16; 
49
50 typedef struct {           /* structure for dropped files */ 
51         DWORD           lSize;
52         POINT           ptMousePos;   
53         BOOL            fInNonClientArea;
54         BOOL          fWideChar;
55         /* memory block with filenames follows */     
56 } DROPFILESTRUCT, *LPDROPFILESTRUCT; 
57
58
59 /****************************************************************************
60 * SHITEMID, ITEMIDLIST, PIDL API 
61 */
62 #include "pshpack1.h"
63 typedef struct 
64 { WORD  cb;     /* nr of bytes in this item */
65   BYTE  abID[1];/* first byte in this item */
66 } SHITEMID,*LPSHITEMID;
67
68 typedef struct 
69 { SHITEMID mkid; /* first itemid in list */
70 } ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
71 #include "poppack.h"
72
73 DWORD WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
74 DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
75 #define  SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
76
77
78
79 /****************************************************************************
80 * SHChangeNotifyRegister API
81 */
82 typedef struct
83 { LPITEMIDLIST pidl;
84   DWORD unknown;
85 } IDSTRUCT;
86
87 DWORD WINAPI SHChangeNotifyRegister(HWND hwnd,LONG events1,LONG events2,DWORD msg,int count,IDSTRUCT *idlist);
88 DWORD WINAPI SHChangeNotifyDeregister(LONG x1);
89
90 /****************************************************************************
91 * SHAddToRecentDocs API
92 */
93 #define SHARD_PIDL      0x00000001L
94 #define SHARD_PATH      0x00000002L
95
96 DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
97
98 /****************************************************************************
99 * SHGetSpecialFolderLocation API
100 */
101 HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
102 /****************************************************************************
103 *  string and path functions
104 */
105 BOOL WINAPI PathIsRootA(LPCSTR x);
106 BOOL WINAPI PathIsRootW(LPCWSTR x);
107 #define  PathIsRoot WINELIB_NAME_AW(PathIsRoot)
108 BOOL WINAPI PathIsRootAW(LPCVOID x);
109
110 LPSTR  WINAPI PathAddBackslashA(LPSTR path);    
111 LPWSTR WINAPI PathAddBackslashW(LPWSTR path);   
112 #define  PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
113 LPVOID  WINAPI PathAddBackslashAW(LPVOID path); 
114
115 BOOL  WINAPI PathQualifyA(LPCSTR path); 
116 BOOL WINAPI PathQualifyW(LPCWSTR path); 
117 #define  PathQualify WINELIB_NAME_AW(PathQualify)
118 BOOL  WINAPI PathQualifyAW(LPCVOID path);       
119
120 LPSTR  WINAPI PathQuoteSpacesA(LPCSTR path);    
121 LPWSTR WINAPI PathQuoteSpacesW(LPCWSTR path);   
122 #define  PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
123 LPVOID  WINAPI PathQuoteSpacesAW(LPCVOID path); 
124
125 LPSTR  WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
126 LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
127 #define  PathCombine WINELIB_NAME_AW(PathCombine)
128 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
129
130 LPCSTR WINAPI PathFindExtensionA(LPCSTR path);
131 LPCWSTR WINAPI PathFindExtensionW(LPCWSTR path);
132 #define  PathFindExtension WINELIB_NAME_AW(PathFindExtension)
133 LPCVOID WINAPI PathFindExtensionAW(LPCVOID path); 
134
135 LPCSTR WINAPI PathGetExtensionA(LPCSTR path, DWORD y, DWORD x);
136 LPCWSTR WINAPI PathGetExtensionW(LPCWSTR path, DWORD y, DWORD x);
137 #define  PathGetExtension WINELIB_NAME_AW(PathGetExtension)
138 LPCVOID WINAPI PathGetExtensionAW(LPCVOID path, DWORD y, DWORD x); 
139
140 LPCSTR WINAPI PathFindFilenameA(LPCSTR path);
141 LPCWSTR WINAPI PathFindFilenameW(LPCWSTR path);
142 #define  PathFindFilename WINELIB_NAME_AW(PathFindFilename)
143 LPCVOID WINAPI PathFindFilenameAW(LPCVOID path); 
144
145 BOOL WINAPI PathMatchSpecA(LPCSTR x, LPCSTR y);
146 BOOL WINAPI PathMatchSpecW(LPCWSTR x, LPCWSTR y);
147 #define  PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
148 BOOL WINAPI PathMatchSpecAW(LPVOID x, LPVOID y);
149
150 LPSTR WINAPI PathRemoveBlanksA(LPSTR str);
151 LPWSTR WINAPI PathRemoveBlanksW(LPWSTR str);
152 #define  PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
153 LPVOID WINAPI PathRemoveBlanksAW(LPVOID str);
154
155 BOOL WINAPI PathIsRelativeA(LPCSTR str);
156 BOOL WINAPI PathIsRelativeW(LPCWSTR str);
157 #define  PathIsRelative WINELIB_NAME_AW(PathIsRelative)
158 BOOL WINAPI PathIsRelativeAW(LPCVOID str);
159
160 BOOL WINAPI PathIsUNCA(LPCSTR str);
161 BOOL WINAPI PathIsUNCW(LPCWSTR str);
162 #define  PathIsUNC WINELIB_NAME_AW(PathIsUNC)
163 BOOL WINAPI PathIsUNCAW(LPCVOID str);
164
165 BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
166 BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
167 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
168 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
169
170 LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
171 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
172 #define  StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
173
174 /****************************************************************************
175 *  other functions
176 */
177
178 LPVOID WINAPI SHAlloc(DWORD len);
179 DWORD WINAPI SHFree(LPVOID x);
180
181 #define CSIDL_DESKTOP           0x0000
182 #define CSIDL_PROGRAMS          0x0002
183 #define CSIDL_CONTROLS          0x0003
184 #define CSIDL_PRINTERS          0x0004
185 #define CSIDL_PERSONAL          0x0005
186 #define CSIDL_FAVORITES         0x0006
187 #define CSIDL_STARTUP           0x0007
188 #define CSIDL_RECENT            0x0008
189 #define CSIDL_SENDTO            0x0009
190 #define CSIDL_BITBUCKET         0x000a
191 #define CSIDL_STARTMENU         0x000b
192 #define CSIDL_DESKTOPDIRECTORY  0x0010
193 #define CSIDL_DRIVES            0x0011
194 #define CSIDL_NETWORK           0x0012
195 #define CSIDL_NETHOOD           0x0013
196 #define CSIDL_FONTS             0x0014
197 #define CSIDL_TEMPLATES         0x0015
198 #define CSIDL_COMMON_STARTMENU  0x0016
199 #define CSIDL_COMMON_PROGRAMS   0X0017
200 #define CSIDL_COMMON_STARTUP    0x0018
201 #define CSIDL_COMMON_DESKTOPDIRECTORY   0x0019
202 #define CSIDL_APPDATA           0x001a
203 #define CSIDL_PRINTHOOD         0x001b
204 #define CSIDL_ALTSTARTUP        0x001d
205 #define CSIDL_COMMON_ALTSTARTUP 0x001e
206 #define CSIDL_COMMON_FAVORITES  0x001f
207 #define CSIDL_INTERNET_CACHE    0x0020
208 #define CSIDL_COOKIES           0x0021
209 #define CSIDL_HISTORY           0x0022
210
211 #endif  /* __WINE_SHELL_H */