diff options
| author | Ac_K <Acoustik666@gmail.com> | 2024-04-05 20:45:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-05 15:45:43 -0300 |
| commit | 6d28b643126ee5de476a89f3ff94b5cc3ead3970 (patch) | |
| tree | bb6e1263f9df7aec23488b1ee22a141746c54243 /src/Ryujinx.Horizon/Sdk | |
| parent | 05c041feeba085275259f3b434bac4535b7a46d7 (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.cs | 8 | ||||
| -rw-r--r-- | src/Ryujinx.Horizon/Sdk/Ts/IMeasurementServer.cs | 14 | ||||
| -rw-r--r-- | src/Ryujinx.Horizon/Sdk/Ts/ISession.cs | 12 | ||||
| -rw-r--r-- | src/Ryujinx.Horizon/Sdk/Ts/Location.cs | 8 |
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, + } +} |
