mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
Keep guest creation-mask state in libc behind C-linkage helpers so NID patching preserves the shared exports. Reject a pinned descriptor whose file identity differs from the snapshot taken before classification. Exercise close and reuse from another thread at both acquisition windows for writes, resize and seek, and create temporary ordinary-file fixtures so runtime tests work without the source tree. Constraint: NID exemptions require the literal suffix at the end of the exported symbol Confidence: high Scope-risk: narrow Tested: 18 targeted Linux runtime tests with zero skips; patched_libraries for libc/libkernel/libkernel_sys; standalone ASan/UBSan with warnings as errors; source-prefix-remapped fixtures; Clang analyzer and conventions Not-tested: Full project build and library set, Windows runtime, console hardware and titles Directive: Device/inode validation establishes file identity, not open-file-description identity
14 lines
291 B
C++
14 lines
291 B
C++
#ifndef CORE_LIBS_PRX_LIBC_INCLUDE_CREATIONMASK_HPP
|
|
#define CORE_LIBS_PRX_LIBC_INCLUDE_CREATIONMASK_HPP
|
|
|
|
#include <cstdint>
|
|
|
|
namespace File {
|
|
|
|
extern "C" std::uint16_t ExchangeCreationMask_nid_no_patch(std::uint16_t mask);
|
|
extern "C" std::uint16_t GetCreationMask_nid_no_patch();
|
|
|
|
}
|
|
|
|
#endif
|