Settings services: Difference between revisions
No edit summary |
|||
(43 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
= set = | = set = | ||
This is "nn::settings::ISettingsServer". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name || Notes | |||
|- | |||
| 0 || GetLanguageCode || No input, returns an output [[#LanguageCode]]. This is the current system language. | |||
|- | |||
| 1 || GetAvailableLanguageCodes || Takes a type-0xA buffer containing the [[#LanguageCode]] output array, returns an output s32. | |||
|- | |||
| 2 || [4.0.0+] MakeLanguageCode || Takes an input [[#Language]], returns an output [[#LanguageCode]]. | |||
|- | |||
| 3 || GetAvailableLanguageCodeCount || No input, returns an output s32. | |||
|- | |||
| 4 || GetRegionCode || No input, returns a [[#RegionCode]]. | |||
|- | |||
| 5 || [4.0.0+] GetAvailableLanguageCodes2 || Takes a type-0x6 buffer containing the [[#LanguageCode]] output array, returns an output s32. | |||
|- | |||
| 6 || [4.0.0+] GetAvailableLanguageCodeCount2 || No input, returns an output s32. | |||
|- | |||
| 7 || [4.0.0+] GetKeyCodeMap || | |||
|- | |||
| 8 || [5.0.0+] GetQuestFlag || Identical to "set:sys" [[#set:sys|GetQuestFlag]]. | |||
|- | |||
| 9 || [6.0.0+] GetKeyCodeMap2 || | |||
|} | |||
[4.0.0+] Official user-processes now use GetAvailableLanguageCodes2/GetAvailableLanguageCodeCount2 instead of {original commands}. | |||
In official user-processes in the [[#Language]]->[[#LanguageCode]] conversion function (MakeLanguageCode): | |||
* During one-time init, GetAvailableLanguageCodes is used to initialize the LanguageCodes array cache, with max_entries=0xF (buffer size in u64s). [4.0.0+] GetAvailableLanguageCodes2 is now used with max_entries 0x40. | |||
* [4.0.0+] When the input [[#Language]] is larger than the cached total_entries from the above command output, or [[#Language]] is negative, command MakeLanguageCode is used instead of the array. | |||
== GetKeyCodeMap == | |||
Takes a type-0x16 output buffer containing KeyCodeMap, official sw uses fixed size 0x1000. This is probably related to HID keyboard. | |||
== Language == | |||
"nn::settings::Language" (s32) is basically array indices in the output array from GetAvailableLanguageCodes. | |||
== LanguageCode == | |||
This is "nn::settings::LanguageCode". | |||
This is an u64, which is a NUL-terminated string. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Array-index / [[#Language]] || [[#LanguageCode]] || Icon [[NCA_Content_FS#FS-type3|language]] filename | ||
|- | |||
| 0 || ja || "Japanese" | |||
|- | |||
| 1 || en-US || "AmericanEnglish" | |||
|- | |||
| 2 || fr || "French" | |||
|- | |||
| 3 || de || "German" | |||
|- | |||
| 4 || it || "Italian" | |||
|- | |||
| 5 || es || "Spanish" | |||
|- | |||
| 6 || zh-CN || "Chinese" | |||
|- | |||
| 7 || ko || "Korean" | |||
|- | |||
| 8 || nl || "Dutch" | |||
|- | |||
| 9 || pt || "Portuguese" | |||
|- | |||
| 10 || ru || "Russian" | |||
|- | |||
| 11 || zh-TW || "Taiwanese" | |||
|- | |||
| 12 || en-GB || "BritishEnglish" | |||
|- | |||
| 13 || fr-CA || "CanadianFrench" | |||
|- | |||
| 14 || es-419 || "LatinAmericanSpanish" | |||
|- | |||
| [4.0.0+] 15 || zh-Hans || "SimplifiedChinese" | |||
|- | |||
| [4.0.0+] 16 || zh-Hant || "TraditionalChinese" | |||
|} | |||
== RegionCode == | |||
A region code is a signed 32-bit value representing a particular region. Currently the available regions defined by the system are as follows: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value || Region | |||
|- | |||
| 0 || Japan | |||
|- | |||
| 1 || USA | |||
|- | |||
| 2 || Europe | |||
|- | |||
| 3 || Australia | |||
|- | |||
| 4 || China | |||
|- | |- | ||
| | | 5 || Korea | ||
|- | |- | ||
| | | 6 || Taiwan | ||
|- | |- | ||
| | | Any other value || Considered an unknown region | ||
|- | |- | ||
|} | |} | ||
= set:fd = | = set:fd = | ||
This is "nn::settings::IFirmwareDebugSettingsServer". | |||
[4.0.0+] Only exposed if in [[SPL_services#IsDebugMode|debug mode]]. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name || Notes | |||
|- | |||
| 2 || SetSettingsItemValue || | |||
|- | |||
| 3 || ResetSettingsItemValue || | |||
|- | |||
| 4 || CreateSettingsItemKeyIterator || Returns an [[#ISettingsItemKeyIterator]]. | |||
|- | |||
| 10 || [4.0.0+] ReadSettings || | |||
|- | |||
| 11 || [4.0.0+] ResetSettings || | |||
|- | |||
| 20 || [4.0.0+] SetWebInspectorFlag || | |||
|- | |||
| 21 || [4.0.0+] SetAllowedSslHosts || | |||
|- | |||
| 22 || [4.0.0+] SetHostFsMountPoint || | |||
|} | |||
== 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 165: | ||
| 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 || [[#GetEticketDeviceCertificate]] | |||
|- | |||
| 16 || [[#GetSslKey]] | |||
|- | |||
| 17 || [[#GetSslCertificate]] | |||
|- | |- | ||
| | | 18 || [[#GetGameCardKey]] | ||
|- | |- | ||
| | | 19 || [[#GetGameCardCertificate]] | ||
|- | |- | ||
| | | 20 || [[#GetEciDeviceKey]] | ||
|- | |- | ||
| | | 21 || [[#GetEticketDeviceKey]] | ||
|- | |- | ||
| | | 22 || GetSpeakerParameter | ||
|- | |- | ||
| | | 23 || [4.0.0+] GetLcdVendorId | ||
|- | |- | ||
| | | 24 || [5.0.0+] [[#GetEciDeviceCertificate2]] | ||
|- | |- | ||
| | | 25 || [5.0.0+] [[#GetEciDeviceKey2]] | ||
|- | |- | ||
| 26 || [5.0.0+] GetAmiiboKey | |||
|- | |||
| 27 || [5.0.0+] GetAmiiboEcqvCertificate | |||
|- | |||
| 28 || [5.0.0+] GetAmiiboEcdsaCertificate | |||
|- | |||
| 29 || [5.0.0+] GetAmiiboEcqvBlsKey | |||
|- | |||
| 30 || [5.0.0+] GetAmiiboEcqvBlsCertificate | |||
|- | |||
| 31 || [5.0.0+] GetAmiiboEcqvBlsRootCertificate | |||
|- | |||
| 32 || [5.0.0+] GetUsbTypeCPowerSourceCircuitVersion | |||
|- | |||
| 41 || [6.0.0+] GetBatteryVersion | |||
|} | |} | ||
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 | 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. | ||
Returns the ETicket certificate (RSA signed). | |||
== GetSslKey == | == GetSslKey == | ||
Takes a type-0x16 output buffer with fixed size 0x134. | Takes a type-0x16 output buffer with fixed size 0x134. | ||
Returns | Returns the extended SSL key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes). | ||
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. | ||
Returns a container | Returns a [[Settings_services#setcal_Container_Structure|container]] with the plaintext SSL certificate. | ||
Used by SSL-sysmodule, see [[SSL_services|here]]. | Used by SSL-sysmodule, see [[SSL_services|here]]. | ||
=== setcal Container Structure | == GetGameCardKey == | ||
Takes a type-0x16 output buffer with fixed size 0x134. | |||
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. | |||
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). | |||
[5.0.0+] Now returns an additional 4-bytes. | |||
== GetEticketDeviceKey == | |||
Takes a type-0x16 output buffer with fixed size 0x244. | |||
Returns the extended ETicket RSA-2048 key (0x240 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes). | |||
== GetEciDeviceCertificate2 == | |||
Same as [[#GetEciDeviceCertificate]], but returns a RSA-2048 variant of the device certificate. | |||
== GetEciDeviceKey2 == | |||
Same as [[#GetEciDeviceKey]], but returns a RSA-2048 variant of the device key. | |||
== setcal Container Structure == | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 109: | Line 287: | ||
| Actual data starts here. | | Actual data starts here. | ||
|} | |} | ||
This container is used for returning data with variable sizes. | |||
= 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 || [3.0.0+] GetFirmwareVersion2 | |||
|- | |||
| 5 || [5.0.0+] GetFirmwareVersionDigest | |||
|- | |||
| 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]] | |||
|- | |||
| 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 || [2.0.0+] GetAutoUpdateEnableFlag | |||
|- | |||
| 96 || [2.0.0+] SetAutoUpdateEnableFlag | |||
|- | |||
| 97 || [2.0.0+] GetNxControllerSettings | |||
|- | |||
| 98 || [2.0.0+] SetNxControllerSettings | |||
|- | |||
| 99 || [2.0.0+] GetBatteryPercentageFlag | |||
|- | |||
| 100 || [2.0.0+] SetBatteryPercentageFlag | |||
|- | |||
| 101 || [2.0.0+] GetExternalRtcResetFlag | |||
|- | |||
| 102 || [2.0.0+] SetExternalRtcResetFlag | |||
|- | |||
| 103 || [3.0.0+] GetUsbFullKeyEnableFlag | |||
|- | |||
| 104 || [3.0.0+] SetUsbFullKeyEnableFlag | |||
|- | |||
| 105 || [3.0.0+] SetExternalSteadyClockInternalOffset | |||
|- | |||
| 106 || [3.0.0+] GetExternalSteadyClockInternalOffset | |||
|- | |||
| 107 || [3.0.0+] GetBacklightSettingsEx | |||
|- | |||
| 108 || [3.0.0+] SetBacklightSettingsEx | |||
|- | |||
| 109 || [3.0.0+] GetHeadphoneVolumeWarningCount | |||
|- | |||
| 110 || [3.0.0+] SetHeadphoneVolumeWarningCount | |||
|- | |||
| 111 || [3.0.0+] GetBluetoothAfhEnableFlag | |||
|- | |||
| 112 || [3.0.0+] SetBluetoothAfhEnableFlag | |||
|- | |||
| 113 || [3.0.0+] GetBluetoothBoostEnableFlag | |||
|- | |||
| 114 || [3.0.0+] SetBluetoothBoostEnableFlag | |||
|- | |||
| 115 || [3.0.0+] GetInRepairProcessEnableFlag | |||
|- | |||
| 116 || [3.0.0+] SetInRepairProcessEnableFlag | |||
|- | |||
| 117 || [3.0.0+] GetHeadphoneVolumeUpdateFlag | |||
|- | |||
| 118 || [3.0.0+] SetHeadphoneVolumeUpdateFlag | |||
|- | |||
| 119 || [3.0.0+] NeedsToUpdateHeadphoneVolume | |||
|- | |||
| 120 || [3.0.0+] GetPushNotificationActivityModeOnSleep | |||
|- | |||
| 121 || [3.0.0+] SetPushNotificationActivityModeOnSleep | |||
|- | |||
| 122 || [4.0.0+] [[#GetServiceDiscoveryControlSettings]] | |||
|- | |||
| 123 || [4.0.0+] SetServiceDiscoveryControlSettings | |||
|- | |||
| 124 || [4.0.0+] GetErrorReportSharePermission | |||
|- | |||
| 125 || [4.0.0+] SetErrorReportSharePermission | |||
|- | |||
| 126 || [4.0.0+] GetAppletLaunchFlags | |||
|- | |||
| 127 || [4.0.0+] SetAppletLaunchFlags | |||
|- | |||
| 128 || [4.0.0+] GetConsoleSixAxisSensorAccelerationBias | |||
|- | |||
| 129 || [4.0.0+] SetConsoleSixAxisSensorAccelerationBias | |||
|- | |||
| 130 || [4.0.0+] GetConsoleSixAxisSensorAngularVelocityBias | |||
|- | |||
| 131 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityBias | |||
|- | |||
| 132 || [4.0.0+] GetConsoleSixAxisSensorAccelerationGain | |||
|- | |||
| 133 || [4.0.0+] SetConsoleSixAxisSensorAccelerationGain | |||
|- | |||
| 134 || [4.0.0+] GetConsoleSixAxisSensorAngularVelocityGain | |||
|- | |||
| 135 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityGain | |||
|- | |||
| 136 || [4.0.0+] GetKeyboardLayout | |||
|- | |||
| 137 || [4.0.0+] SetKeyboardLayout | |||
|- | |||
| 138 || [4.0.0+] GetWebInspectorFlag | |||
|- | |||
| 139 || [4.0.0+] [[#GetAllowedSslHosts]] | |||
|- | |||
| 140 || [4.0.0+] GetHostFsMountPoint | |||
|- | |||
| 141 || [5.0.0+] GetRequiresRunRepairTimeReviser | |||
|- | |||
| 142 || [5.0.0+] SetRequiresRunRepairTimeReviser | |||
|- | |||
| 143 || [5.0.0+] SetBlePairingSettings | |||
|- | |||
| 144 || [5.0.0+] GetBlePairingSettings | |||
|- | |||
| 145 || [5.0.0+] GetConsoleSixAxisSensorAngularVelocityTimeBias | |||
|- | |||
| 146 || [5.0.0+] SetConsoleSixAxisSensorAngularVelocityTimeBias | |||
|- | |||
| 147 || [5.0.0+] GetConsoleSixAxisSensorAngularAcceleration | |||
|- | |||
| 148 || [5.0.0+] SetConsoleSixAxisSensorAngularAcceleration | |||
|- | |||
| 149 || [5.0.0+] GetRebootlessSystemUpdateVersion | |||
|- | |||
| 150 || [5.0.0+] GetDeviceTimeZoneLocationUpdatedTime | |||
|- | |||
| 151 || [5.0.0+] SetDeviceTimeZoneLocationUpdatedTime | |||
|- | |||
| 152 || [6.0.0+] GetUserSystemClockAutomaticCorrectionUpdatedTime | |||
|- | |- | ||
| | | 153 || [6.0.0+] SetUserSystemClockAutomaticCorrectionUpdatedTime | ||
|- | |- | ||
| | | 154 || [6.0.0+] GetAccountOnlineStorageSettings | ||
|- | |- | ||
| | | 155 || [6.0.0+] SetAccountOnlineStorageSettings | ||
|- | |- | ||
| | | 156 || [6.0.0+] GetPctlReadyFlag | ||
|- | |- | ||
| | | 157 || [6.0.0+] SetPctlReadyFlag | ||
|- | |||
| 162 || [6.0.0+] GetPtmBatteryVersion | |||
|- | |||
| 163 || [6.0.0+] SetPtmBatteryVersion | |||
|- | |||
| 164 || [6.0.0+] GetUsb30HostEnableFlag | |||
|- | |||
| 165 || [6.0.0+] SetUsb30HostEnableFlag | |||
|- | |||
| 166 || [6.0.0+] GetUsb30DeviceEnableFlag | |||
|- | |||
| 167 || [6.0.0+] SetUsb30DeviceEnableFlag | |||
|- | |||
| 168 || [7.0.0+] GetThemeId | |||
|- | |||
| 169 || [7.0.0+] SetThemeId | |||
|- | |||
| 170 || [7.0.0+] GetChineseTraditionalInputMethod | |||
|- | |||
| 171 || [7.0.0+] SetChineseTraditionalInputMethod | |||
|- | |||
| 172 || [7.0.0+] GetPtmCycleCountReliability | |||
|- | |||
| 173 || [7.0.0+] SetPtmCycleCountReliability | |||
|- | |||
| 175 || [7.0.0+] GetThemeSettings | |||
|- | |||
| 176 || [7.0.0+] SetThemeSettings | |||
|- | |||
| 177 || [7.0.0+] GetThemeKey | |||
|- | |||
| 178 || [7.0.0+] SetThemeKey | |||
|- | |||
| 179 || [8.0.0+] GetZoomFlag | |||
|- | |||
| 180 || [8.0.0+] SetZoomFlag | |||
|- | |||
| 181 || [8.0.0+] GetT | |||
|- | |||
| 182 || [8.0.0+] SetT | |||
|} | |} | ||
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. | |||
== GetColorSetId == | |||
No input, returns an output s32. | |||
This is the current Theme set by System Settings. | |||
* 0: "Basic White" | |||
* 1: "Basic Black" | |||
== SetColorSetId == | |||
Takes an input s32, no output. | |||
== 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 137: | Line 675: | ||
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. | ||
Line 153: | Line 684: | ||
== GetSerialNumber == | == GetSerialNumber == | ||
Returns the 0x18-byte SerialNumber string. | Returns the 0x18-byte SerialNumber string. | ||
== GetServiceDiscoveryControlSettings == | |||
Returns 0x01 if [[Safemode|safemode]] needs to be launched. | |||
== GetAllowedSslHosts == | |||
Takes a type-0x6 output buffer, returns an output s32. This buffer contains an array of 0x8-byte "nn::settings::system::AllowedSslHost" entries. | |||
== GetQuestFlag == | |||
Gets a flag determining whether the console is a kiosk unit (codenamed "Quest"). Used by qlaunch to determine whether to launch Retail Interactive Display Menu. | |||
= System Config = | |||
There's a common config title (*818), and a config title for each [[SPL_services|HardwareType]]. | |||
[5.0.0+] New config fields were added to the HardwareType-specific config: | |||
* "systeminitializer!eks_enabled" 1 for non-Mariko, 0 otherwise. | |||
* "systeminitializer!bct_eks_offset" Offset within the [[BCT]] where the [[Flash_Filesystem|keyblob]]/"EKS" is stored. | |||
* "systeminitializer!bct_version_offset" Offset within the [[BCT]] where the keyblob version is stored (bootloader0_info.version). | |||
* "systeminitializer!boot_image_update_type" 0 for non-Mariko, 1 otherwise. | |||
"bct_eks_offset" and "bct_version_offset" are only present in non-Mariko config, since (?) Mariko "eks_enabled" is 0. This presumably means the [[Flash_Filesystem|keyblob]]/"EKS" is not embedded in [[BCT]] with Mariko? | |||
[[Category:Services]] | [[Category:Services]] |