aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/loader/loader.h
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-06-16 18:03:13 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-06-16 18:03:13 -0400
commit0aca202ae936d3fccbab34f36d9246e0598849a5 (patch)
treefff4a16ed505ebddcc3048cf734db0237839d338 /src/core/loader/loader.h
parent2d7c46c874bdaebec09116c6aa0620026f5dc180 (diff)
Loader: Moved elf and loader modules to a "loader" subdirectory.
Diffstat (limited to 'src/core/loader/loader.h')
-rw-r--r--src/core/loader/loader.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h
new file mode 100644
index 00000000..9d4aaa87
--- /dev/null
+++ b/src/core/loader/loader.h
@@ -0,0 +1,54 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common/common.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace Loader {
+
+enum FileType {
+ FILETYPE_ERROR,
+
+ FILETYPE_CTR_CCI,
+ FILETYPE_CTR_CIA,
+ FILETYPE_CTR_CXI,
+ FILETYPE_CTR_ELF,
+ FILETYPE_CTR_BIN,
+
+ FILETYPE_LAUNCHER_DAT,
+
+ FILETYPE_DIRECTORY_CXI,
+
+ FILETYPE_UNKNOWN_BIN,
+ FILETYPE_UNKNOWN_ELF,
+
+ FILETYPE_ARCHIVE_RAR,
+ FILETYPE_ARCHIVE_ZIP,
+
+ FILETYPE_NORMAL_DIRECTORY,
+
+ FILETYPE_UNKNOWN
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * Identifies the type of a bootable file
+ * @param filename String filename of bootable file
+ * @return FileType of file
+ */
+FileType IdentifyFile(std::string &filename);
+
+/**
+ * Identifies and loads a bootable file
+ * @param filename String filename of bootable file
+ * @param error_string Point to string to put error message if an error has occurred
+ * @return True on success, otherwise false
+ */
+bool LoadFile(std::string &filename, std::string *error_string);
+
+} // namespace