libNX HID initialization

What was added:
* HID Service
* Support for Mutexes and Conditional Variables
What was improved:
* Service API now creates one instance per Session rather than a single instance for all Sessions
* Changed std::map objects into std::unordered_map in KProcess
* Comments on enumeration values
This commit is contained in:
◱ PixelyIon
2019-10-16 18:11:30 +05:30
parent ec71735ece
commit 2476c5d48a
14 changed files with 388 additions and 70 deletions

View File

@ -96,6 +96,26 @@ namespace skyline {
*/
void WaitSynchronization(DeviceState &state);
/**
* @brief Locks a specified mutex
*/
void ArbitrateLock(DeviceState &state);
/**
* @brief Unlocks a specified mutex
*/
void ArbitrateUnlock(DeviceState &state);
/**
* @brief Waits on a process-wide key (Conditional-Variable)
*/
void WaitProcessWideKeyAtomic(DeviceState &state);
/**
* @brief Signals a process-wide key (Conditional-Variable)
*/
void SignalProcessWideKey(DeviceState &state);
/**
* @brief Connects to a named IPC port
*/
@ -146,10 +166,10 @@ namespace skyline {
nullptr, // 0x17
WaitSynchronization, // 0x18
nullptr, // 0x19
nullptr, // 0x1a
nullptr, // 0x1b
nullptr, // 0x1c
nullptr, // 0x1d
ArbitrateLock, // 0x1a
ArbitrateUnlock, // 0x1b
WaitProcessWideKeyAtomic, // 0x1c
SignalProcessWideKey, // 0x1d
nullptr, // 0x1e
ConnectToNamedPort, // 0x1f
nullptr, // 0x20