2014-04-08 19:15:46 -04:00
|
|
|
// Copyright 2014 Citra Emulator Project
|
|
|
|
// Licensed under GPLv2
|
|
|
|
// Refer to the license.txt file included.
|
2013-09-19 23:21:22 -04:00
|
|
|
|
2014-04-08 19:15:46 -04:00
|
|
|
#pragma once
|
2013-09-19 23:21:22 -04:00
|
|
|
|
2014-04-08 20:15:08 -04:00
|
|
|
#include "common/common.h"
|
2013-09-19 23:21:22 -04:00
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
namespace Loader {
|
|
|
|
|
|
|
|
enum FileType {
|
2014-04-21 23:09:10 -04:00
|
|
|
FILETYPE_ERROR,
|
2013-09-19 23:21:22 -04:00
|
|
|
|
2014-04-21 23:09:10 -04:00
|
|
|
FILETYPE_CTR_CCI,
|
|
|
|
FILETYPE_CTR_CIA,
|
|
|
|
FILETYPE_CTR_CXI,
|
|
|
|
FILETYPE_CTR_ELF,
|
2014-04-30 23:50:14 -04:00
|
|
|
FILETYPE_CTR_BIN,
|
2013-09-19 23:21:22 -04:00
|
|
|
|
2014-04-30 23:50:14 -04:00
|
|
|
FILETYPE_LAUNCHER_DAT,
|
2013-09-19 23:21:22 -04:00
|
|
|
|
2014-04-30 23:50:14 -04:00
|
|
|
FILETYPE_DIRECTORY_CXI,
|
|
|
|
|
|
|
|
FILETYPE_UNKNOWN_BIN,
|
|
|
|
FILETYPE_UNKNOWN_ELF,
|
|
|
|
|
|
|
|
FILETYPE_ARCHIVE_RAR,
|
|
|
|
FILETYPE_ARCHIVE_ZIP,
|
|
|
|
|
|
|
|
FILETYPE_NORMAL_DIRECTORY,
|
|
|
|
|
|
|
|
FILETYPE_UNKNOWN
|
2013-09-19 23:21:22 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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
|