rpcsx/rpcs3/Emu/VFS.h
Nekotekina 40142420c1 Implement vfs::host::unlink
Emulate POSIX behaviour in sys_fs_unlink.
This should allow to delete opened files transparently on Windows.
2019-04-10 13:58:12 +03:00

31 lines
877 B
C++

#pragma once
#include <vector>
#include <string>
#include <string_view>
namespace vfs
{
// Mount VFS device
bool mount(std::string_view vpath, std::string_view path);
// Convert VFS path to fs path, optionally listing directories mounted in it
std::string get(std::string_view vpath, std::vector<std::string>* out_dir = nullptr);
// Escape VFS path by replacing non-portable characters with surrogates
std::string escape(std::string_view path);
// Invert escape operation
std::string unescape(std::string_view path);
// Functions in this namespace operate on host filepaths, similar to fs::
namespace host
{
// Call fs::rename with retry on access error
bool rename(const std::string& from, const std::string& to, bool overwrite);
// Delete file without deleting its contents, emulated with MoveFileEx on Windows
bool unlink(const std::string&);
}
}