summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys (follow)
Commit message (Collapse)AuthorAgeFilesLines
* file_sys, loader: add support for reading TMDs to determine app pathsshinyquagsire232017-10-011-2/+13
|
* file_sys: add class for Title Metadata (TMD)shinyquagsire232017-10-012-0/+337
|
* file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumpsshinyquagsire232017-10-012-69/+206
|
* file_sys/archive_ncch: use NCCHContainer instead of loading .romfs filesshinyquagsire232017-10-011-6/+12
|
* HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.Subv2017-09-252-13/+39
| | | | | | | | The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
* Loader/NCCH: Add support for loading application updates (#2927)Max Thomas2017-09-254-5/+587
| | | | | | | | | | | | | | | | * loader/ncch: split NCCH parsing into its own file * loader/ncch: add support for loading update NCCHs from the SD card * loader/ncch: fix formatting * file_sys/ncch_container: Return a value for OpenFile * loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch * file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked * file_sys/ncch_container: pass filepath as a const reference
* Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.Subv2017-08-211-0/+2
|
* Handle invalid filenames when renaming files/directoriesJames2017-07-312-4/+78
|
* Addressed Bunnei's review comments, and made some other tweaks:TheKoopaKingdom2017-06-031-6/+6
| | | | | - Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped.
* Switched to the ERROR_NOT_FOUND constant from errors.h.TheKoopaKingdom2017-06-031-2/+2
|
* Moved whitelist checks from FS_User to the Archive_NCCH handler.TheKoopaKingdom2017-06-031-1/+35
|
* Made some changes from review comments:TheKoopaKingdom2017-06-031-1/+2
| | | | | | | | - Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff.
* FileSys: Move all result description to errors.hYuri Kunde Schlesner2017-05-255-61/+96
|
* file_sys: lower log level for setting host pathwwylele2017-03-084-4/+4
|
* Doxygen: Amend minor issues (#2593)Mat M2017-02-271-1/+1
| | | | | | | | | Corrects a few issues with regards to Doxygen documentation, for example: - Incorrect parameter referencing. - Missing @param tags. - Typos in @param tags. and a few minor other issues.
* loader: use self NCCH archivewwylele2017-02-132-81/+0
|
* file_sys: add Self NCCH archivewwylele2017-02-133-0/+312
|
* core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSXKloen2017-01-291-0/+12
|
* core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSXKloen2017-01-291-0/+12
|
* core: fix archive_extsavedata.cpp warning on OSXKloen2017-01-291-0/+2
|
* Address clang-format issues.bunnei2016-12-221-4/+3
|
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-224-5/+5
|
* archive_source_sd_savedata: Add static method to get a specific save data pathMerryMage2016-12-152-0/+7
|
* file_sys: Make a few single-argument constructors explicitLioncash2016-12-078-10/+10
| | | | Prevents implicit conversions.
* FileSys: Implement OtherSaveDatawwylele2016-11-293-0/+200
|
* FileSys: abstract SD save data archive sourcewwylele2016-11-294-78/+132
|
* FileSys: rename SaveDataCheck archive to NCCH archivewwylele2016-11-192-15/+15
| | | | According to the observation from game and 3dbrew "Used for accessing general NCCH data"
* FileSys: remove unused DiskArchivewwylele2016-11-192-179/+0
| | | | All "subclasses" of DiskArchive are splitted out. This class is useless
* FileSys: w->rw permission lift only happens in SDMC archivewwylele2016-11-194-2/+14
|
* FileSys: add SDMCWriteOnlyArchivewwylele2016-11-193-0/+129
|
* FileSys: add SDMCArchivewwylele2016-11-193-1/+301
| | | | Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
* FileSys: add ExtSaveDataArchivewwylele2016-11-191-1/+114
| | | | ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
* FileSys: add SaveDataArchivewwylele2016-11-195-4/+359
| | | | The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
* FileSys: remove Open from FileBackendwwylele2016-11-194-64/+44
| | | | Same as directory, file shouldn't expose Open either.
* FileSys: remove Open from DirectoryBackendwwylele2016-11-194-25/+5
| | | | Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
* FileSys: add PathParserwwylele2016-11-192-0/+159
|
* FileSys: make Archive interfaces return error codewwylele2016-11-015-55/+82
| | | | and make the mode parameter a reference since it is a BitField union
* fs: implement DeleteDirectoryRecursivelywwylele2016-10-025-0/+19
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-219-9/+9
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-2120-44/+9
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-198-43/+30
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-1820-136/+217
|
* FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlockMerryMage2016-05-211-6/+6
|
* Merge pull request #1643 from MerryMage/make_uniqueMathew Maidment2016-04-068-19/+17
|\ | | | | Common: Remove Common::make_unique, use std::make_unique
| * Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-058-19/+17
| |
* | archive_extsavedata: Fix member initialization orderLioncash2016-03-211-1/+2
|/ | | | shared appears in the initializer list before mount_point
* HLE/FS: Change the error code returned when an ExtSaveData archive is not found.Subv2016-03-204-29/+37
| | | | This allows Fire Emblem to boot again.
* HLE/FS: Corrected some style concerns.Subv2016-03-204-8/+8
|
* HLE/FS: Implemented GetFormatInfoSubv2016-03-2013-14/+130
| | | | Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
* HLE/FS: Return the proper error codes when opening files.Subv2016-03-206-25/+39
|
* HLE/FS: Return the proper error codes on file Read/Write operations.Subv2016-03-205-16/+24
| | | | These operations are limited by the open flags specified while opening the file.
* HLE/FS: Corrected the error codes for DeleteFileSubv2016-03-205-8/+21
|
* HLE/FS: Corrected the error codes for CreateFileSubv2016-03-201-1/+4
|
* HLE/FS: FS::CreateFile takes an u64 for the file size.Subv2016-03-205-5/+5
|
* Merge pull request #1297 from Subv/savesbunnei2016-03-011-2/+4
|\ | | | | DiskDirectory: Initialize the directory member with valid info.
| * DiskDirectory: Initialize the directory member with valid info.Subv2016-01-161-2/+4
| |
* | archive_backend: Remove unnecessary const from return typesLioncash2016-01-252-8/+8
|/ | | | This doesn't return by reference so const isn't really necessary
* Implement FS_User::GetFreeBytesarchshift2015-10-285-0/+18
|
* ivfc_archive: Fix a printf specifierLioncash2015-09-301-1/+1
|
* disk_archive: Remove unimplemented constructor declarationsLioncash2015-09-101-2/+0
|
* Services/FS: Correctly tell the guest app whether a file was correctly opened or not.Subv2015-08-291-1/+1
| | | | Closes #1067
* Archive: Correct a few incorrect types in function signaturesYuri Kunde Schlesner2015-07-145-21/+21
| | | | Buffer lengths should be size_t, and file offsets should be u64.
* Loader: Remove unnecessary pointer indirection to IOFileYuri Kunde Schlesner2015-07-142-2/+2
|
* FS: Stream RomFS from file instead of loading all of it to memorycondut2015-07-145-23/+27
|
* Core: Properly configure address space when loading a binaryYuri Kunde Schlesner2015-07-121-2/+2
| | | | | | The code now properly configures the process image to match the loaded binary segments (code, rodata, data) instead of just blindly allocating a large chunk of dummy memory.
* Core: Cleanup file_sys includes.Emmanuel Gil Peyrot2015-06-2817-30/+52
|
* CitraQt: Cleanup includes.Emmanuel Gil Peyrot2015-06-281-0/+1
|
* Common: Cleanup memory and misc includes.Emmanuel Gil Peyrot2015-06-281-0/+2
|
* Common: Fix FileUtil includes, and everything relying on those.Emmanuel Gil Peyrot2015-06-284-0/+4
|
* ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.Subv2015-06-021-3/+6
| | | | Organize the ExtSaveData folders as they are stored in the console.
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-293-5/+5
|
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-1/+1
| | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
* Kernel: Remove g_program_idYuri Kunde Schlesner2015-05-091-2/+3
| | | | This has been obsoleted by the field in Process.
* Common: Remove common.hYuri Kunde Schlesner2015-05-078-1/+7
|
* Clean-up includesYuri Kunde Schlesner2015-05-072-4/+2
|
* FileSys: De-inline Path membersYuri Kunde Schlesner2015-05-072-125/+136
|
* FileSys: Clean-up includes, de-inline destructorsYuri Kunde Schlesner2015-05-073-7/+14
|
* Headers: Add some forgotten overrides, thanks clang!Emmanuel Gil Peyrot2015-04-141-1/+1
|
* Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveDataSubv2015-03-144-2/+76
| | | | Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
* Archives: Properly implemented the SystemSaveData archive.Subv2015-02-262-19/+28
| | | | Ported to the new factory pattern we have for archives.
* FS: Allow multiple instances of the same archive type to be open at onceYuri Kunde Schlesner2015-02-1015-129/+163
|
* Services: Stubbed more services.Subv2015-01-242-2/+19
| | | | Implemented FSUser::CreateExtSaveData
* Merge pull request #376 from Subv/arc_reorderbunnei2015-01-077-16/+50
|\ | | | | Archives: Change the folder layout of some archives.
| * Archives/Exdata: Don't set concrete_mount_point in the ctorSubv2015-01-061-1/+1
| |
| * Archives: Addressed some commentsSubv2015-01-064-13/+13
| |
| * SaveDataCheck: Fixed a typoSubv2015-01-051-1/+1
| |
| * Archives: Make SYSTEM_ID and SDCARD_ID stringsSubv2015-01-044-5/+7
| |
| * Archives: Changed the way paths are built for the archives.Subv2015-01-046-12/+44
| | | | | | | | Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
| * SaveDataCheck: Move the files to nand/titleSubv2015-01-041-1/+2
| | | | | | | | under /nand/title/high/low/content/00000000.app.romfs
| * Archives: Change the folder layout of some archives.Subv2015-01-031-2/+1
| | | | | | | | This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
* | FileSys: Fix crash bug in DiskFile exposed by #400Yuri Kunde Schlesner2015-01-031-4/+0
| |
* | FileSys: Fix a few memory leaksYuri Kunde Schlesner2015-01-032-6/+7
|/
* IVFCArchive: Use a critical log to notify of invalid operations.Subv2015-01-031-9/+9
|
* SaveDataCheck: Remove unneeded constructor from a classSubv2015-01-031-2/+0
|
* Archives: Added some documentation to IVFCArchiveSubv2015-01-031-0/+5
|
* Archives: Reduced duplicate code in RomFS and SaveCheck.Subv2015-01-0311-333/+229
| | | | Fixed a few warnings and cleaned up the code
* SaveDataCheck: Preliminary work in this archive.Subv2015-01-032-4/+28
| | | | | | This allows Steel Diver to boot further, some files are needed. This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives)
* Archives: Implemented ExtSaveData and SharedExtSaveDataSubv2014-12-308-15/+168
| | | | | | | | They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively. Also redirect some APT_A functions to their APT_U equivalents. Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module. Implemented formatting the savegame. Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
* FileSys: Clean up according to the coding style, and remove redundant namespaced names.Emmanuel Gil Peyrot2014-12-249-169/+97
|
* CFG: Create a new subfolder cfg inside service to handle cfgSubv2014-12-211-0/+1
| | | | Moved most of the shared CFG code there, implemented a few CFG:I functions
* Style: Addressed some commentsSubv2014-12-211-2/+7
|
* CFG: Refactored how the config file works.Subv2014-12-211-1/+1
| | | | It is now kept in memory as per 3dbrew, all updates happen on memory, then they can be saved using UpdateConfigNANDSavegame.
* CFG: Implemented the GetConfigInfoBlk2 function.Subv2014-12-213-3/+9
| | | | | | Added a "config" file to the CFG process service (CFG:U), and added a few default blocks to it. Implemented GetSystemModel and GetModelNintendo2DS
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-2117-17/+17
|\ | | | | License change
| * License changepurpasmart962014-12-2117-17/+17
| |
* | Merge pull request #271 from archshift/createfbunnei2014-12-215-0/+44
|\ \ | | | | | | Added CreateFile to the FS_USER service
| * | Added CreateFile to the FS_USER servicearchshift2014-12-215-0/+44
| | | | | | | | | | | | Tested with hwtests.
* | | Merge pull request #315 from chinhodado/masterbunnei2014-12-201-1/+10
|\ \ \ | |/ / |/| | Clean up some warnings
| * | Clean up some warningsChin2014-12-201-1/+10
| |/
* / Common: Add a clone of std::make_uniqueYuri Kunde Schlesner2014-12-201-2/+3
|/
* SystemSaveData: Added a TODO to move it to the NAND.Subv2014-12-181-1/+3
| | | | Maybe sometime when we actually implement that
* SaveData: Implemented the SystemSaveData archive.Subv2014-12-183-2/+65
| | | | It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
* Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-1812-473/+344
| | | | | | | | | | The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information Got rid of the code duplication in File and Directory Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive. FS_U: Use the correct error code when a file wasn't found
* FS.Archive: Clean up treatment of archives and their handlesYuri Kunde Schlesner2014-12-167-190/+21
| | | | | | | - Refactor FS::Archive internals to make Archive creation and lifetime management clearer. - Remove the "Archive as a File" hack. - Implement 64-bit Archive handles.
* Service.FS: Rename FileSys::File to FileBackendYuri Kunde Schlesner2014-12-168-15/+15
|
* Service.FS: Rename FileSys::Directory to DirectoryBackendYuri Kunde Schlesner2014-12-168-15/+15
|
* Service.FS: Rename FileSys::Archive to ArchiveBackendYuri Kunde Schlesner2014-12-163-6/+6
|
* Service.FS: Do archive registration using IdCode instead of nameYuri Kunde Schlesner2014-12-163-25/+4
|
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-135-24/+28
|
* Merge pull request #264 from Subv/filesbunnei2014-12-091-3/+6
|\ | | | | Kernel/File: Fixed file read/write hwtests
| * Kernel/File: Fixed file read/write hwtestsSubv2014-12-081-3/+6
| | | | | | | | | | | | The 3DS allows the user to read from files opened with the Write access modifier, even if he did not specify the Read access modifier. Open the files in binary mode so that we can prevent CR/LF problems in Windows, where a line-end is replaced by these two bytes instead of just 0xA, this was causing problems with the GetSize test
* | Make OpenDirectory fail if the directory doesn't existarchshift2014-12-076-3/+35
|/ | | | | | | This is in line with what the hardware itself does. It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails. Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
* Merge pull request #222 from archshift/renamexyzbunnei2014-12-055-0/+66
|\ | | | | Implemented RenameFile and RenameDirectory in FS:USER
| * Updated archive.cpp functions for proper error handlingarchshift2014-12-042-24/+0
| |
| * Implemented RenameDirectory in FS:USERarchshift2014-11-255-0/+45
| |
| * Implemented RenameFile in FS:USERarchshift2014-11-255-0/+45
| |
* | Fixed formatting and switch statement warningsvaguilar2014-11-272-1/+3
|/
* Merge pull request #191 from archshift/deletexyzbunnei2014-11-245-0/+80
|\ | | | | Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
| * Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.archshift2014-11-235-0/+80
| |
* | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-192-2/+2
| |
* | Merge pull request #209 from lioncash/warnTony Wasserka2014-11-181-1/+1
|\ \ | | | | | | directory_sdmc: Fix a signed/unsigned mismatch comparison
| * | directory_sdmc: Fix a signed/unsigned mismatch comparisonLioncash2014-11-181-1/+1
| |/
* / Remove extraneous semicolonsLioncash2014-11-183-3/+3
|/
* FileSys: Updated backend code to use FileSys::Path instead of string for paths.bunnei2014-11-189-24/+24
|
* FileSys: Added DebugStr method to Path class.bunnei2014-11-181-0/+29
|
* Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functionsarchshift2014-11-131-0/+99
|
* Added CreateDirectory function to service/fs.cpp, and in Archive.archshift2014-11-025-0/+40
|
* Fix some warningsSean2014-10-302-2/+2
|
* Use config files to store whether SDMC is enabled or notarchshift2014-10-231-2/+8
| | | | Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs).
* Common: Add a helper function to generate a 8.3 filename from a long one.Emmanuel Gil Peyrot2014-10-063-29/+27
| | | | Core: Fix the SDMC Directory implementation to make blargSnes work.
* FileSys: Add static asserts for the Directory struct, and fix its fields position.Emmanuel Gil Peyrot2014-10-061-2/+8
|
* FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.Emmanuel Gil Peyrot2014-10-066-14/+54
| | | | Kernel: Return an invalid handle to OpenFile when it failed to open.
* FileSys/Kernel: Implement SetSize service call for File objects.Emmanuel Gil Peyrot2014-10-065-0/+41
|
* FileSys: Add forgotten docstrings.Emmanuel Gil Peyrot2014-10-067-4/+35
|
* Fix warnings in core and commonLioncash2014-09-281-1/+1
|
* Core: Add a method to obtain a Directory from an Archive.Emmanuel Gil Peyrot2014-09-175-0/+44
|
* Core: Add a Directory object, with both a stub and a passthrough implementations.Emmanuel Gil Peyrot2014-09-175-0/+259
|
* Core: Add a passthrough backend for the filesystem, exposed as SDMC.Emmanuel Gil Peyrot2014-09-174-0/+298
|
* Core: Add a new File class, obtainable from an Archive, and a stub implementation.Emmanuel Gil Peyrot2014-09-176-0/+205
|
* Added FS functions to Archive and Archive_RomFSarchshift2014-08-233-8/+57
|
* Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override".bunnei2014-07-051-4/+4
|
* Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final"bunnei2014-07-051-1/+1
|
* Loader: Updated read methods to be constbunnei2014-07-052-2/+2
| | | | - Required "file" handle to be made local and explicitly opened/closed as needed
* FileSys: Added preliminary support for applications reading the RomFS archive.bunnei2014-07-054-138/+150
| | | | | | | | | | Archive: Fixed brace ugliness for neobrain :) FS: Commented out unused local variables to prevent warnings. ...But keeping them here for future use. archive_romfs: Removed unused #include.
* Core: Removed unused directory_file_system and meta_file_system modules.bunnei2014-06-274-1453/+0
| | | | Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
* fixes to build on linuxbunnei2014-04-232-22/+22
|
* fixed project includes to use new directory structurebunnei2014-04-095-20/+15
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-095-0/+1596