aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk/Settings/System
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2024-01-29 18:45:40 -0300
committerGitHub <noreply@github.com>2024-01-29 22:45:40 +0100
commit4117c13377b51b83ff87b1d00393be1a5ab5bfff (patch)
treec59181e229947070b76c20d88e7b9cbba314a4e9 /src/Ryujinx.Horizon/Sdk/Settings/System
parent20a392ad552ce5cdbff1cb74f1d26d2f797cca31 (diff)
Migrate friends service to new IPC (#6174)
* Migrate friends service to new IPC * Add a note that the pointer buffer size and domain counts are wrong * Wrong length * Format whitespace * PR feedback * Fill in structs from PR feedback * Missed that one * Somehow forgot to save that one * Fill in enums from PR review * Language enum, NotificationTime * Format whitespace * Fix the warning
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Settings/System')
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AccountNotificationSettings.cs15
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AccountOnlineStorageSettings.cs6
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AccountSettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AllowedSslHost.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AnalogStickUserCalibration.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AppletLaunchFlag.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/AudioVolume.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettings.cs22
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettingsEx.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/BlePairingSettings.cs6
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/BluetoothDevicesSettings.cs29
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigRegisteredSettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigSettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationBias.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationGain.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularAcceleration.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityBias.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityGain.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityTimeBias.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/DataDeletionSettings.cs18
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/DeviceNickName.cs25
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/Edid.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/EulaVersion.cs6
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/FatalDirtyFlag.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersion.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersionDigest.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/HomeMenuScheme.cs14
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/HostFsMountPoint.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/InitialLaunchSettings.cs14
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/NetworkSettings.cs6
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/NotificationSettings.cs38
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerLegacySettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerSettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/PtmFuelGaugeParameter.cs20
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/RebootlessSystemUpdateVersion.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/SerialNumber.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ServiceDiscoveryControlSettings.cs10
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/SleepSettings.cs40
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/TelemetryDirtyFlag.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ThemeId.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/ThemeSettings.cs9
-rw-r--r--src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs59
42 files changed, 562 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AccountNotificationSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountNotificationSettings.cs
new file mode 100644
index 00000000..a2cbad6a
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountNotificationSettings.cs
@@ -0,0 +1,15 @@
+using Ryujinx.Horizon.Sdk.Account;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct AccountNotificationSettings
+ {
+#pragma warning disable CS0649 // Field is never assigned to
+ public Uid UserId;
+ public uint Flags;
+ public byte FriendPresenceOverlayPermission;
+ public byte FriendInvitationOverlayPermission;
+ public ushort Reserved;
+#pragma warning restore CS0649
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AccountOnlineStorageSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountOnlineStorageSettings.cs
new file mode 100644
index 00000000..3ed77e52
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountOnlineStorageSettings.cs
@@ -0,0 +1,6 @@
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct AccountOnlineStorageSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AccountSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountSettings.cs
new file mode 100644
index 00000000..bd27ea0b
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AccountSettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x4, Pack = 0x4)]
+ struct AccountSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AllowedSslHost.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AllowedSslHost.cs
new file mode 100644
index 00000000..cb90daf1
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AllowedSslHost.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x100)]
+ struct AllowedSslHost
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AnalogStickUserCalibration.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AnalogStickUserCalibration.cs
new file mode 100644
index 00000000..36023da9
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AnalogStickUserCalibration.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 0x4)]
+ struct AnalogStickUserCalibration
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AppletLaunchFlag.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AppletLaunchFlag.cs
new file mode 100644
index 00000000..00d6f4d0
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AppletLaunchFlag.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum AppletLaunchFlag : uint
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/AudioVolume.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/AudioVolume.cs
new file mode 100644
index 00000000..d246bc2b
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/AudioVolume.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x8, Pack = 0x4)]
+ struct AudioVolume
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettings.cs
new file mode 100644
index 00000000..00de6869
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettings.cs
@@ -0,0 +1,22 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x28, Pack = 0x4)]
+ struct BacklightSettings
+ {
+ // TODO: Determine field names.
+ public uint Unknown0x00;
+ public float Unknown0x04;
+ // 1st group
+ public float Unknown0x08;
+ public float Unknown0x0C;
+ public float Unknown0x10;
+ // 2nd group
+ public float Unknown0x14;
+ public float Unknown0x18;
+ public float Unknown0x1C;
+ public float Unknown0x20;
+ public float Unknown0x24;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettingsEx.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettingsEx.cs
new file mode 100644
index 00000000..347afdfe
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/BacklightSettingsEx.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x2C, Pack = 0x4)]
+ struct BacklightSettingsEx
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/BlePairingSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/BlePairingSettings.cs
new file mode 100644
index 00000000..d9b01f9f
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/BlePairingSettings.cs
@@ -0,0 +1,6 @@
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct BlePairingSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/BluetoothDevicesSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/BluetoothDevicesSettings.cs
new file mode 100644
index 00000000..ec5c97c5
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/BluetoothDevicesSettings.cs
@@ -0,0 +1,29 @@
+using Ryujinx.Common.Memory;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct BluetoothDevicesSettings
+ {
+#pragma warning disable CS0649 // Field is never assigned to
+ public Array6<byte> BdAddr;
+ public Array32<byte> DeviceName;
+ public Array3<byte> ClassOfDevice;
+ public Array16<byte> LinkKey;
+ public bool LinkKeyPresent;
+ public ushort Version;
+ public uint TrustedServices;
+ public ushort Vid;
+ public ushort Pid;
+ public byte SubClass;
+ public byte AttributeMask;
+ public ushort DescriptorLength;
+ public Array128<byte> Descriptor;
+ public byte KeyType;
+ public byte DeviceType;
+ public ushort BrrSize;
+ public Array9<byte> Brr;
+ public Array256<byte> Reserved;
+ public Array43<byte> Reserved2;
+#pragma warning restore CS0649
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigRegisteredSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigRegisteredSettings.cs
new file mode 100644
index 00000000..8bd4924e
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigRegisteredSettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x5C8)]
+ struct ButtonConfigRegisteredSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigSettings.cs
new file mode 100644
index 00000000..2f06e32e
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ButtonConfigSettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x5A8)]
+ struct ButtonConfigSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationBias.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationBias.cs
new file mode 100644
index 00000000..c70d4ff2
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationBias.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAccelerationBias
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationGain.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationGain.cs
new file mode 100644
index 00000000..0803beb8
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAccelerationGain.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x24, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAccelerationGain
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularAcceleration.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularAcceleration.cs
new file mode 100644
index 00000000..831e44bd
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularAcceleration.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x24, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAngularAcceleration
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityBias.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityBias.cs
new file mode 100644
index 00000000..83d1faa8
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityBias.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAngularVelocityBias
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityGain.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityGain.cs
new file mode 100644
index 00000000..68e0c614
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityGain.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x24, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAngularVelocityGain
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityTimeBias.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityTimeBias.cs
new file mode 100644
index 00000000..47f3d951
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ConsoleSixAxisSensorAngularVelocityTimeBias.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 0x4)]
+ struct ConsoleSixAxisSensorAngularVelocityTimeBias
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/DataDeletionSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/DataDeletionSettings.cs
new file mode 100644
index 00000000..a10a265d
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/DataDeletionSettings.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum DataDeletionFlag : uint
+ {
+ AutomaticDeletionFlag = 1 << 0,
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x8, Pack = 0x4)]
+ struct DataDeletionSettings
+ {
+ public DataDeletionFlag Flags;
+ public uint UseCount;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/DeviceNickName.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/DeviceNickName.cs
new file mode 100644
index 00000000..99c9f981
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/DeviceNickName.cs
@@ -0,0 +1,25 @@
+using Ryujinx.Common.Memory;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x80)]
+ struct DeviceNickName
+ {
+ public Array128<byte> Value;
+
+ public DeviceNickName(string value)
+ {
+ int bytesWritten = Encoding.ASCII.GetBytes(value, Value.AsSpan());
+ if (bytesWritten < 128)
+ {
+ Value[bytesWritten] = 0;
+ }
+ else
+ {
+ Value[127] = 0;
+ }
+ }
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/Edid.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/Edid.cs
new file mode 100644
index 00000000..3ff56685
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/Edid.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x200)]
+ struct Edid
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/EulaVersion.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/EulaVersion.cs
new file mode 100644
index 00000000..65905b1b
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/EulaVersion.cs
@@ -0,0 +1,6 @@
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct EulaVersion
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/FatalDirtyFlag.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/FatalDirtyFlag.cs
new file mode 100644
index 00000000..6be94115
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/FatalDirtyFlag.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 0x8)]
+ struct FatalDirtyFlag
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersion.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersion.cs
new file mode 100644
index 00000000..39825e01
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersion.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x100)]
+ struct FirmwareVersion
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersionDigest.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersionDigest.cs
new file mode 100644
index 00000000..0027d7ef
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/FirmwareVersionDigest.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x40, Pack = 0x1)]
+ struct FirmwareVersionDigest
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/HomeMenuScheme.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/HomeMenuScheme.cs
new file mode 100644
index 00000000..cc7b317b
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/HomeMenuScheme.cs
@@ -0,0 +1,14 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x14, Pack = 0x1)]
+ struct HomeMenuScheme
+ {
+ public uint Main;
+ public uint Back;
+ public uint Sub;
+ public uint Bezel;
+ public uint Extra;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/HostFsMountPoint.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/HostFsMountPoint.cs
new file mode 100644
index 00000000..1a66abac
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/HostFsMountPoint.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x100)]
+ struct HostFsMountPoint
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/InitialLaunchSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/InitialLaunchSettings.cs
new file mode 100644
index 00000000..b3989de7
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/InitialLaunchSettings.cs
@@ -0,0 +1,14 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x8)]
+ struct InitialLaunchSettings
+ {
+ public uint Flags;
+ public uint Reserved;
+ public ulong TimeStamp1;
+ public ulong TimeStamp2;
+ public ulong TimeStamp3;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/NetworkSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/NetworkSettings.cs
new file mode 100644
index 00000000..a0101b62
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/NetworkSettings.cs
@@ -0,0 +1,6 @@
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ struct NetworkSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/NotificationSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/NotificationSettings.cs
new file mode 100644
index 00000000..2ce56c4d
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/NotificationSettings.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum NotificationFlag : uint
+ {
+ RingtoneFlag = 1 << 0,
+ DownloadCompletionFlag = 1 << 1,
+ EnablesNews = 1 << 8,
+ IncomingLampFlag = 1 << 9,
+ }
+
+ enum NotificationVolume : uint
+ {
+ Mute,
+ Low,
+ High,
+ }
+
+ struct NotificationTime
+ {
+#pragma warning disable CS0649 // Field is never assigned to
+ public uint Hour;
+ public uint Minute;
+#pragma warning restore CS0649
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x18, Pack = 0x4)]
+ struct NotificationSettings
+ {
+ public NotificationFlag Flag;
+ public NotificationVolume Volume;
+ public NotificationTime HeadTime;
+ public NotificationTime TailTime;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerLegacySettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerLegacySettings.cs
new file mode 100644
index 00000000..845715df
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerLegacySettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x29)]
+ struct NxControllerLegacySettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerSettings.cs
new file mode 100644
index 00000000..c8f81cec
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/NxControllerSettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x42C)]
+ struct NxControllerSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/PtmFuelGaugeParameter.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/PtmFuelGaugeParameter.cs
new file mode 100644
index 00000000..b843bcd6
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/PtmFuelGaugeParameter.cs
@@ -0,0 +1,20 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x18, Pack = 0x4)]
+ struct PtmFuelGaugeParameter
+ {
+ public ushort Rcomp0;
+ public ushort TempCo;
+ public ushort FullCap;
+ public ushort FullCapNom;
+ public ushort IavgEmpty;
+ public ushort QrTable00;
+ public ushort QrTable10;
+ public ushort QrTable20;
+ public ushort QrTable30;
+ public ushort Reserved;
+ public uint Cycles;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/RebootlessSystemUpdateVersion.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/RebootlessSystemUpdateVersion.cs
new file mode 100644
index 00000000..b4e9b8b2
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/RebootlessSystemUpdateVersion.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x40, Pack = 0x4)]
+ struct RebootlessSystemUpdateVersion
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/SerialNumber.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/SerialNumber.cs
new file mode 100644
index 00000000..22ddb85c
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/SerialNumber.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x18, Pack = 0x1)]
+ struct SerialNumber
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ServiceDiscoveryControlSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ServiceDiscoveryControlSettings.cs
new file mode 100644
index 00000000..7c7b625a
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ServiceDiscoveryControlSettings.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum ServiceDiscoveryControlSettings : uint
+ {
+ IsChangeEnvironmentIdentifierDisabled = 1 << 0,
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/SleepSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/SleepSettings.cs
new file mode 100644
index 00000000..7493c677
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/SleepSettings.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum SleepFlag : uint
+ {
+ SleepsWhilePlayingMedia = 1 << 0,
+ WakesAtPowerStateChange = 1 << 1,
+ }
+
+ enum HandheldSleepPlan : uint
+ {
+ At1Min,
+ At3Min,
+ At5Min,
+ At10Min,
+ At30Min,
+ Never,
+ }
+
+ enum ConsoleSleepPlan : uint
+ {
+ At1Hour,
+ At2Hour,
+ At3Hour,
+ At6Hour,
+ At12Hour,
+ Never,
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0xC, Pack = 0x4)]
+ struct SleepSettings
+ {
+ public SleepFlag Flags;
+ public HandheldSleepPlan HandheldSleepPlan;
+ public ConsoleSleepPlan ConsoleSleepPlan;
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/TelemetryDirtyFlag.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/TelemetryDirtyFlag.cs
new file mode 100644
index 00000000..46ec2d76
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/TelemetryDirtyFlag.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 0x8)]
+ struct TelemetryDirtyFlag
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeId.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeId.cs
new file mode 100644
index 00000000..886ec872
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeId.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x80, Pack = 0x8)]
+ struct ThemeId
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeSettings.cs
new file mode 100644
index 00000000..ac36bcd8
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/ThemeSettings.cs
@@ -0,0 +1,9 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0x8, Pack = 0x8)]
+ struct ThemeSettings
+ {
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs b/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs
new file mode 100644
index 00000000..5ee0b85d
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Settings/System/TvSettings.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Horizon.Sdk.Settings.System
+{
+ [Flags]
+ enum TvFlag : uint
+ {
+ Allows4k = 1 << 0,
+ Allows3d = 1 << 1,
+ AllowsCec = 1 << 2,
+ PreventsScreenBurnIn = 1 << 3,
+ }
+
+ enum TvResolution : uint
+ {
+ Auto,
+ At1080p,
+ At720p,
+ At480p,
+ }
+
+ enum HdmiContentType : uint
+ {
+ None,
+ Graphics,
+ Cinema,
+ Photo,
+ Game,
+ }
+
+ enum RgbRange : uint
+ {
+ Auto,
+ Full,
+ Limited,
+ }
+
+ enum CmuMode : uint
+ {
+ None,
+ ColorInvert,
+ HighContrast,
+ GrayScale,
+ }
+
+ [StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x4)]
+ struct TvSettings
+ {
+ public TvFlag Flags;
+ public TvResolution TvResolution;
+ public HdmiContentType HdmiContentType;
+ public RgbRange RgbRange;
+ public CmuMode CmuMode;
+ public float TvUnderscan;
+ public float TvGamma;
+ public float ContrastRatio;
+ }
+}