Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kPath.h
Go to the documentation of this file.
1 
10 #ifndef K_API_PATH_H
11 #define K_API_PATH_H
12 
13 #include <kApi/kApiDef.h>
14 
15 kBeginHeader()
16 
17 
18 #define kPATH_MAX (kxPATH_MAX)
19 
34 typedef kObject kPath;
35 
42 kFx(kChar) kPath_Separator();
43 
52 
65 kFx(kStatus) kPath_Combine(const kChar* segment1, const kChar* segment2, kChar* path, kSize capacity);
66 
81 kFx(kStatus) kPath_Directory(const kChar* path, kChar* directory, kSize capacity);
82 
94 kFx(kStatus) kPath_FileName(const kChar* path, kChar* fileName, kSize capacity);
95 
107 kFx(kStatus) kPath_Extension(const kChar* path, kChar* extension, kSize capacity);
108 
120 kFx(kStatus) kPath_StripExtension(const kChar* path, kChar* strippedPath, kSize capacity);
121 
138 kFx(kStatus) kPath_ToRelative(const kChar* pathA, const kChar* pathB, kChar* bRelativeToA, kSize capacity);
139 
156 kFx(kStatus) kPath_ToAbsolute(const kChar* pathA, const kChar* bRelativeToA, kChar* pathB, kSize capacity);
157 
169 kFx(kStatus) kPath_Normalize(const kChar* path, kChar* normalized, kSize capacity);
170 
182 kFx(kStatus) kPath_ToNative(const kChar* path, kChar* native, kSize capacity);
183 
193 kFx(kStatus) kPath_LibraryName(const kChar* libraryName, kChar* fileName, kSize capacity);
194 
206 kFx(kStatus) kPath_Plugin(const kChar* pluginName, kChar* pluginPath, kSize capacity);
207 
208 kEndHeader()
209 
210 #include <kApi/Io/kPath.x.h>
211 
212 #endif
kStatus kPath_Plugin(const kChar *pluginName, kChar *pluginPath, kSize capacity)
Given a plugin name (e.g.
kStatus kPath_FileName(const kChar *path, kChar *fileName, kSize capacity)
Given a file path, returns the portion of the path containing the file name.
Represents an unsigned integer that can store a pointer address.
kStatus kPath_ToNative(const kChar *path, kChar *native, kSize capacity)
Transforms all path separators to native form.
kStatus kPath_LibraryName(const kChar *libraryName, kChar *fileName, kSize capacity)
Given a library name (e.g.
kStatus kPath_ToRelative(const kChar *pathA, const kChar *pathB, kChar *bRelativeToA, kSize capacity)
Expresses an absolute path in relative form, in relation to a reference path.
Represents a single unit (byte) in a UTF-8 character.
kStatus kPath_Combine(const kChar *segment1, const kChar *segment2, kChar *path, kSize capacity)
Combines two path segments using the normalized path separator character.
kStatus kPath_ToAbsolute(const kChar *pathA, const kChar *bRelativeToA, kChar *pathB, kSize capacity)
Finds the absolute path expressed by the combination of an absolute path and a relative path...
kStatus kPath_Extension(const kChar *path, kChar *extension, kSize capacity)
Given a file path, returns the portion of the path containing the file extension. ...
kStatus kPath_StripExtension(const kChar *path, kChar *strippedPath, kSize capacity)
Given a file path, returns the portion of the path excluding the file extension.
Core Zen type declarations.
kChar kPath_Separator()
Returns the normalized path separator character.
kStatus kPath_Normalize(const kChar *path, kChar *normalized, kSize capacity)
Transforms all path separators to normal form and removes trailing slashes.
Represents an error code.
kStatus kPath_Directory(const kChar *path, kChar *directory, kSize capacity)
Returns the parent directory for a given file or directory path.
Represents a boolean value.
kBool kPath_IsSeparator(kChar ch)
Determines if the given character is equal to the normalized path separator.