1 #ifndef __WINE_SHLWAPI_H
2 #define __WINE_SHLWAPI_H
8 #endif /* defined(__cplusplus) */
10 BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
11 BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
13 LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
14 LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
16 LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
17 LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
19 BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
20 BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
22 void WINAPI PathStripPathA(LPSTR lpszPath);
23 void WINAPI PathStripPathW(LPWSTR lpszPath);
25 void WINAPI PathRemoveArgsA(LPSTR lpszPath);
26 void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
28 void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
29 void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
31 void WINAPI PathUnquoteSpacesA(LPSTR str);
32 void WINAPI PathUnquoteSpacesW(LPWSTR str);
34 int WINAPI PathParseIconLocationA(LPSTR lpszPath);
35 int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
37 BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
38 BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
40 BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
41 BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
43 BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
44 BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
46 BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
47 BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
49 LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
50 LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
51 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
52 LPVOID WINAPI PathFindFileNameAW(LPCVOID path);
54 int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
55 int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
56 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
58 BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
59 BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
60 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
62 LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
63 LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
64 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
66 BOOL WINAPI PathIsURLA(LPCSTR pszPath);
67 BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
68 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
70 BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
71 BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
72 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
74 BOOL WINAPI PathStripToRootA(LPSTR pszPath);
75 BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
76 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
78 INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
79 INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
80 #define StrCSpn WINELIB_NAME_AW(StrCSpn)
82 INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
83 INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
84 #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
86 #define StrCatA lstrcatA
87 LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
88 #define StrCat WINELIB_NAME_AW(StrCat)
90 LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
91 LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
92 #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
94 LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
95 LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch);
96 #define StrChr WINELIB_NAME_AW(StrChr)
98 LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
99 LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch);
100 #define StrChrI WINELIB_NAME_AW(StrChrI)
102 INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
103 INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
104 #define StrCmpN WINELIB_NAME_AW(StrCmpN)
106 INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
107 INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
108 #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
110 LPSTR WINAPI StrDupA(LPCSTR lpSrc);
111 LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
112 #define StrDup WINELIB_NAME_AW(StrDup)
116 HRESULT WINAPI StrRetToBufA(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPSTR dest, DWORD len);
117 HRESULT WINAPI StrRetToBufW(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
118 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
120 void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
121 void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
122 #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
123 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
125 HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
126 HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
127 #define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
129 DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
130 DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
131 #define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
133 typedef struct _DllVersionInfo {
135 DWORD dwMajorVersion;
136 DWORD dwMinorVersion;
141 #define DLLVER_PLATFORM_WINDOWS 0x00000001 // Windows 9x
142 #define DLLVER_PLATFORM_NT 0x00000002 // Windows NT
144 typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
148 #endif /* defined(__cplusplus) */
150 #endif /* __WINE_SHLWAPI_H */