Settings services: Difference between revisions
No edit summary  | 
				No edit summary  | 
				||
| (66 intermediate revisions by 8 users not shown) | |||
| Line 14: | Line 14: | ||
| 3 || GetAvailableLanguageCodeCount || No input, returns an output s32.  | | 3 || GetAvailableLanguageCodeCount || No input, returns an output s32.  | ||
|-  | |-  | ||
| 4 || GetRegionCode || No input, returns   | | 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.  | | 5 || [4.0.0+] GetAvailableLanguageCodes2 || Takes a type-0x6 buffer containing the [[#LanguageCode]] output array, returns an output s32.  | ||
| Line 20: | Line 20: | ||
| 6 || [4.0.0+] GetAvailableLanguageCodeCount2 || No input, returns an output s32.  | | 6 || [4.0.0+] GetAvailableLanguageCodeCount2 || No input, returns an output s32.  | ||
|-  | |-  | ||
| 7 || [4.0.0+] GetKeyCodeMap ||    | | 7 || [4.0.0+] [[#GetKeyCodeMap]] ||   | ||
|-  | |||
| 8 || [5.0.0+] GetQuestFlag || Identical to "set:sys" [[#set:sys|GetQuestFlag]].  | |||
|-  | |||
| 9 || [6.0.0+] GetKeyCodeMap2 ||   | |||
|-  | |||
| 10 || [9.0.0+] [[#GetFirmwareVersionForDebug]] ||  | |||
|}  | |}  | ||
[4.0.0+] Official user-processes now use GetAvailableLanguageCodes2/GetAvailableLanguageCodeCount2 instead of {original commands}.  | [4.0.0+] Official user-processes now use GetAvailableLanguageCodes2/GetAvailableLanguageCodeCount2 instead of {original commands}.  | ||
| Line 32: | Line 37: | ||
== GetKeyCodeMap ==  | == GetKeyCodeMap ==  | ||
Takes a type-0x16 output buffer containing KeyCodeMap, official sw uses fixed size 0x1000. This is probably related to HID keyboard.  | Takes a type-0x16 output buffer containing KeyCodeMap, official sw uses fixed size 0x1000. This is probably related to HID keyboard.  | ||
== GetFirmwareVersionForDebug ==  | |||
Takes a type-0x16 output buffer containing a 0x80-byte "nn::oe::FirmwareVersionForDebug".  | |||
This uses [[#GetDebugModeFlag]] internally, if the output flag is 0 an error is thrown.  | |||
This runs the same code as GetFirmwareVersion2, with the last 0x80-bytes of the [[System_Version_Title|output]] being copied to the output buffer.  | |||
== Language ==  | == Language ==  | ||
| Line 40: | Line 52: | ||
This is an u64, which is a NUL-terminated string.  | 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  | ! Array-index / [[#Language]] || [[#LanguageCode]] || Icon [[NCA_Content_FS#FS-type3|language]] filename || Name  | ||
|-  | |||
| 0 || ja || "Japanese" || Japanese  | |||
|-  | |||
| 1 || en-US || "AmericanEnglish" || EnglishUs  | |||
|-  | |||
| 2 || fr || "French" || French  | |||
|-  | |||
| 3 || de || "German" || German  | |||
|-  | |||
| 4 || it || "Italian" || Italian  | |||
|-  | |||
| 5 || es || "Spanish" || Spanish  | |||
|-  | |||
| 6 || zh-CN || "Chinese" || Chinese  | |||
|-  | |||
| 7 || ko || "Korean" || Korean  | |||
|-  | |||
| 8 || nl || "Dutch" || Dutch  | |||
|-  | |||
| 9 || pt || "Portuguese" || Portuguese  | |||
|-  | |-  | ||
|   | | 10 || ru || "Russian" || Russian  | ||
|-  | |-  | ||
|   | | 11 || zh-TW || "Taiwanese" || Taiwanese  | ||
|-  | |-  | ||
|   | | 12 || en-GB || "BritishEnglish" || EnglishUk  | ||
|-  | |-  | ||
|   | | 13 || fr-CA || "CanadianFrench" || FrenchCa  | ||
|-  | |-  | ||
|   | | 14 || es-419 || "LatinAmericanSpanish" || SpanishLatin  | ||
|-  | |-  | ||
|   | | [4.0.0+] 15 || zh-Hans || "SimplifiedChinese" || ChineseSimplified  | ||
|-  | |-  | ||
|   | | [4.0.0+] 16 || zh-Hant || "TraditionalChinese" || ChineseTraditional  | ||
|}  | |||
== 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".  | This is "nn::settings::IFirmwareDebugSettingsServer".  | ||
[4.0.0+] Only exposed if in [[SPL_services#IsDebugMode|debug mode]].  | |||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
|-  | |-  | ||
! Cmd || Name ||   | ! Cmd || Name  | ||
|-  | |||
| 2 || SetSettingsItemValue  | |||
|-  | |-  | ||
|   | | 3 || ResetSettingsItemValue  | ||
|-  | |-  | ||
|   | | 4 || [[#ISettingsItemKeyIterator|CreateSettingsItemKeyIterator]]  | ||
|-  | |-  | ||
|   | | 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  | ||
|-  | |-  | ||
|   | | 23 || [9.0.0+] SetMemoryUsageRateFlag  | ||
|}  | |}  | ||
| Line 170: | Line 210: | ||
| 23 || [4.0.0+] GetLcdVendorId  | | 23 || [4.0.0+] GetLcdVendorId  | ||
|-  | |-  | ||
| 24 || [5.0.0+]  | | 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  | ||
|-  | |-  | ||
|   | | 33 || [8.1.1+] GetAnalogStickModuleTypeL  | ||
|-  | |-  | ||
|   | | 34 || [8.1.1+] GetAnalogStickModelParameterL  | ||
|-  | |-  | ||
|   | | 35 || [8.1.1+] GetAnalogStickFactoryCalibrationL  | ||
|-  | |-  | ||
|   | | 36 || [8.1.1+] GetAnalogStickModuleTypeR  | ||
|-  | |-  | ||
|   | | 37 || [8.1.1+] GetAnalogStickModelParameterR  | ||
|-  | |-  | ||
|   | | 38 || [8.1.1+] GetAnalogStickFactoryCalibrationR  | ||
|-  | |||
| 39 || [8.1.1+] GetConsoleSixAxisSensorModuleType  | |||
|-  | |||
| 40 || [8.1.1+] GetConsoleSixAxisSensorHorizontalOffset  | |||
|-  | |||
| 41 || [6.0.0+] GetBatteryVersion  | |||
|}  | |}  | ||
| Line 192: | Line 250: | ||
== GetEciDeviceCertificate ==  | == GetEciDeviceCertificate ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#EccB233DeviceCertificate]].  | ||
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 ==  | == GetEticketDeviceCertificate ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceCertificate]].  | ||
Returns the ETicket certificate (RSA signed).  | Returns the ETicket certificate (RSA signed).  | ||
== GetSslKey ==  | == GetSslKey ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#SslKey]].  | ||
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).  | 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).  | ||
| Line 209: | Line 267: | ||
== GetSslCertificate ==  | == GetSslCertificate ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#SslCertificate]].  | ||
Used by SSL-sysmodule, see [[SSL_services|here]].  | Used by SSL-sysmodule, see [[SSL_services|here]].  | ||
== GetGameCardKey ==  | == GetGameCardKey ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#GameCardKey]].  | ||
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 ==  | == GetGameCardCertificate ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#GameCardCertificate]].  | ||
== GetEciDeviceKey ==  | |||
No input, returns an [[#EccB233DeviceKey]].  | |||
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 ==  | == GetEticketDeviceKey ==  | ||
Takes a type-0x16 output buffer   | Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceKey]].  | ||
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).  | 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 [[#Rsa2048DeviceCertificate|returns]] a RSA-2048 variant of the device certificate.  | |||
== GetEciDeviceKey2 ==  | |||
Same as [[#GetEciDeviceKey]], but [[#Rsa2048DeviceKey|returns]] a RSA-2048 variant of the device key.  | |||
== AccelerometerOffset ==  | |||
This is "nn::settings::factory::AccelerometerOffset". It's size is 0x06 bytes.  | |||
== AccelerometerScale ==  | |||
This is "nn::settings::factory::AccelerometerScale". It's size is 0x06 bytes.  | |||
== AmiiboEcdsaCertificate ==  | |||
This is "nn::settings::factory::AmiiboEcdsaCertificate". It's size is 0x70 bytes.  | |||
== AmiiboEcqvBlsCertificate ==  | |||
This is "nn::settings::factory::AmiiboEcqvBlsCertificate". It's size is 0x20 bytes.  | |||
== AmiiboEcqvBlsKey ==  | |||
This is "nn::settings::factory::AmiiboEcqvBlsKey". It's size is 0x40 bytes.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | {| class="wikitable" border="1"  | ||
|-  | |-  | ||
| Line 241: | Line 318: | ||
|-  | |-  | ||
| 0x0  | | 0x0  | ||
| 0x40  | |||
| Key  | |||
|-  | |||
| 0x44  | |||
| 0x4  | | 0x4  | ||
| Size   | | Key generation  | ||
|}  | |||
== AmiiboEcqvBlsRootCertificate ==  | |||
This is "nn::settings::factory::AmiiboEcqvBlsRootCertificate". It's size is 0x90 bytes.  | |||
== AmiiboEcqvCertificate ==  | |||
This is "nn::settings::factory::AmiiboEcqvCertificate". It's size is 0x14 bytes.  | |||
== AmiiboKey ==  | |||
This is "nn::settings::factory::AmiiboKey". It's size is 0x50 bytes.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x50  | |||
| Key  | |||
|-  | |||
| 0x50  | |||
| 0x4  | |||
| Key generation  | |||
|}  | |||
== AnalogStickFactoryCalibration ==  | |||
This is "nn::settings::factory::AnalogStickFactoryCalibration". It's size is 0x09 bytes.  | |||
== AnalogStickModelParameter ==  | |||
This is "nn::settings::factory::AnalogStickModelParameter". It's size is 0x12 bytes.  | |||
== BatteryLot ==  | |||
This is "nn::settings::BatteryLot". It's size is 0x18 bytes.  | |||
== BdAddress ==  | |||
This is "nn::settings::factory::BdAddress". It's size is 0x06 bytes.  | |||
== ConfigurationId1 ==  | |||
This is "nn::settings::factory::ConfigurationId1". It's size is 0x1E bytes.  | |||
== ConsoleSixAxisSensorHorizontalOffset ==  | |||
This is "nn::settings::factory::ConsoleSixAxisSensorHorizontalOffset". It's size is 0x06 bytes.  | |||
== CountryCode ==  | |||
This is "nn::settings::factory::CountryCode". It's size is 0x04 bytes.  | |||
== EccB233DeviceCertificate ==  | |||
This is "nn::settings::factory::EccB233DeviceCertificate". It's size is 0x180 bytes.  | |||
== EccB233DeviceKey ==  | |||
This is "nn::settings::factory::EccB233DeviceKey". It's size is 0x30 bytes or 0x54 bytes in the extended version.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x54  | |||
| Key  | |||
|-  | |||
| 0x54  | |||
| 0x4  | |||
| Key generation  | |||
|}  | |||
== GameCardCertificate ==  | |||
This is "nn::settings::factory::GameCardCertificate". It's maximum size is 0x404 bytes.  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x4  | |||
| GameCard certificate size  | |||
|-  | |-  | ||
| 0x4  | | 0x4  | ||
| {above size}  | | {above size}  | ||
|   | | GameCard certificate data  | ||
|}  | |||
== GameCardKey ==  | |||
This is "nn::settings::factory::GameCardKey". It's size is 0x110 bytes or 0x130 bytes in the extended version.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x130  | |||
| Key  | |||
|-  | |||
| 0x130  | |||
| 0x4  | |||
| Key generation  | |||
|}  | |}  | ||
This   | == GyroscopeOffset ==  | ||
This is "nn::settings::factory::GyroscopeOffset". It's size is 0x06 bytes.  | |||
== GyroscopeScale ==  | |||
This is "nn::settings::factory::GyroscopeScale". It's size is 0x06 bytes.  | |||
== MacAddress ==  | |||
This is "nn::settings::factory::MacAddress". It's size is 0x06 bytes.  | |||
== Rsa2048DeviceCertificate ==  | |||
This is "nn::settings::factory::Rsa2048DeviceCertificate". It's size is 0x240 bytes.  | |||
== Rsa2048DeviceKey ==  | |||
This is "nn::settings::factory::Rsa2048DeviceKey". It's size is 0x220 bytes or 0x240 bytes in the extended version.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x240  | |||
| Key  | |||
|-  | |||
| 0x240  | |||
| 0x4  | |||
| Key generation  | |||
|}  | |||
== SerialNumber ==  | |||
This is "nn::settings::factory::SerialNumber". It's size is 0x18 bytes.  | |||
== SpeakerParameter ==  | |||
This is "nn::settings::factory::SpeakerParameter". It's size is 0x5A bytes.  | |||
== SslCertificate ==  | |||
This is "nn::settings::factory::SslCertificate". It's maximum size is 0x804 bytes.  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x4  | |||
| SSL certificate size  | |||
|-  | |||
| 0x4  | |||
| {above size}  | |||
| SSL certificate data  | |||
|}  | |||
== SslKey ==  | |||
This is "nn::settings::factory::SslKey". It's size is 0x110 bytes or 0x130 bytes in the extended version.  | |||
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset  | |||
! Size  | |||
! Name  | |||
|-  | |||
| 0x0  | |||
| 0x130  | |||
| Key  | |||
|-  | |||
| 0x130  | |||
| 0x4  | |||
| Key generation  | |||
|}  | |||
== RegionCode ==  | |||
This is "nn::settings::factory::RegionCode". It's size is 0x04 bytes.  | |||
= set:sys =  | = set:sys =  | ||
| Line 258: | Line 513: | ||
! Cmd || Name  | ! Cmd || Name  | ||
|-  | |-  | ||
| 0 || SetLanguageCode  | | 0 || [[#SetLanguageCode]]  | ||
|-  | |-  | ||
| 1 || SetNetworkSettings  | | 1 || SetNetworkSettings  | ||
| Line 267: | Line 522: | ||
|-  | |-  | ||
| 4 || [3.0.0+] GetFirmwareVersion2  | | 4 || [3.0.0+] GetFirmwareVersion2  | ||
|-  | |||
| 5 || [5.0.0+] GetFirmwareVersionDigest  | |||
|-  | |-  | ||
| 7 || GetLockScreenFlag  | | 7 || GetLockScreenFlag  | ||
| Line 288: | Line 545: | ||
| 16 || SetUserSystemClockContext  | | 16 || SetUserSystemClockContext  | ||
|-  | |-  | ||
| 17 || GetAccountSettings  | | 17 || [[#GetAccountSettings]]  | ||
|-  | |-  | ||
| 18 || SetAccountSettings  | | 18 || [[#SetAccountSettings]]  | ||
|-  | |-  | ||
| 19 || GetAudioVolume  | | 19 || GetAudioVolume  | ||
| Line 296: | Line 553: | ||
| 20 || SetAudioVolume  | | 20 || SetAudioVolume  | ||
|-  | |-  | ||
| 21 || GetEulaVersions  | | 21 || [[#GetEulaVersions]]  | ||
|-  | |-  | ||
| 22 || SetEulaVersions  | | 22 || [[#SetEulaVersions]]  | ||
|-  | |-  | ||
| 23 || [[#GetColorSetId]]  | | 23 || [[#GetColorSetId]]  | ||
| Line 312: | Line 569: | ||
| 28 || SetAutomaticApplicationDownloadFlag  | | 28 || SetAutomaticApplicationDownloadFlag  | ||
|-  | |-  | ||
| 29 || GetNotificationSettings  | | 29 || [[#GetNotificationSettings]]  | ||
|-  | |-  | ||
| 30 || SetNotificationSettings  | | 30 || [[#SetNotificationSettings]]  | ||
|-  | |-  | ||
| 31 || GetAccountNotificationSettings  | | 31 || [[#GetAccountNotificationSettings]]  | ||
|-  | |-  | ||
| 32 || SetAccountNotificationSettings  | | 32 || [[#SetAccountNotificationSettings]]  | ||
|-  | |-  | ||
| 35 || GetVibrationMasterVolume  | | 35 || GetVibrationMasterVolume  | ||
| Line 328: | Line 585: | ||
| 38 || [[#GetSettingsItemValue]]  | | 38 || [[#GetSettingsItemValue]]  | ||
|-  | |-  | ||
| 39 || GetTvSettings  | | 39 || [[#GetTvSettings]]  | ||
|-  | |-  | ||
| 40 || SetTvSettings  | | 40 || [[#SetTvSettings]]  | ||
|-  | |-  | ||
| 41 || GetEdid  | | 41 || GetEdid  | ||
| Line 344: | Line 601: | ||
| 46 || SetForceMuteOnHeadphoneRemoved  | | 46 || SetForceMuteOnHeadphoneRemoved  | ||
|-  | |-  | ||
| 47 || GetQuestFlag  | | 47 || [[#GetQuestFlag]]  | ||
|-  | |-  | ||
| 48 || SetQuestFlag  | | 48 || SetQuestFlag  | ||
|-  | |-  | ||
| 49 || GetDataDeletionSettings  | | 49 || [[#GetDataDeletionSettings]]  | ||
|-  | |-  | ||
| 50 || SetDataDeletionSettings  | | 50 || [[#SetDataDeletionSettings]]  | ||
|-  | |-  | ||
| 51 || GetInitialSystemAppletProgramId  | | 51 || GetInitialSystemAppletProgramId  | ||
| Line 360: | Line 617: | ||
| 54 || SetDeviceTimeZoneLocationName  | | 54 || SetDeviceTimeZoneLocationName  | ||
|-  | |-  | ||
| 55 || GetWirelessCertificationFileSize  | | 55 || [[#GetWirelessCertificationFileSize]]  | ||
|-  | |-  | ||
| 56 || [[  | | 56 || [[#GetWirelessCertificationFile]]  | ||
|-  | |-  | ||
| 57 || SetRegionCode  | | 57 || [[#SetRegionCode]]  | ||
|-  | |-  | ||
| 58 || GetNetworkSystemClockContext  | | 58 || GetNetworkSystemClockContext  | ||
| Line 376: | Line 633: | ||
| 62 || [[#GetDebugModeFlag]]  | | 62 || [[#GetDebugModeFlag]]  | ||
|-  | |-  | ||
| 63 || GetPrimaryAlbumStorage  | | 63 || [[#GetPrimaryAlbumStorage]]  | ||
|-  | |-  | ||
| 64 || SetPrimaryAlbumStorage  | | 64 || [[#SetPrimaryAlbumStorage]]  | ||
|-  | |-  | ||
| 65 || GetUsb30EnableFlag  | | 65 || GetUsb30EnableFlag  | ||
| Line 384: | Line 641: | ||
| 66 || SetUsb30EnableFlag  | | 66 || SetUsb30EnableFlag  | ||
|-  | |-  | ||
| 67 || GetBatteryLot  | | 67 || [[#GetBatteryLot]]  | ||
|-  | |-  | ||
| 68 || [[#GetSerialNumber]]  | | 68 || [[#GetSerialNumber]]  | ||
| Line 392: | Line 649: | ||
| 70 || SetNfcEnableFlag  | | 70 || SetNfcEnableFlag  | ||
|-  | |-  | ||
| 71 || GetSleepSettings  | | 71 || [[#GetSleepSettings]]  | ||
|-  | |-  | ||
| 72 || SetSleepSettings  | | 72 || [[#SetSleepSettings]]  | ||
|-  | |-  | ||
| 73 || GetWirelessLanEnableFlag  | | 73 || GetWirelessLanEnableFlag  | ||
| Line 400: | Line 657: | ||
| 74 || SetWirelessLanEnableFlag  | | 74 || SetWirelessLanEnableFlag  | ||
|-  | |-  | ||
| 75 || GetInitialLaunchSettings  | | 75 || [[#GetInitialLaunchSettings]]  | ||
|-  | |-  | ||
| 76 || SetInitialLaunchSettings  | | 76 || [[#SetInitialLaunchSettings]]  | ||
|-  | |-  | ||
| 77 || GetDeviceNickName  | | 77 || GetDeviceNickName  | ||
| Line 408: | Line 665: | ||
| 78 || SetDeviceNickName  | | 78 || SetDeviceNickName  | ||
|-  | |-  | ||
| 79 || GetProductModel  | | 79 || [[#GetProductModel]]  | ||
|-  | |-  | ||
| 80 || GetLdnChannel  | | 80 || GetLdnChannel  | ||
| Line 430: | Line 687: | ||
| 89 || SetBluetoothEnableFlag  | | 89 || SetBluetoothEnableFlag  | ||
|-  | |-  | ||
| 90 || GetMiiAuthorId  | | 90 || [[#GetMiiAuthorId]]  | ||
|-  | |-  | ||
| 91 || SetShutdownRtcValue  | | 91 || SetShutdownRtcValue  | ||
| Line 498: | Line 755: | ||
| 123 || [4.0.0+] SetServiceDiscoveryControlSettings  | | 123 || [4.0.0+] SetServiceDiscoveryControlSettings  | ||
|-  | |-  | ||
| 124 || [4.0.0+] GetErrorReportSharePermission  | | 124 || [4.0.0+] [[#GetErrorReportSharePermission]]  | ||
|-  | |-  | ||
| 125 || [4.0.0+] SetErrorReportSharePermission  | | 125 || [4.0.0+] [[#SetErrorReportSharePermission]]  | ||
|-  | |-  | ||
| 126 || [4.0.0+] GetAppletLaunchFlags  | | 126 || [4.0.0+] [[#GetAppletLaunchFlags]]  | ||
|-  | |-  | ||
| 127 || [4.0.0+] SetAppletLaunchFlags  | | 127 || [4.0.0+] [[#SetAppletLaunchFlags]]  | ||
|-  | |-  | ||
| 128 || [4.0.0+] GetConsoleSixAxisSensorAccelerationBias  | | 128 || [4.0.0+] GetConsoleSixAxisSensorAccelerationBias  | ||
| Line 522: | Line 779: | ||
| 135 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityGain  | | 135 || [4.0.0+] SetConsoleSixAxisSensorAngularVelocityGain  | ||
|-  | |-  | ||
| 136 || [4.0.0+] GetKeyboardLayout  | | 136 || [4.0.0+] [[#GetKeyboardLayout]]  | ||
|-  | |-  | ||
| 137 || [4.0.0+] SetKeyboardLayout  | | 137 || [4.0.0+] [[#SetKeyboardLayout]]  | ||
|-  | |-  | ||
| 138 || [4.0.0+] GetWebInspectorFlag  | | 138 || [4.0.0+] GetWebInspectorFlag  | ||
| Line 532: | Line 789: | ||
| 140 || [4.0.0+] GetHostFsMountPoint  | | 140 || [4.0.0+] GetHostFsMountPoint  | ||
|-  | |-  | ||
| 141 || [5.0.0+]  | | 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  | |||
|-  | |||
| 158 || [8.1.1+] GetAnalogStickUserCalibrationL  | |||
|-  | |||
| 159 || [8.1.1+] SetAnalogStickUserCalibrationL  | |||
|-  | |||
| 160 || [8.1.1+] GetAnalogStickUserCalibrationR  | |||
|-  | |||
| 161 || [8.1.1+] SetAnalogStickUserCalibrationR  | |||
|-  | |||
| 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  | ||
|-  | |-  | ||
|   | | 174 || [8.1.1+] [[#GetHomeMenuScheme]]  | ||
|-  | |-  | ||
|   | | 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]]  | |||
|-  | |||
| 183 || [9.0.0+] [[#GetPlatformRegion]]  | |||
|-  | |||
| 184 || [9.0.0+] [[#SetPlatformRegion]]  | |||
|-  | |||
| 185 || [9.0.0+] [[#GetHomeMenuSchemeModel]]  | |||
|-  | |||
| 186 || [9.0.0+] [[#GetMemoryUsageRateFlag]]  | |||
|-  | |||
| 187 || [9.0.0+] [[#GetTouchScreenMode]]  | |||
|-  | |||
| 188 || [9.0.0+] [[#SetTouchScreenMode]]  | |||
|}  | |}  | ||
Official user-processes   | Official user-processes gets a new service session handle each time a set:sys cmd is used, with the session being closed afterwards.  | ||
== SetLanguageCode ==  | |||
Takes an input [[#LanguageCode]], no output.  | |||
== GetFirmwareVersion ==  | == GetFirmwareVersion ==  | ||
| Line 559: | Line 897: | ||
Then the above 0x100-byte data is copied to the output buffer.  | Then the above 0x100-byte data is copied to the output buffer.  | ||
== GetAccountSettings ==  | |||
No input, returns an output [[#AccountSettings]].  | |||
== SetAccountSettings ==  | |||
Takes an input [[#AccountSettings]], no output.  | |||
== GetEulaVersions ==  | |||
Takes a type-0x6 output buffer containing an array of [[#EulaVersion]], returns an output s32 total_out.  | |||
== SetEulaVersions ==  | |||
Takes a type-0x5 input buffer containing an array of [[#EulaVersion]], no output.  | |||
== GetColorSetId ==  | == GetColorSetId ==  | ||
| Line 570: | Line 920: | ||
== SetColorSetId ==  | == SetColorSetId ==  | ||
Takes an input s32, no output.  | Takes an input s32, no output.  | ||
== GetNotificationSettings ==  | |||
No input, returns an output [[#NotificationSettings]].  | |||
== SetNotificationSettings ==  | |||
Takes an input [[#NotificationSettings]], no output.  | |||
== GetAccountNotificationSettings ==  | |||
Takes a type-0x6 output buffer containing an array of [[#AccountNotificationSettings]], returns an output s32 total_out.  | |||
== SetAccountNotificationSettings ==  | |||
Takes a type-0x5 input buffer containing an array of [[#AccountNotificationSettings]], no output.  | |||
== GetSettingsItemValue ==  | == GetSettingsItemValue ==  | ||
| Line 577: | Line 939: | ||
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.  | ||
== GetTvSettings ==  | |||
No input, returns an output [[#TvSettings]].  | |||
== SetTvSettings ==  | |||
Takes an input [[#TvSettings]], no output.  | |||
== GetDebugModeFlag ==  | == GetDebugModeFlag ==  | ||
| Line 584: | Line 952: | ||
Returned retval is always 0.  | Returned retval is always 0.  | ||
== GetPrimaryAlbumStorage ==  | |||
No input, returns an output s32 [[#PrimaryAlbumStorage]].  | |||
== SetPrimaryAlbumStorage ==  | |||
Takes an input s32 [[#PrimaryAlbumStorage]], no output.  | |||
== GetBatteryLot ==  | |||
No input, returns an output [[#BatteryLot]].  | |||
== GetSerialNumber ==  | == GetSerialNumber ==  | ||
Returns the 0x18-byte SerialNumber string.  | Returns the 0x18-byte SerialNumber string.  | ||
== GetSleepSettings ==  | |||
No input, returns an output [[#SleepSettings]].  | |||
== SetSleepSettings ==  | |||
Takes an input [[#SleepSettings]], no output.  | |||
== GetInitialLaunchSettings ==  | |||
No input, returns an output [[#InitialLaunchSettings]].  | |||
== SetInitialLaunchSettings ==  | |||
Takes an input [[#InitialLaunchSettings]], no output.  | |||
== GetProductModel ==  | |||
No input, returns an output s32.  | |||
== GetMiiAuthorId ==  | |||
No input, returns an output "nn::util::Uuid".  | |||
== GetServiceDiscoveryControlSettings ==  | == GetServiceDiscoveryControlSettings ==  | ||
Returns   | Returns an u32 [[#ServiceDiscoveryControlSettings|ServiceDiscoveryControlSettings]].  | ||
== GetErrorReportSharePermission ==  | |||
No input, returns an output s32 [[#ErrorReportSharePermission]].  | |||
== SetErrorReportSharePermission ==  | |||
Takes an input s32 [[#ErrorReportSharePermission]], no output.  | |||
== GetAppletLaunchFlags ==  | |||
No input, returns an u32 bitmask [[#AppletLaunchFlag]].  | |||
== SetAppletLaunchFlags ==  | |||
Takes an input u32 bitmask [[#AppletLaunchFlag]], no output.  | |||
== GetKeyboardLayout ==  | |||
No input, returns an output s32 [[#KeyboardLayout]].  | |||
== SetKeyboardLayout ==  | |||
Takes an input s32 [[#KeyboardLayout]], no output.  | |||
== GetAllowedSslHosts ==  | == GetAllowedSslHosts ==  | ||
Takes a type-0x6 output buffer, returns an output s32. This buffer contains an array of 0x8-byte "nn::settings::system::AllowedSslHost" entries.  | Takes a type-0x6 output buffer, returns an output s32. This buffer contains an array of 0x8-byte "nn::settings::system::AllowedSslHost" entries.  | ||
=  | == GetRebootlessSystemUpdateVersion ==  | ||
No input, returns an output [[#RebootlessSystemUpdateVersion]].  | |||
== 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.  | |||
== GetDataDeletionSettings ==  | |||
No input, returns an output [[#DataDeletionSettings]].  | |||
== SetDataDeletionSettings ==  | |||
Takes an input [[#DataDeletionSettings]], no output.  | |||
== GetWirelessCertificationFileSize ==  | |||
No input, returns an output u64 size.  | |||
== GetWirelessCertificationFile ==  | |||
Takes a type-0x6 output buffer, returns an output u64 size.  | |||
This gets the [[Flash_Filesystem#PRODINFOF|WirelessCertificationFile]].  | |||
== SetRegionCode ==  | |||
Takes an input s32 [[#RegionCode]], no output.  | |||
== GetChineseTraditionalInputMethod ==  | |||
No input, returns an output s32 [[#ChineseTraditionalInputMethod]].  | |||
== SetChineseTraditionalInputMethod ==  | |||
Takes an input s32 [[#ChineseTraditionalInputMethod]], no output.  | |||
== GetHomeMenuScheme ==  | |||
No input, returns an output 0x14-byte struct "nn::settings::system::HomeMenuScheme".  | |||
This struct contains 5 RGBA8 u32s for colors: '''Main''', '''Back''', '''Sub''', '''Bezel''' and '''Extra'''.  | |||
The colors are loaded from [[Calibration]], with the set of fields to use selected by ColorVariation. When ColorVariation is invalid (must be 1-4), the following fixed color values are returned: 0xFF323232, 0xFF323232, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF000000.  | |||
== GetT ==  | |||
No input, returns an output u8 bool '''IsT'''.  | |||
[9.0.0+] This is a wrapper for [[#GetPlatformRegion]]: <code>IsT = (PlatformRegion == 2)</code>.  | |||
== SetT ==  | |||
Takes an input u8 bool '''IsT''', no output.  | |||
[9.0.0+] This is a wrapper for [[#SetPlatformRegion]]: <code>PlatformRegion = 1 + (IsT & 1)</code>.  | |||
== GetPlatformRegion ==  | |||
No input, returns an output s32.  | |||
== SetPlatformRegion ==  | |||
Takes an input s32, no output.  | |||
== GetHomeMenuSchemeModel ==  | |||
No input, returns an output u32.  | |||
Loads the 0xB-byte setting <"settings_debug", "home_menu_scheme_model">, throwing an error if loading this fails. Depending on the content of the setting, the output u32 is either determined by the value of this setting, or loaded from [[Calibration]].  | |||
== GetMemoryUsageRateFlag ==  | |||
No input, returns an output u8 bool.  | |||
== GetTouchScreenMode ==  | |||
No input, returns an output s32.  | |||
Official sw loads the output as an u8 and copies it to an output [[#TouchScreenMode]].  | |||
== SetTouchScreenMode ==  | |||
Takes an input s32, no output.  | |||
Official sw sets the input to an u8 loaded from an input [[#TouchScreenMode]].  | |||
== UserSelectorFlag ==  | |||
This is "nn::settings::system::UserSelectorFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
| 0 || SkipsIfSingleUser  | |||
|-  | |||
| 31 || Unknown  | |||
|}  | |||
== UserSelectorSettings ==  | |||
This is "nn::settings::system::UserSelectorSettings".  | |||
This contains an u32 bitmask for [[#UserSelectorFlag]].  | |||
== AccountSettings ==  | |||
This is "nn::settings::system::AccountSettings".  | |||
This contains [[#UserSelectorSettings]].  | |||
== EulaVersionClockType ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || NetworkSystemClock  | |||
|-  | |||
| 1 || SteadyClock  | |||
|}  | |||
== NotificationVolume ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || Mute  | |||
|-  | |||
| 1 || Low  | |||
|-  | |||
| 2 || High  | |||
|}  | |||
== FriendPresenceOverlayPermission ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || NotConfirmed  | |||
|-  | |||
| 1 || NoDisplay  | |||
|-  | |||
| 2 || FavoriteFriends  | |||
|-  | |||
| 3 || Friends  | |||
|}  | |||
== TvResolution ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || Auto  | |||
|-  | |||
| 1 || 1080p  | |||
|-  | |||
| 2 || 720p  | |||
|-  | |||
| 3 || 480p  | |||
|}  | |||
== HdmiContentType ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || None  | |||
|-  | |||
| 1 || Graphics  | |||
|-  | |||
| 2 || Cinema  | |||
|-  | |||
| 3 || Photo  | |||
|-  | |||
| 4 || Game  | |||
|}  | |||
== RgbRange ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || Auto  | |||
|-  | |||
| 1 || Full  | |||
|-  | |||
| 2 || Limited  | |||
|}  | |||
== CmuMode ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || None  | |||
|-  | |||
| 1 || ColorInvert  | |||
|-  | |||
| 2 || HighContrast  | |||
|-  | |||
| 3 || GrayScale  | |||
|}  | |||
== HandheldSleepPlan ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || 1Min  | |||
|-  | |||
| 1 || 3Min  | |||
|-  | |||
| 2 || 5Min  | |||
|-  | |||
| 3 || 10Min  | |||
|-  | |||
| 4 || 30Min  | |||
|-  | |||
| 5 || Never  | |||
|}  | |||
== ConsoleSleepPlan ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || 1Hour  | |||
|-  | |||
| 1 || 2Hour  | |||
|-  | |||
| 2 || 3Hour  | |||
|-  | |||
| 3 || 6Hour  | |||
|-  | |||
| 4 || 12Hour  | |||
|-  | |||
| 5 || Never  | |||
|}  | |||
== EulaVersion ==  | |||
This is "nn::settings::system::EulaVersion".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 version  | |||
|-  | |||
| 0x4 || 0x4 || s32 region_code  | |||
|-  | |||
| 0x8 || 0x4 || s32 [[#EulaVersionClockType|clock_type]]  | |||
|-  | |||
| 0xC || 0x4 || Padding  | |||
|-  | |||
| 0x10 || 0x8 || [[Glue_services|PosixTime]] network_clock_time  | |||
|-  | |||
| 0x18 || 0x18 || [[Glue_services|SteadyClockTimePoint]] steady_clock_time  | |||
|-  | |||
|}  | |||
== NotificationTime ==  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || s32 hour  | |||
|-  | |||
| 0x4 || 0x4 || s32 minute  | |||
|-  | |||
|}  | |||
== NotificationFlag ==  | |||
This is "nn::settings::system::NotificationFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== NotificationSettings ==  | |||
This is "nn::settings::system::NotificationSettings".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 flags. Bitmask with [[#NotificationFlag]].  | |||
|-  | |||
| 0x4 || 0x4 || s32 [[#NotificationVolume|volume]]  | |||
|-  | |||
| 0x8 || 0x8 || [[#NotificationTime]] start_time  | |||
|-  | |||
| 0x10 || 0x8 || [[#NotificationTime]] end_time  | |||
|-  | |||
|}  | |||
== AccountNotificationFlag ==  | |||
This is "nn::settings::system::AccountNotificationFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== AccountNotificationSettings ==  | |||
This is "nn::settings::system::AccountNotificationSettings".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x10 || [[Account_services|uid]]  | |||
|-  | |||
| 0x10 || 0x4 || u32 flags. Bitmask for [[#AccountNotificationFlag]].  | |||
|-  | |||
| 0x14 || 0x1 || s8 [[#FriendPresenceOverlayPermission|friend_presence_overlay_permission]]  | |||
|-  | |||
| 0x15 || 0x3 || Padding  | |||
|-  | |||
|}  | |||
== TvFlag ==  | |||
This is "nn::settings::system::TvFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== TvSettings ==  | |||
This is "nn::settings::system::TvSettings".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 flags. Bitmask with [[#TvFlag]].  | |||
|-  | |||
| 0x4 || 0x4 || s32 [[#TvResolution|tv_resolution]]  | |||
|-  | |||
| 0x8 || 0x4 || s32 [[#HdmiContentType|hdmi_content_type]]  | |||
|-  | |||
| 0xC || 0x4 || s32 [[#RgbRange|rgb_range]]  | |||
|-  | |||
| 0x10 || 0x4 || s32 [[#CmuMode|cmu_mode]]  | |||
|-  | |||
| 0x14 || 0x4 || u32 underscan  | |||
|-  | |||
| 0x18 || 0x4 || float gamma  | |||
|-  | |||
| 0x1C || 0x4 || float contrast  | |||
|-  | |||
|}  | |||
== DataDeletionFlag ==  | |||
This is "nn::settings::system::DataDeletionFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== DataDeletionSettings ==  | |||
This is "nn::settings::system::DataDeletionSettings".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 flags. Bitmask with [[#DataDeletionFlag]].  | |||
|-  | |||
| 0x4 || 0x4 || s32 use_count  | |||
|-  | |||
|}  | |||
== BatteryLot ==  | |||
This is "nn::settings::BatteryLot".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x18 || String.  | |||
|-  | |||
|}  | |||
== SleepFlag ==  | |||
This is "nn::settings::system::SleepFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== SleepSettings ==  | |||
This is "nn::settings::system::SleepSettings".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 flags. Bitmask for [[#SleepFlag]].  | |||
|-  | |||
| 0x4 || 0x4 || s32 [[#HandheldSleepPlan|handheld_sleep_plan]]  | |||
|-  | |||
| 0x8 || 0x4 || s32 [[#ConsoleSleepPlan|console_sleep_plan]]  | |||
|-  | |||
|}  | |||
== InitialLaunchFlag ==  | |||
This is "nn::settings::system::InitialLaunchFlag".  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
|}  | |||
== InitialLaunchSettings ==  | |||
This is "nn::settings::system::InitialLaunchSettings". This struct is 8-byte aligned.  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 flags. Bitmask for [[#InitialLaunchFlag]].  | |||
|-  | |||
| 0x4 || 0x4 || Padding  | |||
|-  | |||
| 0x8 || 0x18 || [[Glue_services|SteadyClockTimePoint]] timestamp  | |||
|-  | |||
|}  | |||
== RebootlessSystemUpdateVersion ==  | |||
This is "nn::settings::system::RebootlessSystemUpdateVersion". This struct is 4-byte aligned.  | |||
This is the content of the RebootlessSystemUpdateVersion SystemData, in the "/version" file.  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
! Offset || Size || Description  | |||
|-  | |||
| 0x0 || 0x4 || u32 version  | |||
|-  | |||
| 0x4 || 0x1C || Reserved  | |||
|-  | |||
| 0x20 || 0x20 || display_version string.  | |||
|-  | |||
|}  | |||
== PrimaryAlbumStorage ==  | |||
This is u32 enum "nn::settings::system::PrimaryAlbumStorage".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || Nand  | |||
|-  | |||
| 1 || SdCard  | |||
|}  | |||
== ErrorReportSharePermission ==  | |||
This is u32 enum "nn::settings::system::ErrorReportSharePermission".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 0 || NotConfirmed  | |||
|-  | |||
| 1 || Granted  | |||
|-  | |||
| 2 || Denied  | |||
|}  | |||
== ServiceDiscoveryControlSettings ==  | |||
This is a 32-bit bitfield.  | |||
{| class="wikitable" border="1"  | |||
!  Bits  | |||
!  Description  | |||
|-  | |||
| 0  | |||
| IsChangeEnvironmentIdentifierDisabled  | |||
|}  | |||
== AppletLaunchFlag ==  | |||
This is "nn::settings::system::AppletLaunchFlag". This is an u32 bitmask.  | |||
== KeyboardLayout ==  | |||
This is u32 enum "nn::settings::KeyboardLayout".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 1 || EnglishUs  | |||
|-  | |||
| 2 || EnglishUsInternational  | |||
|-  | |||
| 3 || EnglishUk  | |||
|-  | |||
| 4 || French  | |||
|-  | |||
| 5 || FrenchCa  | |||
|-  | |||
| 6 || Spanish  | |||
|-  | |||
| 7 || SpanishLatin  | |||
|-  | |||
| 8 || German  | |||
|-  | |||
| 9 || Italian  | |||
|-  | |||
| 10 || Portuguese  | |||
|-  | |||
| 11 || Russian  | |||
|-  | |||
| 12 || Korean  | |||
|-  | |||
| 13 || ChineseSimplified  | |||
|-  | |||
| 14 || ChineseTraditional  | |||
|}  | |||
== ChineseTraditionalInputMethod ==  | |||
This is u32 enum "nn::settings::ChineseTraditionalInputMethod".  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Value  | |||
!  Description  | |||
|-  | |||
| 1 ||   | |||
|-  | |||
| 2 ||   | |||
|}  | |||
== TouchScreenMode ==  | |||
This is "nn::settings::system::TouchScreenMode".  | |||
This is an u8. This controls "Touch-Screen Sensitivity", values:  | |||
* 0: Stylus.  | |||
* 1: Standard, the default.  | |||
*   | = System Config =  | ||
There's a common config title (*818), and a config title for each [[SMC#HardwareType|HardwareType]].  | |||
See [[System_Settings]].  | |||
[[Category:Services]]  | [[Category:Services]]  | ||