Commit Graph

59 Commits

Author SHA1 Message Date
Michael Scire
ce44fe4ea9 fs: revise allocation-fail result names 2022-03-23 09:15:54 -07:00
Michael Scire
0d2e2df552 strat: revise fs unsupported operation results, add overflow utils 2022-03-23 09:15:53 -07:00
Michael Scire
a9e2c6a9c0 fs: first pass at compressed storage (works on iridium with wip hac2l code) 2022-03-23 09:15:51 -07:00
Michael Scire
7a689dc29e libs: add ongoing work to facilitate hactool rewrite 2022-03-23 09:15:48 -07:00
Michael Scire
d7a9c7ec4c ams: support building unit test programs on windows/linux/macos 2022-03-23 09:15:46 -07:00
Michael Scire
f6a7274b60 fix SubStorage copy ctor/= op for new shared_ptr member 2022-03-23 09:15:45 -07:00
Michael Scire
b37eba086f fs: revise NcaFileSystemDriver for latest semantics 2022-03-23 09:15:44 -07:00
Michael Scire
7407ddaf1e fssrv: flesh out the program registry 2022-03-23 09:15:43 -07:00
Michael Scire
2fd560c7d1 fs: allocations with mutex held must be unsafe 2022-03-23 09:15:42 -07:00
Michael Scire
5b4528214f fs: implement newer allocator templates 2022-03-23 09:15:42 -07:00
Michael Scire
1e98da6d08 fssrv: skeleton server manager setup/registration 2022-03-23 09:15:42 -07:00
Michael Scire
3e33fb6361 strat: use m_ for member variables 2021-10-15 23:54:35 -07:00
Michael Scire
3b5f56ab9f ams: replace most remaining operator & with std::addressof 2021-10-15 23:54:34 -07:00
Michael Scire
2905319d46 strat: use ams::Main() instead of main(argc, argv) 2021-10-07 23:06:29 -07:00
Michael Scire
8a8631ebcb strat: build sysmodules with -Wextra/-Werror 2021-10-07 23:06:29 -07:00
Michael Scire
843dc8e521 libstrat: fix compilation without pre-compiled header/without lto 2021-10-07 23:06:28 -07:00
Michael Scire
fd1b6d4578 libstrat: enable -Wextra, -Werror
This caught an embarrassingly large number of bugs.
2021-10-07 23:06:28 -07:00
Michael Scire
002422d5dc ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals 2021-10-07 23:06:25 -07:00
Michael Scire
69a0ec03e9 strat: use consistent include style for lib headers 2021-10-07 23:06:23 -07:00
Michael Scire
c68298a00e stratosphere: use SdkMutex/SdkRecursiveMutex over Mutex 2021-10-07 23:06:22 -07:00
Michael Scire
dc3f54a713 ams: std::optional -> util::optional 2021-07-12 01:59:51 -07:00
Michael Scire
156a5ceba2 libstrat: fix override operator new to be noexcept (closes #1494) 2021-06-08 08:09:21 -07:00
Michael Scire
1e1b5971ce fs: properly implement OperateRangeWithBuffer, correct OperationId names. 2021-04-30 08:56:09 -07:00
Michael Scire
65a37c60cc tio: implement SdCardObserver (finishes sysmodule) 2021-04-11 03:58:57 -07:00
Michael Scire
26369e34f1 ams: use util::SNPrintf over std:: (size/linker improvements) 2021-01-13 10:41:28 -08:00
Michael Scire
af44769939 fs: add ProgramIndexMapInfo 2020-12-11 03:48:58 -08:00
Michael Scire
fd5212f399 fs: update + consolidate path normalization logic 2020-12-11 03:48:57 -08:00
Michael Scire
1aa8a27f17 fs: move file storage to common 2020-12-11 03:48:57 -08:00
Michael Scire
8aa6f4253d IStorage: rename access check helpers 2020-12-11 03:48:57 -08:00
Michael Scire
7c4ada41fc fsa: *Impl -> Do* 2020-12-11 03:48:56 -08:00
Michael Scire
e5bb9eded1 fs/system: deduplicate RomFs code 2020-12-11 03:48:56 -08:00
Michael Scire
4c51c55d1a loader: improve verification terminology 2020-09-14 18:13:42 -07:00
SciresM
ecf8389efd sf: Change interface definition methodology (#1074)
* sf: Begin experimenting with new interface declaration format

* sf: convert fs interfaces to new format

* sf: finish conversion of libstrat to new definitions

* sf: convert loader to new format

* sf: convert spl to new format

* sf: update ncm for new format

* sf: convert pm to new format

* sf: convert ro/sm to new format

* sf: update fatal for new format

* sf: support building dmnt under new scheme

* sf: update ams.mitm for new format

* sf: correct invocation def for pointer holder

* fs: correct 10.x+ user bindings for Get*SpaceSize
2020-08-01 15:30:56 -07:00
Michael Scire
47d62b22f2 libstrat: fix bugs/compiler warnings 2020-08-01 15:30:55 -07:00
Michael Scire
e00abe01c1 fs: use access_log for other user fs/dir/file bindings 2020-08-01 15:30:55 -07:00
Michael Scire
3c7c4d8bff fs: implement AccessLog, enable for File operations 2020-08-01 15:30:55 -07:00
Michael Scire
f019daae0e sysupdater: implement content meta mounting 2020-06-28 19:41:09 -07:00
Michael Scire
bbbe67937a nca-pr: update for c++20 2020-05-14 02:22:37 -07:00
SciresM
b38939adb5 Implement support for parsing/interacting with NCAs. (#942)
* fs: implement support for interacting with ncas.

* spl: extend to use virtual keyslots
2020-05-12 15:44:19 -07:00
SciresM
7d041e853d Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20

* remove mno-outline-atomics

* ams: take care of most TODO C++20s

* fusee/sept: update for gcc10

* whoosh, your code now uses pre-compiled headers

* make: dependency fixes
2020-05-12 15:44:19 -07:00
Michael Scire
dd81610366 loader: update for 10.0.0 2020-04-15 11:55:02 -07:00
SciresM
78653041d4 erpt: reimplement the sysmodule (#875)
* erpt: reimplement the sysmodule

* fatal: update for latest bindings

* erpt: amend logic for culling orphan attachments
2020-04-15 11:55:01 -07:00
Michael Scire
a0cddf7c06 os: refactor/rewrite entire namespace. 2020-04-15 11:54:59 -07:00
Michael Scire
2319e4a450 fs: add AesCtrStorage 2020-04-06 17:44:35 -07:00
Michael Scire
442d5cf711 fssystem: add RomFsFileSystem 2020-04-05 23:25:44 -07:00
Adubbz
6e8ea3aafd NCM client implementation (#858)
* ncm: Implement InstallTaskDataBase and FileInstallTaskData

* ncm: minor bugfixes

* ncm: Implemented MemoryInstallTaskData

* ncm: more std

* ncm: begin implementing install task base

* ncm: move protected funcs

* ncm: fix recursive include

* ncm: more install task progress

* ncm install task: implement IncrementProgress and update UpdateThroughputMeasurement

* ncm: more work

* ncm client: more progress

* ncm client: more progress

* ncm client: finish implementing GetContentMetaInfoList

* ncm client: more progress

* ncm client: finished InstallTaskBase

* ncm client: implement PackageInstallTaskBase

* ncm client: fixes

* ncm: improve accuracy

* ncm client: implement PackageInstallTask

* ncm client: implement PackageSystemUpdateTask

* ncm client: minor name tweaks

* ncm client: implement SubmissionPackageInstallTask

* ncm client: add missing this to SubmissionPackageInstallTask

* ncm client: add missing nullptr check to SubmissionPackageInstallTask destructor

* ncm client: SubmissionPackageInstallTask fixes

* ncm: fix forward declarations

* ncm client: added simplified funcs

* ncm: cleanup client code

* ncm: fix bug introduced by cleanup

* ncm: fix typo

* ncm: implement correct ReadVariationContentMetaInfoList behavior

* ncm: correct InstallContentMetaWriter ctor

* ncm: correct conversion of content meta header types

Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-04-05 23:25:44 -07:00
Michael Scire
6f77a6bf65 fs: add MountImageDirectory 2020-03-27 17:00:14 -07:00
Adubbz
4bf56b3088 fs: implement FileHandleStorage (#857)
* fs: implement FileHandleStorage

* fs: merge FileHandleStorage into file_storage TU

Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-03-27 17:00:14 -07:00
Adubbz
abc0e93763 fssystem: Implement PartitionFileSystemCore (#856)
* fssystem: implement PartitionFileSystemMetaCore

* fssystem: PartitionFileSystemMetaCore cleanup

* fs: add IFile::DryWrite, update results

* fssystem: implement PartitionFileSystemCore

* fssystem: cleanup PartitionFileSystemCore

* fssystem: implement Sha256PartitionFileSystem

Co-authored-by: Michael Scire <SciresM@gmail.com>
2020-03-27 17:00:14 -07:00
Michael Scire
07630f73a7 fs: add MountDeviceSaveData 2020-03-18 20:05:51 -07:00