1 #ifndef __WINE_SHLWAPI_H
2 #define __WINE_SHLWAPI_H
8 #endif /* defined(__cplusplus) */
12 * The URL_ defines were determined by trial and error. If they become
13 * documented please check them and add the missing ones including:
16 * URL_PLUGGABLE_PROTOCOL
17 * URL_DONT_ESCAPE_EXTRA_INFO
18 * URL_ESCAPE_SEGMENT_ONLY
21 #define URL_UNESCAPE_INPLACE 0x00100000
22 #define URL_DONT_UNESCAPE_EXTRA_INFO 0x02000000
24 #define URL_ESCAPE_SPACES_ONLY 0x04000000
26 #define URL_UNESCAPE 0x10000000
27 #define URL_ESCAPE_UNSAFE 0x20000000
28 #define URL_DONT_SIMPLIFY 0x40000000
31 BOOL WINAPI
PathAppendA(LPSTR lpszPath1
,LPCSTR lpszPath2
);
32 BOOL WINAPI
PathAppendW(LPWSTR lpszPath1
,LPCWSTR lpszPath2
);
34 LPSTR WINAPI
PathBuildRootA(LPSTR lpszPath
, int drive
);
35 LPWSTR WINAPI
PathBuildRootW(LPWSTR lpszPath
, int drive
);
37 LPSTR WINAPI
PathGetArgsA(LPCSTR lpszPath
);
38 LPWSTR WINAPI
PathGetArgsW(LPCWSTR lpszPath
);
40 BOOL WINAPI
PathRemoveFileSpecA(LPSTR lpszPath
);
41 BOOL WINAPI
PathRemoveFileSpecW(LPWSTR lpszPath
);
43 void WINAPI
PathStripPathA(LPSTR lpszPath
);
44 void WINAPI
PathStripPathW(LPWSTR lpszPath
);
46 void WINAPI
PathRemoveArgsA(LPSTR lpszPath
);
47 void WINAPI
PathRemoveArgsW(LPWSTR lpszPath
);
49 void WINAPI
PathRemoveExtensionA(LPSTR lpszPath
);
50 void WINAPI
PathRemoveExtensionW(LPWSTR lpszPath
);
52 void WINAPI
PathUnquoteSpacesA(LPSTR str
);
53 void WINAPI
PathUnquoteSpacesW(LPWSTR str
);
55 int WINAPI
PathParseIconLocationA(LPSTR lpszPath
);
56 int WINAPI
PathParseIconLocationW(LPWSTR lpszPath
);
58 BOOL WINAPI
PathIsDirectoryA(LPCSTR lpszPath
);
59 BOOL WINAPI
PathIsDirectoryW(LPCWSTR lpszPath
);
61 BOOL WINAPI
PathFileExistsA(LPCSTR lpszPath
);
62 BOOL WINAPI
PathFileExistsW(LPCWSTR lpszPath
);
64 BOOL WINAPI
PathIsSameRootA(LPCSTR lpszPath1
, LPCSTR lpszPath2
);
65 BOOL WINAPI
PathIsSameRootW(LPCWSTR lpszPath1
, LPCWSTR lpszPath2
);
67 BOOL WINAPI
PathSetDlgItemPathA(HWND hDlg
, int id
, LPCSTR pszPath
);
68 BOOL WINAPI
PathSetDlgItemPathW(HWND hDlg
, int id
, LPCWSTR pszPath
);
70 LPSTR WINAPI
PathFindFileNameA(LPCSTR pPath
);
71 LPWSTR WINAPI
PathFindFileNameW(LPCWSTR pPath
);
72 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
73 LPVOID WINAPI
PathFindFileNameAW(LPCVOID path
);
75 int WINAPI
PathGetDriveNumberA(LPCSTR lpszPath
);
76 int WINAPI
PathGetDriveNumberW(LPCWSTR lpszPath
);
77 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
79 BOOL WINAPI
PathCanonicalizeA(LPSTR lpszDst
, LPCSTR lpszSrc
);
80 BOOL WINAPI
PathCanonicalizeW(LPWSTR lpszDst
, LPCWSTR lpszSrc
);
81 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
83 LPSTR WINAPI
PathFindNextComponentA(LPCSTR pszPath
);
84 LPWSTR WINAPI
PathFindNextComponentW(LPCWSTR pszPath
);
85 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
87 BOOL WINAPI
PathIsURLA(LPCSTR pszPath
);
88 BOOL WINAPI
PathIsURLW(LPCWSTR pszPath
);
89 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
91 BOOL WINAPI
PathAddExtensionA(LPSTR pszPath
, LPCSTR pszExt
);
92 BOOL WINAPI
PathAddExtensionW(LPWSTR pszPath
, LPCWSTR pszExt
);
93 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
95 BOOL WINAPI
PathStripToRootA(LPSTR pszPath
);
96 BOOL WINAPI
PathStripToRootW(LPWSTR pszPath
);
97 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
99 INT WINAPI
StrCSpnA(LPCSTR lpStr
, LPCSTR lpSet
);
100 INT WINAPI
StrCSpnW(LPCWSTR lpStr
, LPCWSTR lpSet
);
101 #define StrCSpn WINELIB_NAME_AW(StrCSpn)
103 INT WINAPI
StrCSpnIA(LPCSTR lpStr
, LPCSTR lpSet
);
104 INT WINAPI
StrCSpnIW(LPCWSTR lpStr
, LPCWSTR lpSet
);
105 #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
107 #define StrCatA lstrcatA
108 LPWSTR WINAPI
StrCatW(LPWSTR front
, LPCWSTR back
);
109 #define StrCat WINELIB_NAME_AW(StrCat)
111 LPSTR WINAPI
StrCatBuffA(LPSTR front
, LPCSTR back
, INT size
);
112 LPWSTR WINAPI
StrCatBuffW(LPWSTR front
, LPCWSTR back
, INT size
);
113 #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
115 LPSTR WINAPI
StrChrA(LPCSTR lpStart
, WORD wMatch
);
116 LPWSTR WINAPI
StrChrW(LPCWSTR lpStart
, WCHAR wMatch
);
117 #define StrChr WINELIB_NAME_AW(StrChr)
119 LPSTR WINAPI
StrChrIA(LPCSTR lpStart
, WORD wMatch
);
120 LPWSTR WINAPI
StrChrIW(LPCWSTR lpStart
, WCHAR wMatch
);
121 #define StrChrI WINELIB_NAME_AW(StrChrI)
123 INT WINAPI
StrCmpNA(LPCSTR lpStr1
, LPCSTR lpStr2
, INT nChar
);
124 INT WINAPI
StrCmpNW(LPCWSTR lpStr1
, LPCWSTR lpStr2
, INT nChar
);
125 #define StrCmpN WINELIB_NAME_AW(StrCmpN)
127 INT WINAPI
StrCmpNIA(LPCSTR lpStr1
, LPCSTR lpStr2
, INT nChar
);
128 INT WINAPI
StrCmpNIW(LPCWSTR lpStr1
, LPCWSTR lpStr2
, INT nChar
);
129 #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
131 LPSTR WINAPI
StrDupA(LPCSTR lpSrc
);
132 LPWSTR WINAPI
StrDupW(LPCWSTR lpSrc
);
133 #define StrDup WINELIB_NAME_AW(StrDup)
137 HRESULT WINAPI
StrRetToBufA(struct _STRRET
*src
, const struct _ITEMIDLIST
*pidl
, LPSTR dest
, DWORD len
);
138 HRESULT WINAPI
StrRetToBufW(struct _STRRET
*src
, const struct _ITEMIDLIST
*pidl
, LPWSTR dest
, DWORD len
);
139 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
141 void WINAPI
PathRemoveBlanksA(LPSTR lpszPath
);
142 void WINAPI
PathRemoveBlanksW(LPWSTR lpszPath
);
143 #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
144 void WINAPI
PathRemoveBlanksAW(LPVOID lpszPath
);
146 HRESULT WINAPI
SHDeleteKeyA(HKEY hKey
, LPCSTR lpszSubKey
);
147 HRESULT WINAPI
SHDeleteKeyW(HKEY hkey
, LPCWSTR pszSubKey
);
148 #define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
150 DWORD WINAPI
SHDeleteEmptyKeyA(HKEY hKey
, LPCSTR lpszSubKey
);
151 DWORD WINAPI
SHDeleteEmptyKeyW(HKEY hKey
, LPCWSTR lpszSubKey
);
152 #define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
154 HRESULT WINAPI
UrlCanonicalizeA(LPCSTR pszUrl
, LPSTR pszCanonicalized
,
155 LPDWORD pcchCanonicalized
, DWORD dwFlags
);
156 HRESULT WINAPI
UrlCanonicalizeW(LPCWSTR pszUrl
, LPWSTR pszCanonicalized
,
157 LPDWORD pcchCanonicalized
, DWORD dwFlags
);
158 #define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
160 HRESULT WINAPI
UrlEscapeA(LPCSTR pszUrl
, LPSTR pszEscaped
, LPDWORD pcchEscaped
,
162 HRESULT WINAPI
UrlEscapeW(LPCWSTR pszUrl
, LPWSTR pszEscaped
,
163 LPDWORD pcchEscaped
, DWORD dwFlags
);
164 #define UrlEscape WINELIB_NAME_AW(UrlEscape)
166 HRESULT WINAPI
UrlUnescapeA(LPCSTR pszUrl
, LPSTR pszUnescaped
,
167 LPDWORD pcchUnescaped
, DWORD dwFlags
);
168 HRESULT WINAPI
UrlUnescapeW(LPCWSTR pszUrl
, LPWSTR pszUnescaped
,
169 LPDWORD pcchUnescaped
, DWORD dwFlags
);
170 #define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
172 typedef struct _DllVersionInfo
{
174 DWORD dwMajorVersion
;
175 DWORD dwMinorVersion
;
180 #define DLLVER_PLATFORM_WINDOWS 0x00000001 // Windows 9x
181 #define DLLVER_PLATFORM_NT 0x00000002 // Windows NT
183 typedef HRESULT (CALLBACK
* DLLGETVERSIONPROC
)(DLLVERSIONINFO
*);
187 #endif /* defined(__cplusplus) */
189 #endif /* __WINE_SHLWAPI_H */