]> wimlib.net Git - wimlib/blobdiff - include/wimlib/paths.h
mount_image.c: add fallback definitions of RENAME_* constants
[wimlib] / include / wimlib / paths.h
index bad8e74c0c41862ba85b702914cfa48288741368..4faf970370fd32868fe227be8d67bcbdf06c33a5 100644 (file)
@@ -10,16 +10,36 @@ path_basename(const tchar *path);
 const tchar *
 path_basename_with_len(const tchar *path, size_t len);
 
-extern const tchar *
+const tchar *
 path_stream_name(const tchar *path);
 
-extern void
+void
 do_canonicalize_path(const tchar *in, tchar *out);
 
-extern tchar *
-canonicalize_wim_path(const tchar *wim_path) _malloc_attribute;
-
-extern tchar *
-canonicalize_fs_path(const tchar *fs_path) _malloc_attribute;
+tchar *
+canonicalize_wim_path(const tchar *wim_path);
+
+/* is_any_path_separator() - characters treated as path separators in WIM path
+ * specifications and capture configuration files (the former will be translated
+ * to WIM_PATH_SEPARATOR; the latter will be translated to
+ * OS_PREFERRED_PATH_SEPARATOR)
+ *
+ * OS_PREFERRED_PATH_SEPARATOR - preferred (or only) path separator on the
+ * operating system.  Used when constructing filesystem paths to extract or
+ * archive.
+ *
+ * WIM_PATH_SEPARATOR - character treated as path separator for WIM paths.
+ * Currently needs to be '/' on UNIX for the WIM mounting code to work properly.
+ */
+
+#ifdef _WIN32
+#  define OS_PREFERRED_PATH_SEPARATOR L'\\'
+#  define is_any_path_separator(c) ((c) == L'/' || (c) == L'\\')
+#else
+#  define OS_PREFERRED_PATH_SEPARATOR '/'
+#  define is_any_path_separator(c) ((c) == '/' || (c) == '\\')
+#endif
+
+#define WIM_PATH_SEPARATOR WIMLIB_WIM_PATH_SEPARATOR
 
 #endif /* _WIMLIB_PATHS_H */