Add some Str* prototypes to shlwapi.h.
[wine] / include / shlwapi.h
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
9 extern "C" {
10 #endif /* defined(__cplusplus) */
11
12 BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
13 BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
14
15 LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
16 LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
17
18 LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
19 LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
20
21 BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
22 BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
23
24 void WINAPI PathStripPathA(LPSTR lpszPath);
25 void WINAPI PathStripPathW(LPWSTR lpszPath);
26
27 void WINAPI PathRemoveArgsA(LPSTR lpszPath);
28 void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
29
30 void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
31 void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
32
33 void WINAPI PathUnquoteSpacesA(LPSTR str);
34 void WINAPI PathUnquoteSpacesW(LPWSTR str);
35
36 int WINAPI PathParseIconLocationA(LPSTR lpszPath);
37 int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
38
39 BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
40 BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
41
42 BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
43 BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
44
45 BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
46 BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
47
48 BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
49 BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
50
51 LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
52 LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
53 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
54 LPVOID WINAPI PathFindFileNameAW(LPCVOID path); 
55
56 int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
57 int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
58 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
59
60 BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
61 BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
62 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
63
64 LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
65 LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
66 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
67
68 BOOL WINAPI PathIsURLA(LPCSTR pszPath);
69 BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
70 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
71
72 BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
73 BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
74 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
75
76 BOOL WINAPI PathStripToRootA(LPSTR pszPath);
77 BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
78 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
79
80 INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
81 INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
82 #define StrCSpn WINELIB_NAME_AW(StrCSpn)
83
84 INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
85 INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
86 #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
87
88 #define StrCatA lstrcatA
89 LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
90 #define StrCat WINELIB_NAME_AW(StrCat)
91
92 LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
93 LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
94 #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
95
96 LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
97 LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch); 
98 #define StrChr WINELIB_NAME_AW(StrChr)
99
100 LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
101 LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch); 
102 #define StrChrI WINELIB_NAME_AW(StrChrI)
103
104 INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
105 INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
106 #define StrCmpN WINELIB_NAME_AW(StrCmpN)
107
108 INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
109 INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
110 #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
111
112 LPSTR WINAPI StrDupA(LPCSTR lpSrc);
113 LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
114 #define StrDup WINELIB_NAME_AW(StrDup)
115
116 HRESULT WINAPI StrRetToBufA(LPSTRRET src, LPITEMIDLIST pidl, LPSTR dest,
117                             DWORD len);
118 HRESULT WINAPI StrRetToBufW(LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest,
119                             DWORD len);
120 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
121
122 void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
123 void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
124 #define  PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
125 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
126
127 #ifdef __cplusplus
128 } /* extern "C" */
129 #endif /* defined(__cplusplus) */
130
131 #endif /* __WINE_SHLWAPI_H */