mirror of
https://github.com/sal063/AC6_recomp
synced 2026-08-26 16:36:32 -04:00
31 lines
972 B
C++
31 lines
972 B
C++
/**
|
|
* @file rex/system/guest_path.h
|
|
* @brief Guest path normalization for Xbox 360 VFS paths
|
|
*
|
|
* @copyright Copyright (c) 2026 Tom Clay <tomc@tctechstuff.com>
|
|
* All rights reserved.
|
|
*
|
|
* @license BSD 3-Clause License
|
|
* See LICENSE file in the project root for full license text.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include <string_view>
|
|
|
|
namespace rex::system {
|
|
|
|
/**
|
|
* Normalize a guest path to the canonical form used as a key for runtime
|
|
* lookups: device prefix stripped, separators canonicalized to forward
|
|
* slashes, redundant `..` segments resolved, leading slashes removed,
|
|
* and ASCII lowercased. Codegen-side canonicalization
|
|
* (rex::codegen::CanonicalizeModuleGuestPath) layers a project-scoped prefix
|
|
* strip on top of this; both must agree on this base form for runtime
|
|
* lookups to find the registered module.
|
|
*/
|
|
std::string NormalizeGuestPath(std::string_view path);
|
|
|
|
} // namespace rex::system
|