diff options
Diffstat (limited to 'src/core/hle/kernel/archive.h')
-rw-r--r-- | src/core/hle/kernel/archive.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/hle/kernel/archive.h b/src/core/hle/kernel/archive.h index 3758e7061..593861f8e 100644 --- a/src/core/hle/kernel/archive.h +++ b/src/core/hle/kernel/archive.h @@ -22,6 +22,13 @@ namespace Kernel { Handle OpenArchive(FileSys::Archive::IdCode id_code); /** + * Closes an archive + * @param id_code IdCode of the archive to open + * @return true if it worked fine + */ +Result CloseArchive(FileSys::Archive::IdCode id_code); + +/** * Creates an Archive * @param backend File system backend interface to the archive * @param name Optional name of Archive @@ -29,6 +36,23 @@ Handle OpenArchive(FileSys::Archive::IdCode id_code); */ Handle CreateArchive(FileSys::Archive* backend, const std::string& name); +/** + * Open a File from an Archive + * @param archive_handle Handle to an open Archive object + * @param path Path to the File inside of the Archive + * @param mode Mode under which to open the File + * @return Opened File object + */ +Handle OpenFileFromArchive(Handle handle, const std::string& name, const FileSys::Mode mode); + +/** + * Open a Directory from an Archive + * @param archive_handle Handle to an open Archive object + * @param path Path to the Directory inside of the Archive + * @return Opened Directory object + */ +Handle OpenDirectoryFromArchive(Handle handle, const std::string& name); + /// Initialize archives void ArchiveInit(); |