aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/archive.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/archive.h')
-rw-r--r--src/core/hle/kernel/archive.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/hle/kernel/archive.h b/src/core/hle/kernel/archive.h
index 3758e706..593861f8 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();