Difference between revisions of "Settings services"
Line 1: | Line 1: | ||
= set = | = set = | ||
+ | This is "nn::settings::ISettingsServer". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 6: | Line 8: | ||
| 0 || GetLanguageCode | | 0 || GetLanguageCode | ||
|- | |- | ||
− | | 1 || | + | | 1 || GetAvailableLanguageCodes |
|- | |- | ||
− | | 3 || | + | | 3 || GetAvailableLanguageCodeCount |
|- | |- | ||
− | | 4 || | + | | 4 || GetRegionCode |
|} | |} | ||
= set:fd = | = set:fd = | ||
+ | This is "nn::settings::IFirmwareDebugSettingsServer". | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name || Notes | ||
+ | |- | ||
+ | | 2 || SetSettingsItemValue || | ||
+ | |- | ||
+ | | 3 || ResetSettingsItemValue || | ||
+ | |- | ||
+ | | 4 || CreateSettingsItemKeyIterator || Returns an [[#ISettingsItemKeyIterator]]. | ||
+ | |} | ||
+ | == ISettingsItemKeyIterator == | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GoNext | ||
+ | |- | ||
+ | | 1 || GetKeySize | ||
+ | |- | ||
+ | | 2 || GetKey | ||
+ | |} | ||
= set:cal = | = set:cal = | ||
+ | This is "nn::settings::IFactorySettingsServer". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || | + | | 0 || GetBluetoothBdAddress |
|- | |- | ||
| 1 || GetConfigurationId1 | | 1 || GetConfigurationId1 | ||
Line 34: | Line 60: | ||
| 5 || GetGyroscopeScale | | 5 || GetGyroscopeScale | ||
|- | |- | ||
− | | 6 || | + | | 6 || GetWirelessLanMacAddress |
|- | |- | ||
− | | 7 || | + | | 7 || GetWirelessLanCountryCodeCount |
|- | |- | ||
− | | 8 || | + | | 8 || GetWirelessLanCountryCodes |
|- | |- | ||
| 9 || GetSerialNumber | | 9 || GetSerialNumber | ||
|- | |- | ||
− | | 10 || | + | | 10 || SetInitialSystemAppletProgramId |
|- | |- | ||
− | | 11 || | + | | 11 || SetOverlayDispProgramId |
|- | |- | ||
| 12 || GetBatteryLot | | 12 || GetBatteryLot | ||
|- | |- | ||
− | | 14 || [[# | + | | 14 || [[#GetEciDeviceCertificate]] |
|- | |- | ||
− | | 15 || [[# | + | | 15 || [[#GetEticketDeviceCertificate]] |
|- | |- | ||
| 16 || [[#GetSslKey]] | | 16 || [[#GetSslKey]] | ||
|- | |- | ||
− | | 17 || [[# | + | | 17 || [[#GetSslCertificate]] |
|- | |- | ||
| 18 || [[#GetGameCardKey]] | | 18 || [[#GetGameCardKey]] | ||
|- | |- | ||
− | | 19 || [[# | + | | 19 || [[#GetGameCardCertificate]] |
|- | |- | ||
− | | 20 || [[# | + | | 20 || [[#GetEciDeviceKey]] |
|- | |- | ||
− | | 21 || [[# | + | | 21 || [[#GetEticketDeviceKey]] |
|- | |- | ||
− | | 22 || | + | | 22 || GetSpeakerParameter |
|- | |- | ||
|} | |} | ||
Line 70: | Line 96: | ||
Used for accessing data calibrated at the factory. | Used for accessing data calibrated at the factory. | ||
− | == | + | == GetEciDeviceCertificate == |
Takes a type-0x16 output buffer with fixed size 0x180. | Takes a type-0x16 output buffer with fixed size 0x180. | ||
Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this. | Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this. | ||
− | == | + | == GetEticketDeviceCertificate == |
Takes a type-0x16 output buffer with fixed size 0x240. | Takes a type-0x16 output buffer with fixed size 0x240. | ||
Line 87: | Line 113: | ||
Used by SSL-sysmodule, see [[SSL_services|here]]. | Used by SSL-sysmodule, see [[SSL_services|here]]. | ||
− | == | + | == GetSslCertificate == |
Takes a type-0x16 output buffer with fixed size 0x804. | Takes a type-0x16 output buffer with fixed size 0x804. | ||
Line 99: | Line 125: | ||
Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes). | Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes). | ||
− | == | + | == GetGameCardCertificate == |
Takes a type-0x16 output buffer with fixed size 0x404. | Takes a type-0x16 output buffer with fixed size 0x404. | ||
Returns a [[Settings_services#setcal_Container_Structure|container]] with the GameCard certificate. | Returns a [[Settings_services#setcal_Container_Structure|container]] with the GameCard certificate. | ||
− | == | + | == GetEciDeviceKey == |
Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes). | Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes). | ||
− | == | + | == GetEticketDeviceKey == |
Takes a type-0x16 output buffer with fixed size 0x244. | Takes a type-0x16 output buffer with fixed size 0x244. | ||
Line 131: | Line 157: | ||
= set:sys = | = set:sys = | ||
+ | This is "nn::settings::ISystemSettingsServer". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 3 || [[# | + | | 0 || SetLanguageCode |
+ | |- | ||
+ | | 1 || SetNetworkSettings | ||
+ | |- | ||
+ | | 2 || GetNetworkSettings | ||
+ | |- | ||
+ | | 3 || [[#GetFirmwareVersion]] | ||
+ | |- | ||
+ | | 4 || GetFirmwareVersion2 | ||
+ | |- | ||
+ | | 7 || GetLockScreenFlag | ||
+ | |- | ||
+ | | 8 || SetLockScreenFlag | ||
+ | |- | ||
+ | | 9 || GetBacklightSettings | ||
+ | |- | ||
+ | | 10 || SetBacklightSettings | ||
+ | |- | ||
+ | | 11 || SetBluetoothDevicesSettings | ||
+ | |- | ||
+ | | 12 || GetBluetoothDevicesSettings | ||
+ | |- | ||
+ | | 13 || GetExternalSteadyClockSourceId | ||
+ | |- | ||
+ | | 14 || SetExternalSteadyClockSourceId | ||
+ | |- | ||
+ | | 15 || GetUserSystemClockContext | ||
+ | |- | ||
+ | | 16 || SetUserSystemClockContext | ||
+ | |- | ||
+ | | 17 || GetAccountSettings | ||
+ | |- | ||
+ | | 18 || SetAccountSettings | ||
+ | |- | ||
+ | | 19 || GetAudioVolume | ||
+ | |- | ||
+ | | 20 || SetAudioVolume | ||
+ | |- | ||
+ | | 21 || GetEulaVersions | ||
+ | |- | ||
+ | | 22 || SetEulaVersions | ||
+ | |- | ||
+ | | 23 || GetColorSetId | ||
+ | |- | ||
+ | | 24 || SetColorSetId | ||
+ | |- | ||
+ | | 25 || GetConsoleInformationUploadFlag | ||
+ | |- | ||
+ | | 26 || SetConsoleInformationUploadFlag | ||
+ | |- | ||
+ | | 27 || GetAutomaticApplicationDownloadFlag | ||
+ | |- | ||
+ | | 28 || SetAutomaticApplicationDownloadFlag | ||
+ | |- | ||
+ | | 29 || GetNotificationSettings | ||
+ | |- | ||
+ | | 30 || SetNotificationSettings | ||
+ | |- | ||
+ | | 31 || GetAccountNotificationSettings | ||
+ | |- | ||
+ | | 32 || SetAccountNotificationSettings | ||
+ | |- | ||
+ | | 35 || GetVibrationMasterVolume | ||
+ | |- | ||
+ | | 36 || SetVibrationMasterVolume | ||
+ | |- | ||
+ | | 37 || GetSettingsItemValueSize | ||
+ | |- | ||
+ | | 38 || [[#GetSettingsItemValue]] | ||
+ | |- | ||
+ | | 39 || GetTvSettings | ||
+ | |- | ||
+ | | 40 || SetTvSettings | ||
+ | |- | ||
+ | | 41 || GetEdid | ||
+ | |- | ||
+ | | 42 || SetEdid | ||
+ | |- | ||
+ | | 43 || GetAudioOutputMode | ||
+ | |- | ||
+ | | 44 || SetAudioOutputMode | ||
+ | |- | ||
+ | | 45 || IsForceMuteOnHeadphoneRemoved | ||
+ | |- | ||
+ | | 46 || SetForceMuteOnHeadphoneRemoved | ||
+ | |- | ||
+ | | 47 || GetQuestFlag | ||
+ | |- | ||
+ | | 48 || SetQuestFlag | ||
+ | |- | ||
+ | | 49 || GetDataDeletionSettings | ||
+ | |- | ||
+ | | 50 || SetDataDeletionSettings | ||
+ | |- | ||
+ | | 51 || GetInitialSystemAppletProgramId | ||
+ | |- | ||
+ | | 52 || GetOverlayDispProgramId | ||
+ | |- | ||
+ | | 53 || GetDeviceTimeZoneLocationName | ||
+ | |- | ||
+ | | 54 || SetDeviceTimeZoneLocationName | ||
+ | |- | ||
+ | | 55 || GetWirelessCertificationFileSize | ||
+ | |- | ||
+ | | 56 || [[Flash_Filesystem#PRODINFOF|GetWirelessCertificationFile]] | ||
+ | |- | ||
+ | | 57 || SetRegionCode | ||
+ | |- | ||
+ | | 58 || GetNetworkSystemClockContext | ||
+ | |- | ||
+ | | 59 || SetNetworkSystemClockContext | ||
|- | |- | ||
− | | | + | | 60 || IsUserSystemClockAutomaticCorrectionEnabled |
|- | |- | ||
− | | | + | | 61 || SetUserSystemClockAutomaticCorrectionEnabled |
|- | |- | ||
− | | | + | | 62 || [[#GetDebugModeFlag]] |
|- | |- | ||
− | | | + | | 63 || GetPrimaryAlbumStorage |
+ | |- | ||
+ | | 64 || SetPrimaryAlbumStorage | ||
+ | |- | ||
+ | | 65 || GetUsb30EnableFlag | ||
+ | |- | ||
+ | | 66 || SetUsb30EnableFlag | ||
+ | |- | ||
+ | | 67 || GetBatteryLot | ||
|- | |- | ||
| 68 || [[#GetSerialNumber]] | | 68 || [[#GetSerialNumber]] | ||
+ | |- | ||
+ | | 69 || GetNfcEnableFlag | ||
+ | |- | ||
+ | | 70 || SetNfcEnableFlag | ||
+ | |- | ||
+ | | 71 || GetSleepSettings | ||
+ | |- | ||
+ | | 72 || SetSleepSettings | ||
+ | |- | ||
+ | | 73 || GetWirelessLanEnableFlag | ||
+ | |- | ||
+ | | 74 || SetWirelessLanEnableFlag | ||
+ | |- | ||
+ | | 75 || GetInitialLaunchSettings | ||
+ | |- | ||
+ | | 76 || SetInitialLaunchSettings | ||
+ | |- | ||
+ | | 77 || GetDeviceNickName | ||
+ | |- | ||
+ | | 78 || SetDeviceNickName | ||
+ | |- | ||
+ | | 79 || GetProductModel | ||
+ | |- | ||
+ | | 80 || GetLdnChannel | ||
+ | |- | ||
+ | | 81 || SetLdnChannel | ||
+ | |- | ||
+ | | 82 || AcquireTelemetryDirtyFlagEventHandle | ||
+ | |- | ||
+ | | 83 || GetTelemetryDirtyFlags | ||
+ | |- | ||
+ | | 84 || GetPtmBatteryLot | ||
+ | |- | ||
+ | | 85 || SetPtmBatteryLot | ||
+ | |- | ||
+ | | 86 || GetPtmFuelGaugeParameter | ||
+ | |- | ||
+ | | 87 || SetPtmFuelGaugeParameter | ||
+ | |- | ||
+ | | 88 || GetBluetoothEnableFlag | ||
+ | |- | ||
+ | | 89 || SetBluetoothEnableFlag | ||
+ | |- | ||
+ | | 90 || GetMiiAuthorId | ||
+ | |- | ||
+ | | 91 || SetShutdownRtcValue | ||
+ | |- | ||
+ | | 92 || GetShutdownRtcValue | ||
+ | |- | ||
+ | | 93 || AcquireFatalDirtyFlagEventHandle | ||
+ | |- | ||
+ | | 94 || GetFatalDirtyFlags | ||
+ | |- | ||
+ | | 95 || GetAutoUpdateEnableFlag | ||
+ | |- | ||
+ | | 96 || SetAutoUpdateEnableFlag | ||
+ | |- | ||
+ | | 97 || GetNxControllerSettings | ||
+ | |- | ||
+ | | 98 || SetNxControllerSettings | ||
+ | |- | ||
+ | | 99 || GetBatteryPercentageFlag | ||
+ | |- | ||
+ | | 100 || SetBatteryPercentageFlag | ||
+ | |- | ||
+ | | 101 || GetExternalRtcResetFlag | ||
+ | |- | ||
+ | | 102 || SetExternalRtcResetFlag | ||
+ | |- | ||
+ | | 103 || GetUsbFullKeyEnableFlag | ||
+ | |- | ||
+ | | 104 || SetUsbFullKeyEnableFlag | ||
+ | |- | ||
+ | | 105 || SetExternalSteadyClockInternalOffset | ||
+ | |- | ||
+ | | 106 || GetExternalSteadyClockInternalOffset | ||
+ | |- | ||
+ | | 107 || GetBacklightSettingsEx | ||
+ | |- | ||
+ | | 108 || SetBacklightSettingsEx | ||
+ | |- | ||
+ | | 109 || GetHeadphoneVolumeWarningCount | ||
+ | |- | ||
+ | | 110 || SetHeadphoneVolumeWarningCount | ||
+ | |- | ||
+ | | 111 || GetBluetoothAfhEnableFlag | ||
+ | |- | ||
+ | | 112 || SetBluetoothAfhEnableFlag | ||
+ | |- | ||
+ | | 113 || GetBluetoothBoostEnableFlag | ||
+ | |- | ||
+ | | 114 || SetBluetoothBoostEnableFlag | ||
+ | |- | ||
+ | | 115 || GetInRepairProcessEnableFlag | ||
+ | |- | ||
+ | | 116 || SetInRepairProcessEnableFlag | ||
+ | |- | ||
+ | | 117 || GetHeadphoneVolumeUpdateFlag | ||
+ | |- | ||
+ | | 118 || SetHeadphoneVolumeUpdateFlag | ||
+ | |- | ||
+ | | 119 || NeedsToUpdateHeadphoneVolume | ||
+ | |- | ||
+ | | 120 || GetPushNotificationActivityModeOnSleep | ||
+ | |- | ||
+ | | 121 || SetPushNotificationActivityModeOnSleep | ||
|} | |} | ||
Official user-processes get a new service session handle each time a set:sys cmd is used, with the session being closed aftewards. | Official user-processes get a new service session handle each time a set:sys cmd is used, with the session being closed aftewards. | ||
− | == | + | == GetFirmwareVersion == |
+ | Takes a type-0x1A output buffer. User-processes use hard-coded size 0x100. | ||
+ | |||
+ | If needed, reads the content of the [[System_Version_Title]] "/file" into state. This is only done once. | ||
+ | |||
+ | Then the above 0x100-byte data is copied to the output buffer. | ||
+ | |||
+ | == GetSettingsItemValue == | ||
Takes two type-0x19 input buffers and a type-0x6 output buffer. Returns an output u64 for the actual size written to the outbuf. | Takes two type-0x19 input buffers and a type-0x6 output buffer. Returns an output u64 for the actual size written to the outbuf. | ||
Line 157: | Line 416: | ||
If loading from main config fails, it will also attempt to load config from various state if the input strings match hard-coded strings. | If loading from main config fails, it will also attempt to load config from various state if the input strings match hard-coded strings. | ||
− | == | + | == GetDebugModeFlag == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Returns an output u8. | Returns an output u8. | ||
Revision as of 17:02, 20 September 2017
set
This is "nn::settings::ISettingsServer".
Cmd | Name |
---|---|
0 | GetLanguageCode |
1 | GetAvailableLanguageCodes |
3 | GetAvailableLanguageCodeCount |
4 | GetRegionCode |
set:fd
This is "nn::settings::IFirmwareDebugSettingsServer".
Cmd | Name | Notes |
---|---|---|
2 | SetSettingsItemValue | |
3 | ResetSettingsItemValue | |
4 | CreateSettingsItemKeyIterator | Returns an #ISettingsItemKeyIterator. |
ISettingsItemKeyIterator
Cmd | Name |
---|---|
0 | GoNext |
1 | GetKeySize |
2 | GetKey |
set:cal
This is "nn::settings::IFactorySettingsServer".
Cmd | Name |
---|---|
0 | GetBluetoothBdAddress |
1 | GetConfigurationId1 |
2 | GetAccelerometerOffset |
3 | GetAccelerometerScale |
4 | GetGyroscopeOffset |
5 | GetGyroscopeScale |
6 | GetWirelessLanMacAddress |
7 | GetWirelessLanCountryCodeCount |
8 | GetWirelessLanCountryCodes |
9 | GetSerialNumber |
10 | SetInitialSystemAppletProgramId |
11 | SetOverlayDispProgramId |
12 | GetBatteryLot |
14 | #GetEciDeviceCertificate |
15 | #GetEticketDeviceCertificate |
16 | #GetSslKey |
17 | #GetSslCertificate |
18 | #GetGameCardKey |
19 | #GetGameCardCertificate |
20 | #GetEciDeviceKey |
21 | #GetEticketDeviceKey |
22 | GetSpeakerParameter |
Used for accessing data calibrated at the factory.
GetEciDeviceCertificate
Takes a type-0x16 output buffer with fixed size 0x180.
Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this.
GetEticketDeviceCertificate
Takes a type-0x16 output buffer with fixed size 0x240.
Returns the ETicket certificate (RSA signed).
GetSslKey
Takes a type-0x16 output buffer with fixed size 0x134.
Returns the extended SSL key (0x130 bytes) from CAL0. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes).
Used by SSL-sysmodule, see here.
GetSslCertificate
Takes a type-0x16 output buffer with fixed size 0x804.
Returns a container with the plaintext SSL certificate.
Used by SSL-sysmodule, see here.
GetGameCardKey
Takes a type-0x16 output buffer with fixed size 0x134.
Returns the extended GameCard key (0x130 bytes) from CAL0. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes).
GetGameCardCertificate
Takes a type-0x16 output buffer with fixed size 0x404.
Returns a container with the GameCard certificate.
GetEciDeviceKey
Returns the extended device ECC-B233 key (0x50 bytes) from CAL0. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes).
GetEticketDeviceKey
Takes a type-0x16 output buffer with fixed size 0x244.
Returns the extended ETicket RSA-2048 key (0x240 bytes) from CAL0. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes).
setcal Container Structure
Offset | Size | Name |
---|---|---|
0x0 | 0x4 | Size (same size used for decryption if needed) |
0x4 | {above size} | Actual data starts here. |
This container is used for returning data with variable sizes.
set:sys
This is "nn::settings::ISystemSettingsServer".
Cmd | Name |
---|---|
0 | SetLanguageCode |
1 | SetNetworkSettings |
2 | GetNetworkSettings |
3 | #GetFirmwareVersion |
4 | GetFirmwareVersion2 |
7 | GetLockScreenFlag |
8 | SetLockScreenFlag |
9 | GetBacklightSettings |
10 | SetBacklightSettings |
11 | SetBluetoothDevicesSettings |
12 | GetBluetoothDevicesSettings |
13 | GetExternalSteadyClockSourceId |
14 | SetExternalSteadyClockSourceId |
15 | GetUserSystemClockContext |
16 | SetUserSystemClockContext |
17 | GetAccountSettings |
18 | SetAccountSettings |
19 | GetAudioVolume |
20 | SetAudioVolume |
21 | GetEulaVersions |
22 | SetEulaVersions |
23 | GetColorSetId |
24 | SetColorSetId |
25 | GetConsoleInformationUploadFlag |
26 | SetConsoleInformationUploadFlag |
27 | GetAutomaticApplicationDownloadFlag |
28 | SetAutomaticApplicationDownloadFlag |
29 | GetNotificationSettings |
30 | SetNotificationSettings |
31 | GetAccountNotificationSettings |
32 | SetAccountNotificationSettings |
35 | GetVibrationMasterVolume |
36 | SetVibrationMasterVolume |
37 | GetSettingsItemValueSize |
38 | #GetSettingsItemValue |
39 | GetTvSettings |
40 | SetTvSettings |
41 | GetEdid |
42 | SetEdid |
43 | GetAudioOutputMode |
44 | SetAudioOutputMode |
45 | IsForceMuteOnHeadphoneRemoved |
46 | SetForceMuteOnHeadphoneRemoved |
47 | GetQuestFlag |
48 | SetQuestFlag |
49 | GetDataDeletionSettings |
50 | SetDataDeletionSettings |
51 | GetInitialSystemAppletProgramId |
52 | GetOverlayDispProgramId |
53 | GetDeviceTimeZoneLocationName |
54 | SetDeviceTimeZoneLocationName |
55 | GetWirelessCertificationFileSize |
56 | GetWirelessCertificationFile |
57 | SetRegionCode |
58 | GetNetworkSystemClockContext |
59 | SetNetworkSystemClockContext |
60 | IsUserSystemClockAutomaticCorrectionEnabled |
61 | SetUserSystemClockAutomaticCorrectionEnabled |
62 | #GetDebugModeFlag |
63 | GetPrimaryAlbumStorage |
64 | SetPrimaryAlbumStorage |
65 | GetUsb30EnableFlag |
66 | SetUsb30EnableFlag |
67 | GetBatteryLot |
68 | #GetSerialNumber |
69 | GetNfcEnableFlag |
70 | SetNfcEnableFlag |
71 | GetSleepSettings |
72 | SetSleepSettings |
73 | GetWirelessLanEnableFlag |
74 | SetWirelessLanEnableFlag |
75 | GetInitialLaunchSettings |
76 | SetInitialLaunchSettings |
77 | GetDeviceNickName |
78 | SetDeviceNickName |
79 | GetProductModel |
80 | GetLdnChannel |
81 | SetLdnChannel |
82 | AcquireTelemetryDirtyFlagEventHandle |
83 | GetTelemetryDirtyFlags |
84 | GetPtmBatteryLot |
85 | SetPtmBatteryLot |
86 | GetPtmFuelGaugeParameter |
87 | SetPtmFuelGaugeParameter |
88 | GetBluetoothEnableFlag |
89 | SetBluetoothEnableFlag |
90 | GetMiiAuthorId |
91 | SetShutdownRtcValue |
92 | GetShutdownRtcValue |
93 | AcquireFatalDirtyFlagEventHandle |
94 | GetFatalDirtyFlags |
95 | GetAutoUpdateEnableFlag |
96 | SetAutoUpdateEnableFlag |
97 | GetNxControllerSettings |
98 | SetNxControllerSettings |
99 | GetBatteryPercentageFlag |
100 | SetBatteryPercentageFlag |
101 | GetExternalRtcResetFlag |
102 | SetExternalRtcResetFlag |
103 | GetUsbFullKeyEnableFlag |
104 | SetUsbFullKeyEnableFlag |
105 | SetExternalSteadyClockInternalOffset |
106 | GetExternalSteadyClockInternalOffset |
107 | GetBacklightSettingsEx |
108 | SetBacklightSettingsEx |
109 | GetHeadphoneVolumeWarningCount |
110 | SetHeadphoneVolumeWarningCount |
111 | GetBluetoothAfhEnableFlag |
112 | SetBluetoothAfhEnableFlag |
113 | GetBluetoothBoostEnableFlag |
114 | SetBluetoothBoostEnableFlag |
115 | GetInRepairProcessEnableFlag |
116 | SetInRepairProcessEnableFlag |
117 | GetHeadphoneVolumeUpdateFlag |
118 | SetHeadphoneVolumeUpdateFlag |
119 | NeedsToUpdateHeadphoneVolume |
120 | GetPushNotificationActivityModeOnSleep |
121 | SetPushNotificationActivityModeOnSleep |
Official user-processes get a new service session handle each time a set:sys cmd is used, with the session being closed aftewards.
GetFirmwareVersion
Takes a type-0x1A output buffer. User-processes use hard-coded size 0x100.
If needed, reads the content of the System_Version_Title "/file" into state. This is only done once.
Then the above 0x100-byte data is copied to the output buffer.
GetSettingsItemValue
Takes two type-0x19 input buffers and a type-0x6 output buffer. Returns an output u64 for the actual size written to the outbuf.
The outbuf_size is compared with the config_size. When config_size is larger than outbuf_size, outbuf_size is used for the memcpy, otherwise config_size is used. Afterwards the size used for the memcpy is written to output(see above).
If loading from main config fails, it will also attempt to load config from various state if the input strings match hard-coded strings.
GetDebugModeFlag
Returns an output u8.
Loads the 1-byte config for <"settings_debug", "is_debug_mode_enabled">. If that fails, value 0x1 is written to output. This uses the same func as ReadSetting internally.
Returned retval is always 0.
GetSerialNumber
Returns the 0x18-byte SerialNumber string.