aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2024-04-05 20:45:43 +0200
committerGitHub <noreply@github.com>2024-04-05 15:45:43 -0300
commit6d28b643126ee5de476a89f3ff94b5cc3ead3970 (patch)
treebb6e1263f9df7aec23488b1ee22a141746c54243 /src/Ryujinx.Horizon/Sdk
parent05c041feeba085275259f3b434bac4535b7a46d7 (diff)
ts: Migrate service to Horizon project (#6514)
* ts: Migrate service to Horizon project This PR migrate the `ts` service (stored in `ptm`) to the Horizon project: - It stubs all known IPCs. - IpcServer consts are checked by RE. Closes #6480 * Fix args
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk')
-rw-r--r--src/Ryujinx.Horizon/Sdk/Ts/DeviceCode.cs8
-rw-r--r--src/Ryujinx.Horizon/Sdk/Ts/IMeasurementServer.cs14
-rw-r--r--src/Ryujinx.Horizon/Sdk/Ts/ISession.cs12
-rw-r--r--src/Ryujinx.Horizon/Sdk/Ts/Location.cs8
4 files changed, 42 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Ts/DeviceCode.cs b/src/Ryujinx.Horizon/Sdk/Ts/DeviceCode.cs
new file mode 100644
index 00000000..4fce4238
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Ts/DeviceCode.cs
@@ -0,0 +1,8 @@
+namespace Ryujinx.Horizon.Sdk.Ts
+{
+ enum DeviceCode : uint
+ {
+ Internal = 0x41000001,
+ External = 0x41000002,
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Ts/IMeasurementServer.cs b/src/Ryujinx.Horizon/Sdk/Ts/IMeasurementServer.cs
new file mode 100644
index 00000000..ba9c2a74
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Ts/IMeasurementServer.cs
@@ -0,0 +1,14 @@
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+
+namespace Ryujinx.Horizon.Sdk.Ts
+{
+ interface IMeasurementServer : IServiceObject
+ {
+ Result GetTemperatureRange(out int minimumTemperature, out int maximumTemperature, Location location);
+ Result GetTemperature(out int temperature, Location location);
+ Result SetMeasurementMode(Location location, byte measurementMode);
+ Result GetTemperatureMilliC(out int temperatureMilliC, Location location);
+ Result OpenSession(out ISession session, DeviceCode deviceCode);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Ts/ISession.cs b/src/Ryujinx.Horizon/Sdk/Ts/ISession.cs
new file mode 100644
index 00000000..23c0d94f
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Ts/ISession.cs
@@ -0,0 +1,12 @@
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+
+namespace Ryujinx.Horizon.Sdk.Ts
+{
+ interface ISession : IServiceObject
+ {
+ Result GetTemperatureRange(out int minimumTemperature, out int maximumTemperature);
+ Result GetTemperature(out int temperature);
+ Result SetMeasurementMode(byte measurementMode);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Ts/Location.cs b/src/Ryujinx.Horizon/Sdk/Ts/Location.cs
new file mode 100644
index 00000000..177b0ee8
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Ts/Location.cs
@@ -0,0 +1,8 @@
+namespace Ryujinx.Horizon.Sdk.Ts
+{
+ enum Location : byte
+ {
+ Internal,
+ External,
+ }
+}