1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-10-01 12:30:00 +02:00
Ryujinx/Ryujinx.HLE/FileSystem/IFileSystemProvider.cs
Thomas Guillemard b126ea48c6 Support HomeBrew Loader (#577)
* Make it possibles to load hb-loader and hb-menu

One issue remains with hb-menu homebrew icons because of SIMD issues
(libjpeg-turbo related) and netloader doesn't work.

* Implement GetApplicationControlData

* Fix shared fonts for NSO/NRO

* Add homebrew NRO romfs support

This readd the NRO support by parsing the ASET header

* Address comments about HomebrewRomFs

* override Dispose in homebrew romfs stream

* Use a struct for file timestamp

* Simplify positional increments in GetApplicationControlData

* Address comments

* improve readability of the memory permission check in SetProcessMemoryPermission

* Fix previous broken check

* Add address space checks in SetProcessMemoryPermission
2019-02-14 11:44:39 +11:00

43 lines
1 KiB
C#

using Ryujinx.HLE.HOS;
using Ryujinx.HLE.HOS.Services.FspSrv;
using System;
namespace Ryujinx.HLE.FileSystem
{
interface IFileSystemProvider
{
long CreateFile(string name, long size);
long CreateDirectory(string name);
long RenameFile(string oldName, string newName);
long RenameDirectory(string oldName, string newName);
DirectoryEntry[] GetEntries(string path);
DirectoryEntry[] GetDirectories(string path);
DirectoryEntry[] GetFiles(string path);
long DeleteFile(string name);
long DeleteDirectory(string name, bool recursive);
bool FileExists(string name);
bool DirectoryExists(string name);
long OpenFile(string name, out IFile fileInterface);
long OpenDirectory(string name, int filterFlags, out IDirectory directoryInterface);
string GetFullPath(string name);
long GetFreeSpace(ServiceCtx context);
long GetTotalSpace(ServiceCtx context);
FileTimestamp GetFileTimeStampRaw(string name);
}
}