summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nfp (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-09-11service: mii: Move ver3 operationsgerman771-0/+1
2023-09-11service: mii: separate mii types into their own filegerman771-2/+3
2023-06-15service: nfc: Accuracy fixesNarr the Reg1-8/+18
2023-06-07service: nfc: Add backup supportgerman772-3/+5
2023-05-06service: nfc: Merge device interfaces and create the device managerNarr the Reg9-2655/+159
2023-04-24service: nfc: Create interfaceNarr the Reg1-21/+3
2023-04-15service: nfp: Implement debug InterfaceNarr the Reg6-8/+444
2023-04-15service: nfp: Implement system interfaceNarr the Reg6-17/+289
2023-04-14service: nfp: Use an unique interfaceNarr the Reg3-69/+225
2023-03-26service: nfp: Add plain amiibo supportgerman775-8/+37
2023-03-22nfc: Initialize device when controller is connectedNarr the Reg2-2/+15
2023-03-17service: nfp: Replace crc function with boost equivalentNarr the Reg2-28/+17
2023-03-16service: nfp: Close app area and recreate crcNarr the Reg1-0/+10
2023-03-16service: nfp: Convert mii colors to v3Narr the Reg3-5/+13
2023-03-15service: nfp: Actually write correct crcNarr the Reg4-22/+40
2023-03-12general: fix spelling mistakesLiam2-2/+2
2023-03-10service: nfp: Improve implementationNarr the Reg4-50/+232
2023-03-01service: move hle_ipc from kernelLiam4-54/+54
2023-02-21service: refactor server architectureLiam2-3/+7
Converts services to have their own processes
2023-02-14remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistencyarades791-6/+6
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14add static lifetime to constexpr values to force compile time evaluation where possiblearades791-6/+6
Signed-off-by: arades79 <scravers@protonmail.com>
2023-02-14general: rename CurrentProcess to ApplicationProcessLiam1-1/+1
2023-01-20core: hid: Only set the polling mode to the correct sideNarr the Reg1-2/+4
2023-01-20yuzu: Add ring controller test buttongerman771-1/+2
2022-12-29hle_ipc: Rename ReadBufferSpan to ReadBufferameerj1-3/+3
2022-12-25service: Use ReadBufferSpan where it is trivial to do soameerj1-3/+3
2022-12-18service: nfc: Silence ListDevicesgerman771-1/+1
2022-12-02service: nfc: Implement mifare serviceNarr the Reg1-0/+46
2022-11-23service: Make use of buffer element count helpersLioncash1-3/+3
2022-11-19service: nfc: Implement nfc userNarr the Reg5-14/+16
2022-11-14general: Address review commentsgerman771-1/+3
2022-11-13service: am: Implement cabinet applet backendgerman771-0/+7
2022-11-13service: nfc: fix tagprotocol and implement GetApplicationAreaIdgerman774-8/+43
2022-10-22service: nfp: Allow amiibos without keysNarr the Reg3-1/+18
2022-10-22service: nfp: remove unnecessary includeNarr the Reg5-11/+7
2022-10-13kernel: remove KWritableEventLiam1-3/+3
2022-10-07nfp_types: silence -Wtype-limitsLiam1-1/+1
2022-10-04service: nfp: Fix errors to pass unit testingNarr the Reg5-40/+108
2022-10-02service: nfp: Implement mount target and open application area errors, minor fixesNarr the Reg5-19/+124
2022-10-02nfp: Multiple fixes against HWgerman776-56/+92
2022-10-02service: nfp: address commentsgerman773-19/+21
2022-10-02service: nfp: Rewrite and implement applet callsgerman7710-1257/+1460
2022-09-23chore: fix some typosAndrea Pappacoda1-2/+2
Fix some typos reported by Lintian
2022-09-07core: nfp: Remove magic numbersgerman773-105/+103
2022-09-07core: nfp: Workaround for lack of multiple nfp interfacesgerman771-1/+3
2022-09-07core: nfp: Correct date and amiibo nameNarr the Reg3-17/+34
2022-09-07core: nfp: Implement Convert and RecreateApplicationArea, accuracy fixesNarr the Reg5-230/+114
2022-09-07core: nfp: Implement amiibo encryptiongerman775-256/+1223
2022-06-27core: Replace all instances of ResultCode with Resultgerman772-30/+30
2022-04-23general: Convert source file copyright comments over to SPDXMorph4-12/+8
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-22service: Move mii enums and structs into its own fileMorph2-1/+2
Moves these into types.h, since other files also make use of these types.
2022-02-13nfp: Allow files without password datagerman772-9/+24
2022-02-10nfp: Separate nfc tag from amiibo dataNarr the Reg2-42/+69
2022-02-09nfp: Address compiler issuesgerman771-25/+26
2022-02-08nfp: Validate amiibo filesNarr the Reg2-41/+145
2022-02-08nfp: Improve implementationgerman772-189/+664
2022-02-07nfp: Move IUser class to header and add missing enum and structsgerman772-257/+299
2022-02-07nfp: Sort functions by command numbergerman771-79/+79
2021-12-18core: hle: Remove global HLE lock.bunnei1-2/+0
- This was added early on as a hack to protect against some concurrency issues. - It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-11-04core: Remove unused includesameerj1-2/+0
2021-10-02service: Replace service event creation with ServiceContext::CreateEventMorph2-26/+34
The service context helps to manage all created events and allows us to close them upon destruction.
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph1-20/+20
Transition to PascalCase for result names.
2021-05-06hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei2-6/+6
2021-05-06hle: kernel: Ensure all kernel objects with KAutoObject are properly created.bunnei1-0/+4
2021-05-06hle: kernel: Migrate KEvent to KAutoObject.bunnei2-19/+15
2021-05-06hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei2-2/+2
2021-02-09nfp: Correct uninitialized size being used within GetTagInfo()Lioncash1-1/+1
We were previously the name of the object being initialized within its own initializer, which results in uninitialized data being read.
2021-02-05hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei2-14/+20
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei2-5/+5
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei2-4/+4
2021-01-29core: hle: kernel: Rename Thread to KThread.bunnei1-1/+1
2021-01-11hle: service: nfp: Remove incorrect signaling behavior in GetDeviceState.bunnei1-6/+0
2020-11-27service: Eliminate usages of the global system instanceLioncash4-9/+10
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-10-21Revert "core: Fix clang build"bunnei1-1/+1
2020-10-18core: Fix clang buildLioncash1-1/+1
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-09-17nfp: Eliminate two unnecessary copiesLioncash1-10/+13
GetAmiiboBuffer() returns by const reference, so we can use a reference instead of taking the returned buffer by value.
2020-08-03ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David1-4/+4
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
2020-07-02Rename GetApplicationArea2 to GetApplicationAreaSizeVolcaEM1-2/+2
2020-06-29service: Update function tablesVolcaEM1-2/+2
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei1-1/+1
2019-11-25kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154)bunnei2-2/+2
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-11-12service: Resolve sign conversion errorsLioncash1-3/+0
These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei1-6/+4
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp
2019-10-05service/nfp: Silence -Wunused and -WswitchReinUsesLisp1-4/+5
2019-09-22Deglobalize System: NFPDavid Marcec4-14/+16
2019-05-18core/kernel/object: Rename ResetType enum membersLioncash1-3/+3
Renames the members to more accurately indicate what they signify. "OneShot" and "Sticky" are kind of ambiguous identifiers for the reset types, and can be kind of misleading. Automatic and Manual communicate the kind of reset type in a clearer manner. Either the event is automatically reset, or it isn't and must be manually cleared. The "OneShot" and "Sticky" terminology is just a hold-over from Citra where the kernel had a third type of event reset type known as "Pulse". Given the Switch kernel only has two forms of event reset types, we don't need to keep the old terminology around anymore.
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash1-1/+1
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-01-04Return no application area when games try to open an application areaDavid Marcec1-4/+4
This will prompt CreateApplicationArea
2019-01-01core/kernel: Remove unnecessary inclusionsLioncash1-1/+1
Gets rid of a few unnecessary header dependencies in some source files.
2018-12-29travis: Use correct package for linux Qt5WebEngineZach Hilman1-1/+0
2018-12-19Device handle should not be a random id, instead it's the current npad idDavid Marcec1-2/+2
Found during hardware testing
2018-11-29hle_ipc: Refactor SleepClientThread to avoid ReadableEventZach Hilman1-0/+1
2018-11-29kernel/event: Reference ReadableEvent from WritableEventZach Hilman2-23/+14
2018-11-29core: Port all current usages of Event to Readable/WritableEventZach Hilman2-16/+29
2018-11-26Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec1-6/+10
2018-11-14nfp: Correct erroneous sizeof expression within GetTagInfo()Lioncash1-1/+1
The previous expression would copy sizeof(size_t) amount of bytes (8 on a 64-bit platform) rather than the full 10 bytes comprising the uuid member. Given the source and destination types are the same, we can just use an assignment here instead.
2018-10-24yuzu/main: Notify user of loading errors with Amiibo dataLioncash2-3/+5
We shouldn't silently continue if loading failed, since the general assumption is that no messages showing up implicitly indicates success.
2018-10-24Added Amiibo support (#1390)David2-42/+249
* Fixed conflict with nfp * Few fixups for nfc * Conflict 2 * Fixed AttachAvailabilityChangeEvent * Conflict 3 * Fixed byte padding * Refactored amiibo to not reside in "System" * Removed remaining references of nfc from system * used enum for Nfc GetStateOld * Added missing newline * Moved file operations to front end * Conflict 4 * Amiibos now use structs and added mutexes * Removed amiibo_path
2018-10-10"Better Hid" rework part 1David Marcec1-1/+1
2018-09-25service: Add missing headers inclusions where applicableLioncash1-0/+1
Gets rid of a few indirect inclusions.
2018-09-11hle/service: Default constructors and destructors in the cpp file where applicableLioncash4-0/+6
When a destructor isn't defaulted into a cpp file, it can cause the use of forward declarations to seemingly fail to compile for non-obvious reasons. It also allows inlining of the construction/destruction logic all over the place where a constructor or destructor is invoked, which can lead to code bloat. This isn't so much a worry here, given the services won't be created and destroyed frequently. The cause of the above mentioned non-obvious errors can be demonstrated as follows: ------- Demonstrative example, if you know how the described error happens, skip forwards ------- Assume we have the following in the header, which we'll call "thing.h": \#include <memory> // Forward declaration. For example purposes, assume the definition // of Object is in some header named "object.h" class Object; class Thing { public: // assume no constructors or destructors are specified here, // or the constructors/destructors are defined as: // // Thing() = default; // ~Thing() = default; // // ... Some interface member functions would be defined here private: std::shared_ptr<Object> obj; }; If this header is included in a cpp file, (which we'll call "main.cpp"), this will result in a compilation error, because even though no destructor is specified, the destructor will still need to be generated by the compiler because std::shared_ptr's destructor is *not* trivial (in other words, it does something other than nothing), as std::shared_ptr's destructor needs to do two things: 1. Decrement the shared reference count of the object being pointed to, and if the reference count decrements to zero, 2. Free the Object instance's memory (aka deallocate the memory it's pointing to). And so the compiler generates the code for the destructor doing this inside main.cpp. Now, keep in mind, the Object forward declaration is not a complete type. All it does is tell the compiler "a type named Object exists" and allows us to use the name in certain situations to avoid a header dependency. So the compiler needs to generate destruction code for Object, but the compiler doesn't know *how* to destruct it. A forward declaration doesn't tell the compiler anything about Object's constructor or destructor. So, the compiler will issue an error in this case because it's undefined behavior to try and deallocate (or construct) an incomplete type and std::shared_ptr and std::unique_ptr make sure this isn't the case internally. Now, if we had defaulted the destructor in "thing.cpp", where we also include "object.h", this would never be an issue, as the destructor would only have its code generated in one place, and it would be in a place where the full class definition of Object would be visible to the compiler. ---------------------- End example ---------------------------- Given these service classes are more than certainly going to change in the future, this defaults the constructors and destructors into the relevant cpp files to make the construction and destruction of all of the services consistent and unlikely to run into cases where forward declarations are indirectly causing compilation errors. It also has the plus of avoiding the need to rebuild several services if destruction logic changes, since it would only be necessary to recompile the single cpp file.
2018-08-29kernel: Eliminate kernel global stateLioncash1-4/+6
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-07-19hle/service: Make constructors explicit where applicableLioncash1-1/+1
Prevents implicit construction and makes these lingering non-explicit constructors consistent with the rest of the other classes in services.
2018-07-03Rename logging macro back to LOG_*James Rowe1-9/+9
2018-06-06Stub IUser::AttachAvailabilityChangeEventmailwl1-5/+23
2018-06-04Correct function resultsmailwl1-4/+16
2018-06-04Service/nfp:user : stub some functions.mailwl1-6/+70
Used by Zelda: BoTW
2018-05-13Updated nfp with more service namesHexagon121-24/+24
2018-04-27Switched to NGLOG_WARNINGDavid Marcec1-2/+2
2018-04-24nfp: Move logging macros over to new fmt-compatible onesLioncash1-1/+1
2018-04-23GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.David Marcec3-3/+28
2018-04-22Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)David Marcec3-4/+21
2018-04-20service: Use nested namespace specifiers where applicableLioncash4-16/+8
Tidies up namespace declarations
2018-03-30service: Add NFP module interface.bunnei4-0/+93
service: Initialize NFP service. Log: Add NFP service as a log subtype.