ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/pathcch.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 5732 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6 #include <apiset.h>
7 #include <apisetcconv.h>
8 #include <minwindef.h>
9 #include <minwinbase.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
16
17 #define VOLUME_PREFIX L"\\\\?\\Volume"
18 #define VOLUME_PREFIX_LEN (ARRAYSIZE (VOLUME_PREFIX) - 1)
19
20 #define PATHCCH_ALLOW_LONG_PATHS 0x00000001
21 #define PATHCCH_MAX_CCH 0x8000
22
23 WINPATHCCHAPI HRESULT APIENTRY PathAllocCombine (PCWSTR pszPathIn, PCWSTR pszMore, unsigned long dwFlags, PWSTR *ppszPathOut);
24 WINPATHCCHAPI HRESULT APIENTRY PathAllocCanonicalize (PCWSTR pszPathIn, unsigned long dwFlags, PWSTR *ppszPathOut);
25 WINPATHCCHAPI HRESULT APIENTRY PathCchAddBackslash (PWSTR pszPath, size_t cchPath);
26 WINPATHCCHAPI HRESULT APIENTRY PathCchAddBackslashEx (PWSTR pszPath, size_t cchPath, PWSTR *ppszEnd, size_t *pcchRemaining);
27 WINPATHCCHAPI HRESULT APIENTRY PathCchAddExtension (PWSTR pszPath, size_t cchPath, PCWSTR pszExt);
28 WINPATHCCHAPI HRESULT APIENTRY PathCchAppend (PWSTR pszPath, size_t cchPath, PCWSTR pszMore);
29 WINPATHCCHAPI HRESULT APIENTRY PathCchAppendEx (PWSTR pszPath, size_t cchPath, PCWSTR pszMore, unsigned long dwFlags);
30 WINPATHCCHAPI HRESULT APIENTRY PathCchCanonicalize (PWSTR pszPathOut, size_t cchPathOut, PCWSTR pszPathIn);
31 WINPATHCCHAPI HRESULT APIENTRY PathCchCanonicalizeEx (PWSTR pszPathOut, size_t cchPathOut, PCWSTR pszPathIn, unsigned long dwFlags);
32 WINPATHCCHAPI HRESULT APIENTRY PathCchCombine (PWSTR pszPathOut, size_t cchPathOut, PCWSTR pszPathIn, PCWSTR pszMore);
33 WINPATHCCHAPI HRESULT APIENTRY PathCchCombineEx (PWSTR pszPathOut, size_t cchPathOut, PCWSTR pszPathIn, PCWSTR pszMore, unsigned long dwFlags);
34 WINPATHCCHAPI HRESULT APIENTRY PathCchFindExtension (PCWSTR pszPath, size_t cchPath, PCWSTR *ppszExt);
35 WINPATHCCHAPI WINBOOL APIENTRY PathCchIsRoot (PCWSTR pszPath);
36 WINPATHCCHAPI HRESULT APIENTRY PathCchRemoveBackslashEx (PWSTR pszPath, size_t cchPath, PWSTR *ppszEnd, size_t *pcchRemaining);
37 WINPATHCCHAPI HRESULT APIENTRY PathCchRemoveBackslash (PWSTR pszPath, size_t cchPath);
38 WINPATHCCHAPI HRESULT APIENTRY PathCchRemoveExtension (PWSTR pszPath, size_t cchPath);
39 WINPATHCCHAPI HRESULT APIENTRY PathCchRemoveFileSpec (PWSTR pszPath, size_t cchPath);
40 WINPATHCCHAPI HRESULT APIENTRY PathCchRenameExtension (PWSTR pszPath, size_t cchPath, PCWSTR pszExt);
41 WINPATHCCHAPI HRESULT APIENTRY PathCchSkipRoot (PCWSTR pszPath, PCWSTR *ppszRootEnd);
42 WINPATHCCHAPI HRESULT APIENTRY PathCchStripPrefix (PWSTR pszPath, size_t cchPath);
43 WINPATHCCHAPI HRESULT APIENTRY PathCchStripToRoot (PWSTR pszPath, size_t cchPath);
44 WINPATHCCHAPI WINBOOL APIENTRY PathIsUNCEx (PCWSTR pszPath, PCWSTR *ppszServer);
45
46 #ifndef PATHCCH_NO_DEPRECATE
47 #undef PathAddBackslash
48 #undef PathAddBackslashA
49 #undef PathAddBackslashW
50
51 #undef PathAddExtension
52 #undef PathAddExtensionA
53 #undef PathAddExtensionW
54
55 #undef PathAppend
56 #undef PathAppendA
57 #undef PathAppendW
58
59 #undef PathCanonicalize
60 #undef PathCanonicalizeA
61 #undef PathCanonicalizeW
62
63 #undef PathCombine
64 #undef PathCombineA
65 #undef PathCombineW
66
67 #undef PathRenameExtension
68 #undef PathRenameExtensionA
69 #undef PathRenameExtensionW
70
71 #ifndef DEPRECATE_SUPPORTED
72 #define PathIsRelativeWorker PathIsRelativeWorker_is_internal_to_pathcch;
73 #define StrIsEqualWorker StrIsEqualWorker_is_internal_to_pathcch;
74 #define FindPreviousBackslashWorker FindPreviousBackslashWorker_is_internal_to_pathcch;
75 #define IsHexDigitWorker IsHexDigitWorker_is_internal_to_pathcch;
76 #define StringIsGUIDWorker StringIsGUIDWorker_is_internal_to_pathcch;
77 #define PathIsVolumeGUIDWorker PathIsVolumeGUIDWorker_is_internal_to_pathcch;
78 #define IsValidExtensionWorker IsValidExtensionWorker_is_internal_to_pathcch;
79
80 #define PathAddBackslash PathAddBackslash_instead_use_PathCchAddBackslash;
81 #define PathAddBackslashA PathAddBackslash_instead_use_PathCchAddBackslash;
82 #define PathAddBackslashW PathAddBackslash_instead_use_PathCchAddBackslash;
83
84 #define PathAddExtension PathAddExtension_instead_use_PathCchAddExtension;
85 #define PathAddExtensionA PathAddExtension_instead_use_PathCchAddExtension;
86 #define PathAddExtensionW PathAddExtension_instead_use_PathCchAddExtension;
87
88 #define PathAppend PathAppend_instead_use_PathCchAppend;
89 #define PathAppendA PathAppend_instead_use_PathCchAppend;
90 #define PathAppendW PathAppend_instead_use_PathCchAppend;
91
92 #define PathCanonicalize PathCanonicalize_instead_use_PathCchCanonicalize;
93 #define PathCanonicalizeA PathCanonicalize_instead_use_PathCchCanonicalize;
94 #define PathCanonicalizeW PathCanonicalize_instead_use_PathCchCanonicalize;
95
96 #define PathCombine PathCombine_instead_use_PathCchCombine;
97 #define PathCombineA PathCombine_instead_use_PathCchCombine;
98 #define PathCombineW PathCombine_instead_use_PathCchCombine;
99
100 #define PathRenameExtension PathRenameExtension_instead_use_PathCchRenameExtension;
101 #define PathRenameExtensionA PathRenameExtension_instead_use_PathCchRenameExtension;
102 #define PathRenameExtensionW PathRenameExtension_instead_use_PathCchRenameExtension;
103 #endif
104 #endif
105 #endif
106
107 #ifdef __cplusplus
108 }
109 #endif
110
111 #ifdef __cplusplus
112
113 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
114 __CRT_INLINE WINBOOL PathIsUNCEx (PWSTR path, PWSTR *pserver) {
115 return PathIsUNCEx (const_cast<PCWSTR> (path), const_cast<PCWSTR *> (pserver));
116 }
117
118 __CRT_INLINE HRESULT PathCchSkipRoot (PWSTR path, PWSTR *prootend) {
119 return PathCchSkipRoot (const_cast<PCWSTR> (path), const_cast<PCWSTR *> (prootend));
120 }
121
122 __CRT_INLINE HRESULT PathCchFindExtension (PWSTR path, size_t n, PWSTR *pext) {
123 return PathCchFindExtension (const_cast<PCWSTR> (path), n, const_cast<PCWSTR *> (pext));
124 }
125 #endif
126 #endif