aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Time/StaticService
diff options
context:
space:
mode:
authorMary <me@thog.eu>2021-04-14 00:01:24 +0200
committerGitHub <noreply@github.com>2021-04-14 00:01:24 +0200
commit0746b83edf49d1fd668dd337264e942f361b675c (patch)
tree37b71396036206252cdc42715d6a3046ee81c795 /Ryujinx.HLE/HOS/Services/Time/StaticService
parentfaa654dbaf7cd5262c78c0961a5aa72b1ce8ac33 (diff)
Initial support for the new 12.x IPC system (#2182)
* Rename CommandAttribute as CommandHIpcAttribute to prepare for 12.x changes * Implement inital support for TIPC and adds SM command ids * *Ipc to *ipc * Missed a ref in last commit... * CommandAttributeTIpc to CommandAttributeTipc * Addresses comment and fixes some bugs around TIPC doesn't have any padding requirements as buffer C isn't a thing Fix for RegisterService inverting two argument only on TIPC
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Time/StaticService')
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/StaticService/ISteadyClock.cs16
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/StaticService/ISystemClock.cs10
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForGlue.cs18
-rw-r--r--Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForPsc.cs28
4 files changed, 36 insertions, 36 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Time/StaticService/ISteadyClock.cs b/Ryujinx.HLE/HOS/Services/Time/StaticService/ISteadyClock.cs
index bf6a4fd1..a5ce8d6a 100644
--- a/Ryujinx.HLE/HOS/Services/Time/StaticService/ISteadyClock.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/StaticService/ISteadyClock.cs
@@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
_bypassUninitializedClock = bypassUninitializedClock;
}
- [Command(0)]
+ [CommandHipc(0)]
// GetCurrentTimePoint() -> nn::time::SteadyClockTimePoint
public ResultCode GetCurrentTimePoint(ServiceCtx context)
{
@@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(2)]
+ [CommandHipc(2)]
// GetTestOffset() -> nn::TimeSpanType
public ResultCode GetTestOffset(ServiceCtx context)
{
@@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(3)]
+ [CommandHipc(3)]
// SetTestOffset(nn::TimeSpanType)
public ResultCode SetTestOffset(ServiceCtx context)
{
@@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(100)] // 2.0.0+
+ [CommandHipc(100)] // 2.0.0+
// GetRtcValue() -> u64
public ResultCode GetRtcValue(ServiceCtx context)
{
@@ -86,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(101)] // 2.0.0+
+ [CommandHipc(101)] // 2.0.0+
// IsRtcResetDetected() -> bool
public ResultCode IsRtcResetDetected(ServiceCtx context)
{
@@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(102)] // 2.0.0+
+ [CommandHipc(102)] // 2.0.0+
// GetSetupResultValue() -> u32
public ResultCode GetSetupResultValue(ServiceCtx context)
{
@@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(200)] // 3.0.0+
+ [CommandHipc(200)] // 3.0.0+
// GetInternalOffset() -> nn::TimeSpanType
public ResultCode GetInternalOffset(ServiceCtx context)
{
@@ -128,7 +128,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(201)] // 3.0.0-3.0.2
+ [CommandHipc(201)] // 3.0.0-3.0.2
// SetInternalOffset(nn::TimeSpanType)
public ResultCode SetInternalOffset(ServiceCtx context)
{
diff --git a/Ryujinx.HLE/HOS/Services/Time/StaticService/ISystemClock.cs b/Ryujinx.HLE/HOS/Services/Time/StaticService/ISystemClock.cs
index 2e0d0212..1d9f7873 100644
--- a/Ryujinx.HLE/HOS/Services/Time/StaticService/ISystemClock.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/StaticService/ISystemClock.cs
@@ -22,7 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
_operationEventReadableHandle = 0;
}
- [Command(0)]
+ [CommandHipc(0)]
// GetCurrentTime() -> nn::time::PosixTime
public ResultCode GetCurrentTime(ServiceCtx context)
{
@@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(1)]
+ [CommandHipc(1)]
// SetCurrentTime(nn::time::PosixTime)
public ResultCode SetCurrentTime(ServiceCtx context)
{
@@ -60,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return _clockCore.SetCurrentTime(context.Thread, posixTime);
}
- [Command(2)]
+ [CommandHipc(2)]
// GetClockContext() -> nn::time::SystemClockContext
public ResultCode GetSystemClockContext(ServiceCtx context)
{
@@ -79,7 +79,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(3)]
+ [CommandHipc(3)]
// SetClockContext(nn::time::SystemClockContext)
public ResultCode SetSystemClockContext(ServiceCtx context)
{
@@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(4)] // 9.0.0+
+ [CommandHipc(4)] // 9.0.0+
// GetOperationEventReadableHandle() -> handle<copy>
public ResultCode GetOperationEventReadableHandle(ServiceCtx context)
{
diff --git a/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForGlue.cs b/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForGlue.cs
index d3b2695b..5f35412d 100644
--- a/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForGlue.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForGlue.cs
@@ -19,14 +19,14 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
_inner = new ITimeZoneServiceForPsc(timeZoneContentManager.Manager, writePermission);
}
- [Command(0)]
+ [CommandHipc(0)]
// GetDeviceLocationName() -> nn::time::LocationName
public ResultCode GetDeviceLocationName(ServiceCtx context)
{
return _inner.GetDeviceLocationName(context);
}
- [Command(1)]
+ [CommandHipc(1)]
// SetDeviceLocationName(nn::time::LocationName)
public ResultCode SetDeviceLocationName(ServiceCtx context)
{
@@ -40,14 +40,14 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return _timeZoneContentManager.SetDeviceLocationName(locationName);
}
- [Command(2)]
+ [CommandHipc(2)]
// GetTotalLocationNameCount() -> u32
public ResultCode GetTotalLocationNameCount(ServiceCtx context)
{
return _inner.GetTotalLocationNameCount(context);
}
- [Command(3)]
+ [CommandHipc(3)]
// LoadLocationNameList(u32 index) -> (u32 outCount, buffer<nn::time::LocationName, 6>)
public ResultCode LoadLocationNameList(ServiceCtx context)
{
@@ -82,7 +82,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return errorCode;
}
- [Command(4)]
+ [CommandHipc(4)]
// LoadTimeZoneRule(nn::time::LocationName locationName) -> buffer<nn::time::TimeZoneRule, 0x16>
public ResultCode LoadTimeZoneRule(ServiceCtx context)
{
@@ -110,28 +110,28 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return resultCode;
}
- [Command(100)]
+ [CommandHipc(100)]
// ToCalendarTime(nn::time::PosixTime time, buffer<nn::time::TimeZoneRule, 0x15> rules) -> (nn::time::CalendarTime, nn::time::sf::CalendarAdditionalInfo)
public ResultCode ToCalendarTime(ServiceCtx context)
{
return _inner.ToCalendarTime(context);
}
- [Command(101)]
+ [CommandHipc(101)]
// ToCalendarTimeWithMyRule(nn::time::PosixTime) -> (nn::time::CalendarTime, nn::time::sf::CalendarAdditionalInfo)
public ResultCode ToCalendarTimeWithMyRule(ServiceCtx context)
{
return _inner.ToCalendarTimeWithMyRule(context);
}
- [Command(201)]
+ [CommandHipc(201)]
// ToPosixTime(nn::time::CalendarTime calendarTime, buffer<nn::time::TimeZoneRule, 0x15> rules) -> (u32 outCount, buffer<nn::time::PosixTime, 0xa>)
public ResultCode ToPosixTime(ServiceCtx context)
{
return _inner.ToPosixTime(context);
}
- [Command(202)]
+ [CommandHipc(202)]
// ToPosixTimeWithMyRule(nn::time::CalendarTime calendarTime) -> (u32 outCount, buffer<nn::time::PosixTime, 0xa>)
public ResultCode ToPosixTimeWithMyRule(ServiceCtx context)
{
diff --git a/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForPsc.cs b/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForPsc.cs
index c756dfd1..659e1331 100644
--- a/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForPsc.cs
+++ b/Ryujinx.HLE/HOS/Services/Time/StaticService/ITimeZoneServiceForPsc.cs
@@ -22,7 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
_writePermission = writePermission;
}
- [Command(0)]
+ [CommandHipc(0)]
// GetDeviceLocationName() -> nn::time::LocationName
public ResultCode GetDeviceLocationName(ServiceCtx context)
{
@@ -36,7 +36,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(1)]
+ [CommandHipc(1)]
// SetDeviceLocationName(nn::time::LocationName)
public ResultCode SetDeviceLocationName(ServiceCtx context)
{
@@ -48,7 +48,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.NotImplemented;
}
- [Command(2)]
+ [CommandHipc(2)]
// GetTotalLocationNameCount() -> u32
public ResultCode GetTotalLocationNameCount(ServiceCtx context)
{
@@ -62,21 +62,21 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return ResultCode.Success;
}
- [Command(3)]
+ [CommandHipc(3)]
// LoadLocationNameList(u32 index) -> (u32 outCount, buffer<nn::time::LocationName, 6>)
public ResultCode LoadLocationNameList(ServiceCtx context)
{
return ResultCode.NotImplemented;
}
- [Command(4)]
+ [CommandHipc(4)]
// LoadTimeZoneRule(nn::time::LocationName locationName) -> buffer<nn::time::TimeZoneRule, 0x16>
public ResultCode LoadTimeZoneRule(ServiceCtx context)
{
return ResultCode.NotImplemented;
}
- [Command(5)] // 2.0.0+
+ [CommandHipc(5)] // 2.0.0+
// GetTimeZoneRuleVersion() -> nn::time::TimeZoneRuleVersion
public ResultCode GetTimeZoneRuleVersion(ServiceCtx context)
{
@@ -90,7 +90,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(6)] // 5.0.0+
+ [CommandHipc(6)] // 5.0.0+
// GetDeviceLocationNameAndUpdatedTime() -> (nn::time::LocationName, nn::time::SteadyClockTimePoint)
public ResultCode GetDeviceLocationNameAndUpdatedTime(ServiceCtx context)
{
@@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(7)] // 9.0.0+
+ [CommandHipc(7)] // 9.0.0+
// SetDeviceLocationNameWithTimeZoneRule(nn::time::LocationName locationName, buffer<nn::time::TimeZoneBinary, 0x21> timeZoneBinary)
public ResultCode SetDeviceLocationNameWithTimeZoneRule(ServiceCtx context)
{
@@ -141,7 +141,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(8)] // 9.0.0+
+ [CommandHipc(8)] // 9.0.0+
// ParseTimeZoneBinary(buffer<nn::time::TimeZoneBinary, 0x21> timeZoneBinary) -> buffer<nn::time::TimeZoneRule, 0x16>
public ResultCode ParseTimeZoneBinary(ServiceCtx context)
{
@@ -177,14 +177,14 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return result;
}
- [Command(20)] // 9.0.0+
+ [CommandHipc(20)] // 9.0.0+
// GetDeviceLocationNameOperationEventReadableHandle() -> handle<copy>
public ResultCode GetDeviceLocationNameOperationEventReadableHandle(ServiceCtx context)
{
return ResultCode.NotImplemented;
}
- [Command(100)]
+ [CommandHipc(100)]
// ToCalendarTime(nn::time::PosixTime time, buffer<nn::time::TimeZoneRule, 0x15> rules) -> (nn::time::CalendarTime, nn::time::sf::CalendarAdditionalInfo)
public ResultCode ToCalendarTime(ServiceCtx context)
{
@@ -212,7 +212,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return resultCode;
}
- [Command(101)]
+ [CommandHipc(101)]
// ToCalendarTimeWithMyRule(nn::time::PosixTime) -> (nn::time::CalendarTime, nn::time::sf::CalendarAdditionalInfo)
public ResultCode ToCalendarTimeWithMyRule(ServiceCtx context)
{
@@ -228,7 +228,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return resultCode;
}
- [Command(201)]
+ [CommandHipc(201)]
// ToPosixTime(nn::time::CalendarTime calendarTime, buffer<nn::time::TimeZoneRule, 0x15> rules) -> (u32 outCount, buffer<nn::time::PosixTime, 0xa>)
public ResultCode ToPosixTime(ServiceCtx context)
{
@@ -261,7 +261,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.StaticService
return resultCode;
}
- [Command(202)]
+ [CommandHipc(202)]
// ToPosixTimeWithMyRule(nn::time::CalendarTime calendarTime) -> (u32 outCount, buffer<nn::time::PosixTime, 0xa>)
public ResultCode ToPosixTimeWithMyRule(ServiceCtx context)
{