aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/loader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader.h')
-rw-r--r--src/core/loader.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/core/loader.h b/src/core/loader.h
new file mode 100644
index 00000000..46525fcf
--- /dev/null
+++ b/src/core/loader.h
@@ -0,0 +1,51 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace Loader {
+
+enum FileType {
+ FILETYPE_ERROR,
+
+ FILETYPE_CTR_CCI,
+ FILETYPE_CTR_CIA,
+ FILETYPE_CTR_CXI,
+ FILETYPE_CTR_ELF,
+
+ 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