2 * Shell Library definitions
11 #endif /* defined(__cplusplus) */
13 /****************************************************************************
16 extern void SHELL_LoadRegistry(void);
18 /* global functions used from shell32 */
19 extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
20 extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
22 /****************************************************************************
25 /****************************************************************************
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
38 /****************************************************************************
39 * common shell file structures
41 /******************************
44 typedef struct { /* structure for dropped files */
47 BOOL16 fInNonClientArea;
48 /* memory block with filenames follows */
49 } DROPFILESTRUCT16, *LPDROPFILESTRUCT16;
51 typedef struct { /* structure for dropped files */
54 BOOL fInNonClientArea;
56 /* memory block with filenames follows */
57 } DROPFILESTRUCT, *LPDROPFILESTRUCT;
60 /****************************************************************************
61 * SHITEMID, ITEMIDLIST, PIDL API
65 { WORD cb; /* nr of bytes in this item */
66 BYTE abID[1];/* first byte in this item */
67 } SHITEMID,*LPSHITEMID;
70 { SHITEMID mkid; /* first itemid in list */
71 } ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
74 BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
75 BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
76 #define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
78 /****************************************************************************
79 * SHAddToRecentDocs API
81 #define SHARD_PIDL 0x00000001L
82 #define SHARD_PATH 0x00000002L
84 DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
86 /****************************************************************************
87 * SHGetSpecialFolderLocation API
89 HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
90 /****************************************************************************
91 * string and path functions
93 BOOL WINAPI PathIsRootA(LPCSTR x);
94 BOOL WINAPI PathIsRootW(LPCWSTR x);
95 #define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
96 BOOL WINAPI PathIsRootAW(LPCVOID x);
98 LPSTR WINAPI PathAddBackslashA(LPSTR path);
99 LPWSTR WINAPI PathAddBackslashW(LPWSTR path);
100 #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
101 LPVOID WINAPI PathAddBackslashAW(LPVOID path);
103 BOOL WINAPI PathQualifyA(LPCSTR path);
104 BOOL WINAPI PathQualifyW(LPCWSTR path);
105 #define PathQualify WINELIB_NAME_AW(PathQualify)
106 BOOL WINAPI PathQualifyAW(LPCVOID path);
108 LPSTR WINAPI PathQuoteSpacesA(LPCSTR path);
109 LPWSTR WINAPI PathQuoteSpacesW(LPCWSTR path);
110 #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
111 LPVOID WINAPI PathQuoteSpacesAW(LPCVOID path);
113 LPSTR WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
114 LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
115 #define PathCombine WINELIB_NAME_AW(PathCombine)
116 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
118 LPCSTR WINAPI PathFindExtensionA(LPCSTR path);
119 LPCWSTR WINAPI PathFindExtensionW(LPCWSTR path);
120 #define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
121 LPCVOID WINAPI PathFindExtensionAW(LPCVOID path);
123 LPCSTR WINAPI PathGetExtensionA(LPCSTR path, DWORD y, DWORD x);
124 LPCWSTR WINAPI PathGetExtensionW(LPCWSTR path, DWORD y, DWORD x);
125 #define PathGetExtension WINELIB_NAME_AW(PathGetExtension)
126 LPCVOID WINAPI PathGetExtensionAW(LPCVOID path, DWORD y, DWORD x);
128 LPCSTR WINAPI PathFindFilenameA(LPCSTR path);
129 LPCWSTR WINAPI PathFindFilenameW(LPCWSTR path);
130 #define PathFindFilename WINELIB_NAME_AW(PathFindFilename)
131 LPCVOID WINAPI PathFindFilenameAW(LPCVOID path);
133 BOOL WINAPI PathMatchSpecA(LPCSTR x, LPCSTR y);
134 BOOL WINAPI PathMatchSpecW(LPCWSTR x, LPCWSTR y);
135 #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
136 BOOL WINAPI PathMatchSpecAW(LPVOID x, LPVOID y);
138 LPSTR WINAPI PathRemoveBlanksA(LPSTR str);
139 LPWSTR WINAPI PathRemoveBlanksW(LPWSTR str);
140 #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
141 LPVOID WINAPI PathRemoveBlanksAW(LPVOID str);
143 BOOL WINAPI PathIsRelativeA(LPCSTR str);
144 BOOL WINAPI PathIsRelativeW(LPCWSTR str);
145 #define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
146 BOOL WINAPI PathIsRelativeAW(LPCVOID str);
148 BOOL WINAPI PathIsUNCA(LPCSTR str);
149 BOOL WINAPI PathIsUNCW(LPCWSTR str);
150 #define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
151 BOOL WINAPI PathIsUNCAW(LPCVOID str);
153 BOOL WINAPI PathIsURLA(LPCSTR str);
154 BOOL WINAPI PathIsURLW(LPCWSTR str);
155 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
156 BOOL WINAPI PathIsURLAW(LPCVOID str);
158 BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
159 BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
160 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
161 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
163 LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
164 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
165 #define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
167 DWORD WINAPI PathCleanupSpecA(LPSTR x, LPSTR y);
168 DWORD WINAPI PathCleanupSpecW(LPWSTR x, LPWSTR y);
169 #define PathCleanupSpec WINELIB_NAME_AW(PathCleanupSpec)
171 /****************************************************************************
175 LPVOID WINAPI SHAlloc(DWORD len);
176 DWORD WINAPI SHFree(LPVOID x);
178 #define CSIDL_DESKTOP 0x0000
179 #define CSIDL_PROGRAMS 0x0002
180 #define CSIDL_CONTROLS 0x0003
181 #define CSIDL_PRINTERS 0x0004
182 #define CSIDL_PERSONAL 0x0005
183 #define CSIDL_FAVORITES 0x0006
184 #define CSIDL_STARTUP 0x0007
185 #define CSIDL_RECENT 0x0008
186 #define CSIDL_SENDTO 0x0009
187 #define CSIDL_BITBUCKET 0x000a
188 #define CSIDL_STARTMENU 0x000b
189 #define CSIDL_DESKTOPDIRECTORY 0x0010
190 #define CSIDL_DRIVES 0x0011
191 #define CSIDL_NETWORK 0x0012
192 #define CSIDL_NETHOOD 0x0013
193 #define CSIDL_FONTS 0x0014
194 #define CSIDL_TEMPLATES 0x0015
195 #define CSIDL_COMMON_STARTMENU 0x0016
196 #define CSIDL_COMMON_PROGRAMS 0X0017
197 #define CSIDL_COMMON_STARTUP 0x0018
198 #define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
199 #define CSIDL_APPDATA 0x001a
200 #define CSIDL_PRINTHOOD 0x001b
201 #define CSIDL_ALTSTARTUP 0x001d
202 #define CSIDL_COMMON_ALTSTARTUP 0x001e
203 #define CSIDL_COMMON_FAVORITES 0x001f
204 #define CSIDL_INTERNET_CACHE 0x0020
205 #define CSIDL_COOKIES 0x0021
206 #define CSIDL_HISTORY 0x0022
210 #endif /* defined(__cplusplus) */
212 #endif /* __WINE_SHELL_H */