source: trunk/include/win/shlwapi.h@ 7002

Last change on this file since 7002 was 6808, checked in by sandervl, 24 years ago

header update

File size: 9.5 KB
Line 
1#ifndef __WINE_SHLWAPI_H
2#define __WINE_SHLWAPI_H
3
4#include "windef.h"
5#include "wine/obj_queryassociations.h"
6#include "wine/obj_shellfolder.h"
7
8#ifdef __cplusplus
9extern "C" {
10#endif /* defined(__cplusplus) */
11
12
13/* Mask returned by GetPathCharType */
14#define GCT_INVALID 0x0000
15#define GCT_LFNCHAR 0x0001
16#define GCT_SHORTCHAR 0x0002
17#define GCT_WILD 0x0004
18#define GCT_SEPARATOR 0x0008
19
20/*
21 * The URL_ defines were determined by trial and error. If they become
22 * documented please check them and add the missing ones including:
23 *
24 * URL_ESCAPE_PERCENT
25 * URL_PLUGGABLE_PROTOCOL
26 * URL_DONT_ESCAPE_EXTRA_INFO
27 * URL_ESCAPE_SEGMENT_ONLY
28 */
29
30#define URL_UNESCAPE_INPLACE 0x00100000
31#define URL_DONT_UNESCAPE_EXTRA_INFO 0x02000000
32
33#define URL_ESCAPE_SPACES_ONLY 0x04000000
34
35#define URL_UNESCAPE 0x10000000
36#define URL_ESCAPE_UNSAFE 0x20000000
37#define URL_DONT_SIMPLIFY 0x40000000
38
39LPSTR WINAPI PathAddBackslashA(LPSTR path);
40LPWSTR WINAPI PathAddBackslashW(LPWSTR path);
41#define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
42
43BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
44BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
45#define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
46
47BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
48BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
49#define PathAppend WINELIB_NAME_AW(PathAppend)
50
51LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
52LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
53#define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
54
55BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
56BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
57#define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
58
59LPSTR WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
60LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
61#define PathCombine WINELIB_NAME_AW(PathCombine)
62
63BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
64BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
65#define PathFileExists WINELIB_NAME_AW(PathFileExists)
66
67LPSTR WINAPI PathFindExtensionA(LPCSTR path);
68LPWSTR WINAPI PathFindExtensionW(LPCWSTR path);
69#define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
70
71LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
72LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
73#define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
74
75LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
76LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
77#define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
78
79BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
80BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
81#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
82
83LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
84LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
85#define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
86
87int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
88int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
89#define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
90
91BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
92BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
93#define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
94
95BOOL WINAPI PathIsRelativeA(LPCSTR lpszPath);
96BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath);
97#define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
98
99BOOL WINAPI PathIsRootA(LPCSTR x);
100BOOL WINAPI PathIsRootW(LPCWSTR x);
101#define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
102
103BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
104BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
105#define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
106
107BOOL WINAPI PathIsUNCA(LPCSTR lpszPath);
108BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath);
109#define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
110
111BOOL WINAPI PathIsURLA(LPCSTR pszPath);
112BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
113#define PathIsURL WINELIB_NAME_AW(PathIsURL)
114
115BOOL WINAPI PathMatchSpecA(LPCSTR lpszPath, LPCSTR lpszSpec);
116BOOL WINAPI PathMatchSpecW(LPCWSTR lpszPath, LPCWSTR lpszSpec);
117#define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
118
119int WINAPI PathParseIconLocationA(LPSTR lpszPath);
120int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
121#define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
122
123LPSTR WINAPI PathQuoteSpacesA(LPSTR path);
124LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);
125#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
126
127void WINAPI PathRemoveArgsA(LPSTR lpszPath);
128void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
129#define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
130
131LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath);
132LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath);
133#define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
134
135void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
136void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
137#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
138
139void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
140void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
141#define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
142
143BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
144BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
145#define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
146
147BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
148BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
149#define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
150
151void WINAPI PathStripPathA(LPSTR lpszPath);
152void WINAPI PathStripPathW(LPWSTR lpszPath);
153#define PathStripPath WINELIB_NAME_AW(PathStripPath)
154
155BOOL WINAPI PathStripToRootA(LPSTR pszPath);
156BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
157#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
158
159void WINAPI PathUnquoteSpacesA(LPSTR str);
160void WINAPI PathUnquoteSpacesW(LPWSTR str);
161#define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
162
163
164INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
165INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
166#define StrCSpn WINELIB_NAME_AW(StrCSpn)
167
168INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
169INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
170#define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
171
172#define StrCatA lstrcatA
173LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
174#define StrCat WINELIB_NAME_AW(StrCat)
175
176LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
177LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
178#define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
179
180LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
181LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch);
182#define StrChr WINELIB_NAME_AW(StrChr)
183
184LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
185LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch);
186#define StrChrI WINELIB_NAME_AW(StrChrI)
187
188INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
189INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
190#define StrCmpN WINELIB_NAME_AW(StrCmpN)
191
192INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
193INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
194#define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
195
196LPSTR WINAPI StrDupA(LPCSTR lpSrc);
197LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
198#define StrDup WINELIB_NAME_AW(StrDup)
199
200LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
201LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
202#define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
203
204
205
206HRESULT WINAPI StrRetToBufA (LPSTRRET src, const ITEMIDLIST *pidl, LPSTR dest, DWORD len);
207HRESULT WINAPI StrRetToBufW (LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
208#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
209
210HRESULT WINAPI SHQueryValueExA(HKEY hkey, LPSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
211HRESULT WINAPI SHQueryValueExW(HKEY hkey, LPWSTR pszValue, LPDWORD pdwReserved, LPDWORD pdwType, LPVOID pvData, LPDWORD pcbData);
212#define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
213
214HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
215HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
216#define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
217
218DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
219DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
220#define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
221
222HRESULT WINAPI UrlCanonicalizeA(LPCSTR pszUrl, LPSTR pszCanonicalized,
223 LPDWORD pcchCanonicalized, DWORD dwFlags);
224HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized,
225 LPDWORD pcchCanonicalized, DWORD dwFlags);
226#define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
227
228HRESULT WINAPI UrlEscapeA(LPCSTR pszUrl, LPSTR pszEscaped, LPDWORD pcchEscaped,
229 DWORD dwFlags);
230HRESULT WINAPI UrlEscapeW(LPCWSTR pszUrl, LPWSTR pszEscaped,
231 LPDWORD pcchEscaped, DWORD dwFlags);
232#define UrlEscape WINELIB_NAME_AW(UrlEscape)
233
234HRESULT WINAPI UrlUnescapeA(LPCSTR pszUrl, LPSTR pszUnescaped,
235 LPDWORD pcchUnescaped, DWORD dwFlags);
236HRESULT WINAPI UrlUnescapeW(LPCWSTR pszUrl, LPWSTR pszUnescaped,
237 LPDWORD pcchUnescaped, DWORD dwFlags);
238#define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
239
240#if 0
241typedef struct _DllVersionInfo {
242 DWORD cbSize;
243 DWORD dwMajorVersion;
244 DWORD dwMinorVersion;
245 DWORD dwBuildNumber;
246 DWORD dwPlatformID;
247} DLLVERSIONINFO;
248
249#define DLLVER_PLATFORM_WINDOWS 0x00000001 // Windows 9x
250#define DLLVER_PLATFORM_NT 0x00000002 // Windows NT
251
252typedef HRESULT CALLBACK (*DLLGETVERSIONPROC)(DLLVERSIONINFO *);
253#endif
254
255#ifdef __cplusplus
256} /* extern "C" */
257#endif /* defined(__cplusplus) */
258
259#endif /* __WINE_SHLWAPI_H */
Note: See TracBrowser for help on using the repository browser.