mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 04:22:50 +02:00
2611 lines
75 KiB
C
2611 lines
75 KiB
C
/**
|
|
* @file set.h
|
|
* @brief Settings services IPC wrapper.
|
|
* @author plutoo
|
|
* @author yellows8
|
|
* @author SciresM
|
|
* @copyright libnx Authors
|
|
*/
|
|
#pragma once
|
|
#include "../types.h"
|
|
#include "../kernel/event.h"
|
|
#include "../services/time.h"
|
|
#include "../services/acc.h"
|
|
#include "../services/fs.h"
|
|
#include "../services/btdrv_types.h"
|
|
#include "../services/btm_types.h"
|
|
#include "../sf/service.h"
|
|
|
|
#define SET_MAX_NAME_SIZE 0x48
|
|
|
|
typedef enum {
|
|
ColorSetId_Light = 0,
|
|
ColorSetId_Dark = 1,
|
|
} ColorSetId;
|
|
|
|
/// Console Product Models
|
|
typedef enum {
|
|
SetSysProductModel_Invalid = 0, ///< Invalid Model
|
|
SetSysProductModel_Nx = 1, ///< Erista Model
|
|
SetSysProductModel_Copper = 2, ///< Erista "Simulation" Model
|
|
SetSysProductModel_Iowa = 3, ///< Mariko Model
|
|
SetSysProductModel_Hoag = 4, ///< Mariko Lite Model
|
|
SetSysProductModel_Calcio = 5, ///< Mariko "Simulation" Model
|
|
SetSysProductModel_Aula = 6, ///< Mariko OLED Model
|
|
} SetSysProductModel;
|
|
|
|
/// IDs for Language.
|
|
typedef enum
|
|
{
|
|
SetLanguage_JA = 0, ///< Japanese
|
|
SetLanguage_ENUS = 1, ///< US English ("AmericanEnglish")
|
|
SetLanguage_FR = 2, ///< French
|
|
SetLanguage_DE = 3, ///< German
|
|
SetLanguage_IT = 4, ///< Italian
|
|
SetLanguage_ES = 5, ///< Spanish
|
|
SetLanguage_ZHCN = 6, ///< Simplified Chinese ("Chinese")
|
|
SetLanguage_KO = 7, ///< Korean
|
|
SetLanguage_NL = 8, ///< Dutch
|
|
SetLanguage_PT = 9, ///< Portuguese
|
|
SetLanguage_RU = 10, ///< Russian
|
|
SetLanguage_ZHTW = 11, ///< Traditional Chinese ("Taiwanese")
|
|
SetLanguage_ENGB = 12, ///< GB English ("BritishEnglish")
|
|
SetLanguage_FRCA = 13, ///< CA French ("CanadianFrench")
|
|
SetLanguage_ES419 = 14, ///< "LatinAmericanSpanish"
|
|
SetLanguage_ZHHANS = 15, ///< [4.0.0+] ChineseSimplified
|
|
SetLanguage_ZHHANT = 16, ///< [4.0.0+] ChineseTraditional
|
|
SetLanguage_PTBR = 17, ///< [10.1.0+] "BrazilianPortuguese"
|
|
SetLanguage_Total, ///< Total languages supported by this enum.
|
|
} SetLanguage;
|
|
|
|
/// Region codes.
|
|
typedef enum {
|
|
SetRegion_JPN = 0, ///< Japan
|
|
SetRegion_USA = 1, ///< The Americas
|
|
SetRegion_EUR = 2, ///< Europe
|
|
SetRegion_AUS = 3, ///< Australia/New Zealand
|
|
SetRegion_HTK = 4, ///< Hong Kong/Taiwan/Korea
|
|
SetRegion_CHN = 5, ///< China
|
|
} SetRegion;
|
|
|
|
/// ConnectionFlag
|
|
typedef enum {
|
|
SetSysConnectionFlag_ConnectAutomaticallyFlag = BIT(0),
|
|
SetSysConnectionFlag_Unknown = BIT(1),
|
|
} SetSysConnectionFlag;
|
|
|
|
/// AccessPointSecurityType
|
|
typedef enum {
|
|
SetSysAccessPointSecurityType_None = 0,
|
|
SetSysAccessPointSecurityType_Shared = 1,
|
|
SetSysAccessPointSecurityType_Wpa = 2,
|
|
SetSysAccessPointSecurityType_Wpa2 = 3,
|
|
} SetSysAccessPointSecurityType;
|
|
|
|
/// AccessPointSecurityStandard
|
|
typedef enum {
|
|
SetSysAccessPointSecurityStandard_None = 0,
|
|
SetSysAccessPointSecurityStandard_Wep = 1,
|
|
SetSysAccessPointSecurityStandard_Wpa = 2,
|
|
} SetSysAccessPointSecurityStandard;
|
|
|
|
/// AutoSettings
|
|
typedef enum {
|
|
SetSysAutoSettings_AutoIp = BIT(0),
|
|
SetSysAutoSettings_AutoDns = BIT(1),
|
|
} SetSysAutoSettings;
|
|
|
|
/// ProxyFlags
|
|
typedef enum {
|
|
SetSysProxyFlags_UseProxyFlag = BIT(0),
|
|
SetSysProxyFlags_ProxyAutoAuthenticateFlag = BIT(1),
|
|
} SetSysProxyFlags;
|
|
|
|
/// UserSelectorFlag
|
|
typedef enum {
|
|
SetSysUserSelectorFlag_SkipsIfSingleUser = BIT(0),
|
|
} SetSysUserSelectorFlag;
|
|
|
|
/// EulaVersionClockType
|
|
typedef enum {
|
|
SetSysEulaVersionClockType_NetworkSystemClock = 0,
|
|
SetSysEulaVersionClockType_SteadyClock = 1,
|
|
} SetSysEulaVersionClockType;
|
|
|
|
/// NotificationVolume
|
|
typedef enum {
|
|
SetSysNotificationVolume_Mute = 0,
|
|
SetSysNotificationVolume_Low = 1,
|
|
SetSysNotificationVolume_High = 2,
|
|
} SetSysNotificationVolume;
|
|
|
|
/// FriendPresenceOverlayPermission
|
|
typedef enum {
|
|
SetSysFriendPresenceOverlayPermission_NotConfirmed = 0,
|
|
SetSysFriendPresenceOverlayPermission_NoDisplay = 1,
|
|
SetSysFriendPresenceOverlayPermission_FavoriteFriends = 2,
|
|
SetSysFriendPresenceOverlayPermission_Friends = 3,
|
|
} SetSysFriendPresenceOverlayPermission;
|
|
|
|
/// AudioDevice
|
|
typedef enum {
|
|
SetSysAudioDevice_Console = 0,
|
|
SetSysAudioDevice_Headphone = 1,
|
|
SetSysAudioDevice_Tv = 2,
|
|
} SetSysAudioDevice;
|
|
|
|
/// PrimaryAlbumStorage
|
|
typedef enum {
|
|
SetSysPrimaryAlbumStorage_Nand = 0,
|
|
SetSysPrimaryAlbumStorage_SdCard = 1,
|
|
} SetSysPrimaryAlbumStorage;
|
|
|
|
/// HandheldSleepPlan
|
|
typedef enum {
|
|
SetSysHandheldSleepPlan_1Min = 0,
|
|
SetSysHandheldSleepPlan_3Min = 1,
|
|
SetSysHandheldSleepPlan_5Min = 2,
|
|
SetSysHandheldSleepPlan_10Min = 3,
|
|
SetSysHandheldSleepPlan_30Min = 4,
|
|
SetSysHandheldSleepPlan_Never = 5,
|
|
} SetSysHandheldSleepPlan;
|
|
|
|
/// ConsoleSleepPlan
|
|
typedef enum {
|
|
SetSysConsoleSleepPlan_1Hour = 0,
|
|
SetSysConsoleSleepPlan_2Hour = 1,
|
|
SetSysConsoleSleepPlan_3Hour = 2,
|
|
SetSysConsoleSleepPlan_6Hour = 3,
|
|
SetSysConsoleSleepPlan_12Hour = 4,
|
|
SetSysConsoleSleepPlan_Never = 5,
|
|
} SetSysConsoleSleepPlan;
|
|
|
|
/// AudioOutputModeTarget
|
|
typedef enum {
|
|
SetSysAudioOutputModeTarget_Unknown0 = 0,
|
|
SetSysAudioOutputModeTarget_Unknown1 = 1,
|
|
SetSysAudioOutputModeTarget_Unknown2 = 2,
|
|
SetSysAudioOutputModeTarget_Unknown3 = 3,
|
|
} SetSysAudioOutputModeTarget;
|
|
|
|
/// AudioOutputMode
|
|
typedef enum {
|
|
SetSysAudioOutputMode_Unknown1 = 1 ///< Default value.
|
|
} SetSysAudioOutputMode;
|
|
|
|
/// ServiceDiscoveryControlSettings
|
|
typedef enum {
|
|
SetSysServiceDiscoveryControlSettings_IsChangeEnvironmentIdentifierDisabled = BIT(0),
|
|
} SetSysServiceDiscoveryControlSettings;
|
|
|
|
/// ErrorReportSharePermission
|
|
typedef enum {
|
|
SetSysErrorReportSharePermission_NotConfirmed = 0,
|
|
SetSysErrorReportSharePermission_Granted = 1,
|
|
SetSysErrorReportSharePermission_Denied = 2,
|
|
} SetSysErrorReportSharePermission;
|
|
|
|
/// KeyboardLayout
|
|
typedef enum {
|
|
SetKeyboardLayout_Japanese = 0,
|
|
SetKeyboardLayout_EnglishUs = 1,
|
|
SetKeyboardLayout_EnglishUsInternational = 2,
|
|
SetKeyboardLayout_EnglishUk = 3,
|
|
SetKeyboardLayout_French = 4,
|
|
SetKeyboardLayout_FrenchCa = 5,
|
|
SetKeyboardLayout_Spanish = 6,
|
|
SetKeyboardLayout_SpanishLatin = 7,
|
|
SetKeyboardLayout_German = 8,
|
|
SetKeyboardLayout_Italian = 9,
|
|
SetKeyboardLayout_Portuguese = 10,
|
|
SetKeyboardLayout_Russian = 11,
|
|
SetKeyboardLayout_Korean = 12,
|
|
SetKeyboardLayout_ChineseSimplified = 13,
|
|
SetKeyboardLayout_ChineseTraditional = 14,
|
|
} SetKeyboardLayout;
|
|
|
|
/// ChineseTraditionalInputMethod
|
|
typedef enum {
|
|
SetChineseTraditionalInputMethod_Unknown1 = 1,
|
|
SetChineseTraditionalInputMethod_Unknown2 = 2,
|
|
} SetChineseTraditionalInputMethod;
|
|
|
|
/// PtmCycleCountReliability
|
|
typedef enum {
|
|
PtmCycleCountReliability_Default = 0,
|
|
PtmCycleCountReliability_Unk = 1,
|
|
} SetSysPtmCycleCountReliability;
|
|
|
|
/// PlatformRegion. Other values not listed here should be handled as "Unknown".
|
|
typedef enum {
|
|
SetSysPlatformRegion_Global = 1,
|
|
SetSysPlatformRegion_China = 2,
|
|
} SetSysPlatformRegion;
|
|
|
|
/// TouchScreenMode, for "Touch-Screen Sensitivity".
|
|
typedef enum {
|
|
SetSysTouchScreenMode_Stylus = 0, ///< Stylus.
|
|
SetSysTouchScreenMode_Standard = 1, ///< Standard, the default.
|
|
} SetSysTouchScreenMode;
|
|
|
|
/// BlockType
|
|
typedef enum {
|
|
SetSysBlockType_Audio = 1,
|
|
SetSysBlockType_Video = 2,
|
|
SetSysBlockType_VendorSpecific = 3,
|
|
SetSysBlockType_Speaker = 4,
|
|
} SetSysBlockType;
|
|
|
|
/// ControllerType
|
|
typedef enum {
|
|
SetSysControllerType_JoyConR = 1,
|
|
SetSysControllerType_JoyConL = 2,
|
|
SetSysControllerType_ProCon = 3,
|
|
} SetSysControllerType;
|
|
|
|
/// BatteryLot
|
|
typedef struct {
|
|
char lot[0x18]; ///< BatteryLot string.
|
|
} SetBatteryLot;
|
|
|
|
/// NetworkSettings
|
|
typedef struct {
|
|
char name[0x40];
|
|
Uuid uuid;
|
|
u32 connection_flags; ///< Bitmask with \ref SetSysConnectionFlag.
|
|
u32 wired_flag;
|
|
u32 connect_to_hidden_network; ///< Bitmask with UseStealthNetworkFlag.
|
|
char access_point_ssid[0x20];
|
|
u32 access_point_ssid_len;
|
|
u32 access_point_security_type; ///< Bitmask with \ref SetSysAccessPointSecurityType.
|
|
u32 access_point_security_standard; ///< Bitmask with \ref SetSysAccessPointSecurityStandard.
|
|
char access_point_passphrase[0x40];
|
|
u32 access_point_passphrase_len;
|
|
u32 auto_settings; ///< Bitmask with \ref SetSysAutoSettings.
|
|
u32 manual_ip_address;
|
|
u32 manual_subnet_mask;
|
|
u32 manual_gateway;
|
|
u32 primary_dns;
|
|
u32 secondary_dns;
|
|
u32 proxy_flags; ///< Bitmask with \ref SetSysProxyFlags.
|
|
char proxy_server[0x80];
|
|
u16 proxy_port;
|
|
u16 padding1;
|
|
char proxy_autoauth_user[0x20];
|
|
char proxy_autoauth_pass[0x20];
|
|
u16 mtu;
|
|
u16 padding2;
|
|
} SetSysNetworkSettings;
|
|
|
|
/// LcdBacklightBrightnessMapping
|
|
typedef struct {
|
|
float brightness_applied_to_backlight;
|
|
float ambient_light_sensor_value;
|
|
float unk_x8;
|
|
} SetSysLcdBacklightBrightnessMapping;
|
|
|
|
/// BacklightSettings
|
|
typedef struct {
|
|
u32 auto_brightness_flags;
|
|
float screen_brightness;
|
|
SetSysLcdBacklightBrightnessMapping brightness_mapping;
|
|
float unk_x14;
|
|
float unk_x18;
|
|
float unk_x1C;
|
|
float unk_x20;
|
|
float unk_x24;
|
|
} SetSysBacklightSettings;
|
|
|
|
/// BacklightSettingsEx
|
|
typedef struct {
|
|
u32 auto_brightness_flags;
|
|
float screen_brightness;
|
|
float current_brightness_for_vr_mode;
|
|
SetSysLcdBacklightBrightnessMapping brightness_mapping;
|
|
float unk_x18;
|
|
float unk_x1C;
|
|
float unk_x20;
|
|
float unk_x24;
|
|
float unk_x28;
|
|
} SetSysBacklightSettingsEx;
|
|
|
|
/// BluetoothDevicesSettings
|
|
typedef struct {
|
|
BtdrvAddress addr; ///< \ref BtdrvAddress
|
|
BtmBdName name; ///< [1.0.0-12.1.0] BdName. On 13.0.0+ name2 is used instead.
|
|
BtmClassOfDevice class_of_device; ///< ClassOfDevice
|
|
u8 link_key[0x10]; ///< LinkKey
|
|
u8 link_key_present; ///< LinkKeyPresent
|
|
u16 version; ///< Version
|
|
u32 trusted_services; ///< TrustedServices
|
|
u16 vid; ///< Vid
|
|
u16 pid; ///< Pid
|
|
u8 sub_class; ///< SubClass
|
|
u8 attribute_mask; ///< AttributeMask
|
|
u16 descriptor_length; ///< DescriptorLength
|
|
u8 descriptor[0x80]; ///< Descriptor
|
|
u8 key_type; ///< KeyType
|
|
u8 device_type; ///< DeviceType
|
|
u16 brr_size; ///< BrrSize
|
|
u8 brr[0x9]; ///< Brr
|
|
u8 audio_source_volume; ///< [13.0.0+] AudioSourceVolume
|
|
char name2[0xF9]; ///< [13.0.0+] Name
|
|
u8 audio_sink_volume; ///< [15.0.0+] AudioSinkVolume
|
|
u32 audio_flags; ///< [14.0.0+] AudioFlags
|
|
u8 reserved[0x2C]; ///< Reserved
|
|
} SetSysBluetoothDevicesSettings;
|
|
|
|
/// Structure returned by \ref setsysGetFirmwareVersion.
|
|
typedef struct {
|
|
u8 major;
|
|
u8 minor;
|
|
u8 micro;
|
|
u8 padding1;
|
|
u8 revision_major;
|
|
u8 revision_minor;
|
|
u8 padding2;
|
|
u8 padding3;
|
|
char platform[0x20];
|
|
char version_hash[0x40];
|
|
char display_version[0x18];
|
|
char display_title[0x80];
|
|
} SetSysFirmwareVersion;
|
|
|
|
/// Structure returned by \ref setsysGetFirmwareVersionDigest.
|
|
typedef struct {
|
|
char digest[0x40];
|
|
} SetSysFirmwareVersionDigest;
|
|
|
|
/// Structure returned by \ref setsysGetSerialNumber.
|
|
typedef struct {
|
|
char number[0x18];
|
|
} SetSysSerialNumber;
|
|
|
|
/// DeviceNickName
|
|
typedef struct {
|
|
char nickname[0x80];
|
|
} SetSysDeviceNickName;
|
|
|
|
/// UserSelectorSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with \ref SetSysUserSelectorFlag.
|
|
} SetSysUserSelectorSettings;
|
|
|
|
/// AccountSettings
|
|
typedef struct {
|
|
SetSysUserSelectorSettings settings;
|
|
} SetSysAccountSettings;
|
|
|
|
typedef struct {
|
|
u32 unk_x0; ///< 0 for Console and Tv, 2 for Headphones.
|
|
u8 volume; ///< From 0-15.
|
|
} SetSysAudioVolume;
|
|
|
|
/// EulaVersion
|
|
typedef struct {
|
|
u32 version;
|
|
s32 region_code;
|
|
s32 clock_type; ///< \ref SetSysEulaVersionClockType
|
|
u32 pad;
|
|
u64 network_clock_time; ///< POSIX timestamp.
|
|
TimeSteadyClockTimePoint steady_clock_time; ///< \ref TimeSteadyClockTimePoint
|
|
} SetSysEulaVersion;
|
|
|
|
/// NotificationTime
|
|
typedef struct {
|
|
s32 hour;
|
|
s32 minute;
|
|
} SetSysNotificationTime;
|
|
|
|
/// NotificationSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with NotificationFlag.
|
|
s32 volume; ///< \ref SetSysNotificationVolume
|
|
SetSysNotificationTime start_time; ///< \ref SetSysNotificationTime
|
|
SetSysNotificationTime end_time; ///< \ref SetSysNotificationTime
|
|
} SetSysNotificationSettings;
|
|
|
|
/// AccountNotificationSettings
|
|
typedef struct {
|
|
AccountUid uid; ///< \ref AccountUid
|
|
u32 flags; ///< Bitmask with AccountNotificationFlag.
|
|
s8 friend_presence_overlay_permission; ///< \ref SetSysFriendPresenceOverlayPermission
|
|
u8 pad[3]; ///< Padding.
|
|
} SetSysAccountNotificationSettings;
|
|
|
|
/// TvSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with TvFlag.
|
|
s32 tv_resolution; ///< \ref SetSysTvResolution
|
|
s32 hdmi_content_type; ///< \ref SetSysHdmiContentType
|
|
s32 rgb_range; ///< \ref SetSysRgbRange
|
|
s32 cmu_mode; ///< \ref SetSysCmuMode
|
|
u32 underscan; ///< Underscan.
|
|
float gamma; ///< Gamma.
|
|
float contrast; ///< Contrast.
|
|
} SetSysTvSettings;
|
|
|
|
typedef struct {
|
|
u16 pixel_clock; ///< In 10 kHz units.
|
|
u8 horizontal_active_pixels_lsb;
|
|
u8 horizontal_blanking_pixels_lsb;
|
|
u8 horizontal_blanking_pixels_msb : 4;
|
|
u8 horizontal_active_pixels_msb : 4;
|
|
u8 vertical_active_lines_lsb;
|
|
u8 vertical_blanking_lines_lsb;
|
|
u8 vertical_blanking_lines_msb : 4;
|
|
u8 vertical_active_lines_msb : 4;
|
|
u8 horizontal_sync_offset_pixels_lsb;
|
|
u8 horizontal_sync_pulse_width_pixels_lsb;
|
|
u8 vertical_sync_pulse_width_lines_lsb : 4;
|
|
u8 vertical_sync_offset_lines_lsb : 4;
|
|
u8 vertical_sync_pulse_width_lines_msb : 2;
|
|
u8 vertical_sync_offset_lines_msb : 2;
|
|
u8 horizontal_sync_pulse_width_pixels_msb : 2;
|
|
u8 horizontal_sync_offset_pixels_msb : 2;
|
|
u8 horizontal_image_size_mm_lsb;
|
|
u8 vertical_image_size_mm_lsb;
|
|
u8 vertical_image_size_mm_msb : 4;
|
|
u8 horizontal_image_size_mm_msb : 4;
|
|
u8 horizontal_border_pixels;
|
|
u8 vertical_border_lines;
|
|
u8 features_bitmap_0 : 1;
|
|
u8 features_bitmap_1 : 1;
|
|
u8 features_bitmap_2 : 1;
|
|
u8 features_bitmap_34 : 2;
|
|
u8 features_bitmap_56 : 2;
|
|
u8 interlaced : 1;
|
|
} SetSysModeLine;
|
|
|
|
typedef struct {
|
|
struct {
|
|
u8 size : 5;
|
|
SetSysBlockType block_type : 3;
|
|
struct {
|
|
u8 svd_index : 7;
|
|
u8 native_flag : 1;
|
|
} svd[0xC];
|
|
} NX_PACKED video;
|
|
struct {
|
|
u8 size : 5;
|
|
SetSysBlockType block_type : 3;
|
|
u8 channel_count : 3;
|
|
u8 format_code : 4;
|
|
u8 padding1 : 1;
|
|
u8 sampling_rates_bitmap;
|
|
u8 bitrate;
|
|
} NX_PACKED audio;
|
|
struct {
|
|
u8 size : 5;
|
|
SetSysBlockType block_type : 3;
|
|
u8 ieee_registration_id[3];
|
|
u16 source_physical_address;
|
|
u8 mode_bitmap;
|
|
u8 max_tmds_frequency;
|
|
u8 latency_bitmap;
|
|
} NX_PACKED vendor_specific;
|
|
u8 padding[2];
|
|
} SetSysDataBlock;
|
|
|
|
/// Edid
|
|
typedef struct {
|
|
u8 pattern[8]; ///< Fixed pattern 00 FF FF FF FF FF FF 00.
|
|
u16 pnp_id; ///< Big-endian set of 3 5-bit values representing letters, 1 = A .. 26 = Z.
|
|
u16 product_code;
|
|
u32 serial_number;
|
|
u8 manufacture_week;
|
|
u8 manufacture_year; ///< Real value is val - 10.
|
|
u8 edid_version;
|
|
u8 edid_revision;
|
|
u8 video_input_parameters_bitmap;
|
|
u8 display_width;
|
|
u8 display_height;
|
|
u8 display_gamma;
|
|
u8 supported_features_bitmap;
|
|
struct {
|
|
u8 green_y_lsb : 2;
|
|
u8 green_x_lsb : 2;
|
|
u8 red_y_lsb : 2;
|
|
u8 red_x_lsb : 2;
|
|
u8 blue_lsb : 4;
|
|
u8 white_lsb : 4;
|
|
u8 red_x_msb;
|
|
u8 red_y_msb;
|
|
u8 green_x_msb;
|
|
u8 green_y_msb;
|
|
u8 blue_x_msb;
|
|
u8 blue_y_msb;
|
|
u8 white_x_msb;
|
|
u8 white_y_msb;
|
|
} chromaticity;
|
|
u8 timing_bitmap[3];
|
|
struct {
|
|
u8 x_resolution; ///< Real value is (val + 31) * 8 pixels.
|
|
u8 vertical_frequency : 6; ///< Real value is val + 60 Hz.
|
|
u8 aspect_ratio : 2; ///< 0 = 16:10, 1 = 4:3, 2 = 5:4, 3 = 16:9.
|
|
} timing_info[8];
|
|
SetSysModeLine timing_descriptor[2];
|
|
struct {
|
|
u16 display_descriptor_zero;
|
|
u8 padding1;
|
|
u8 descriptor_type;
|
|
u8 padding2;
|
|
char name[0xD];
|
|
} display_descriptor_name;
|
|
struct {
|
|
u16 display_descriptor_zero;
|
|
u8 padding1;
|
|
u8 descriptor_type;
|
|
u8 range_limit_offsets;
|
|
u8 vertical_field_rate_min;
|
|
u8 vertical_field_rate_max;
|
|
u8 horizontal_line_rate_min;
|
|
u8 horizontal_line_rate_max;
|
|
u8 pixel_clock_rate_max; ///< Rounded up to multiples of 10 MHz.
|
|
u8 extended_timing_info;
|
|
u8 padding[7];
|
|
} display_descriptor_range_limits;
|
|
u8 extension_count; ///< Always 1.
|
|
u8 checksum; ///< Sum of all 128 bytes should equal 0 mod 256.
|
|
///< Extended data.
|
|
u8 extension_tag; ///< Always 2 = CEA EDID timing extension.
|
|
u8 revision;
|
|
u8 dtd_start;
|
|
u8 native_dtd_count : 4;
|
|
u8 native_dtd_feature_bitmap : 4;
|
|
SetSysDataBlock data_block;
|
|
SetSysModeLine extended_timing_descriptor[5];
|
|
u8 padding[5];
|
|
u8 extended_checksum; ///< Sum of 128 extended bytes should equal 0 mod 256.
|
|
u8 data2[0x80]; ///< [13.0.0+]
|
|
u8 data3[0x80]; ///< [13.0.0+]
|
|
} SetSysEdid;
|
|
|
|
/// DataDeletionSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with DataDeletionFlag.
|
|
s32 use_count; ///< Use count.
|
|
} SetSysDataDeletionSettings;
|
|
|
|
/// SleepSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with SleepFlag.
|
|
s32 handheld_sleep_plan; ///< \ref SetSysHandheldSleepPlan
|
|
s32 console_sleep_plan; ///< \ref SetSysConsoleSleepPlan
|
|
} SetSysSleepSettings;
|
|
|
|
/// InitialLaunchSettings
|
|
typedef struct {
|
|
u32 flags; ///< Bitmask with InitialLaunchFlag.
|
|
u32 pad; ///< Padding.
|
|
TimeSteadyClockTimePoint timestamp; ///< \ref TimeSteadyClockTimePoint timestamp.
|
|
} SetSysInitialLaunchSettings;
|
|
|
|
/// PtmFuelGaugeParameter
|
|
typedef struct {
|
|
u16 rcomp0;
|
|
u16 tempc0;
|
|
u16 fullcap;
|
|
u16 fullcapnom;
|
|
u16 lavgempty;
|
|
u16 qresidual00;
|
|
u16 qresidual10;
|
|
u16 qresidual20;
|
|
u16 qresidual30;
|
|
u16 cycles; ///< Normally keeps the cycles reg. Unused and contains stack garbage.
|
|
u32 cycles_actual; ///< Keeps track of cycles. The fuel gauge cycles reg is reset if > 2.00 cycles and added here.
|
|
} SetSysPtmFuelGaugeParameter;
|
|
|
|
/// Actually nn::util::Color4u8Type.
|
|
typedef struct {
|
|
u8 field[4];
|
|
} SetSysColor4u8Type;
|
|
|
|
/// NxControllerLegacySettings
|
|
typedef struct {
|
|
BtdrvAddress address;
|
|
u8 type; ///< \ref SetSysControllerType.
|
|
char serial[0x10];
|
|
SetSysColor4u8Type body_color;
|
|
SetSysColor4u8Type button_color;
|
|
u8 unk_x1F[8];
|
|
u8 unk_x27;
|
|
u8 interface_type; ///< Bitmask with \ref XcdInterfaceType.
|
|
} SetSysNxControllerLegacySettings;
|
|
|
|
/// NxControllerSettings
|
|
typedef struct {
|
|
BtdrvAddress address;
|
|
u8 type; ///< \ref SetSysControllerType.
|
|
char serial[0x10];
|
|
SetSysColor4u8Type body_color;
|
|
SetSysColor4u8Type button_color;
|
|
u8 unk_x1F[8];
|
|
u8 unk_x27;
|
|
u8 interface_type; ///< Bitmask with \ref XcdInterfaceType.
|
|
u8 unk_x29[0x403]; ///< Unknown
|
|
} SetSysNxControllerSettings;
|
|
|
|
/// ConsoleSixAxisSensorAccelerationBias
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
} SetSysConsoleSixAxisSensorAccelerationBias;
|
|
|
|
/// ConsoleSixAxisSensorAngularVelocityBias
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
} SetSysConsoleSixAxisSensorAngularVelocityBias;
|
|
|
|
/// ConsoleSixAxisSensorAccelerationGain
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
float unk_xC;
|
|
float unk_x10;
|
|
float unk_x14;
|
|
float unk_x18;
|
|
float unk_x1C;
|
|
float unk_x20;
|
|
} SetSysConsoleSixAxisSensorAccelerationGain;
|
|
|
|
/// ConsoleSixAxisSensorAngularVelocityGain
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
float unk_xC;
|
|
float unk_x10;
|
|
float unk_x14;
|
|
float unk_x18;
|
|
float unk_x1C;
|
|
float unk_x20;
|
|
} SetSysConsoleSixAxisSensorAngularVelocityGain;
|
|
|
|
/// AllowedSslHosts
|
|
typedef struct {
|
|
u8 hosts[0x100];
|
|
} SetSysAllowedSslHosts;
|
|
|
|
/// HostFsMountPoint
|
|
typedef struct {
|
|
char mount[0x100];
|
|
} SetSysHostFsMountPoint;
|
|
|
|
/// BlePairingSettings
|
|
typedef struct {
|
|
BtdrvAddress address;
|
|
u16 unk_x6;
|
|
u16 unk_x8;
|
|
u8 unk_xA;
|
|
u8 unk_xB;
|
|
u8 unk_xC;
|
|
u8 unk_xD;
|
|
u8 unk_xE;
|
|
u8 unk_xF;
|
|
u8 padding[0x70];
|
|
} SetSysBlePairingSettings;
|
|
|
|
/// ConsoleSixAxisSensorAngularVelocityTimeBias
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
} SetSysConsoleSixAxisSensorAngularVelocityTimeBias;
|
|
|
|
/// ConsoleSixAxisSensorAngularAcceleration
|
|
typedef struct {
|
|
float unk_x0;
|
|
float unk_x4;
|
|
float unk_x8;
|
|
float unk_xC;
|
|
float unk_x10;
|
|
float unk_x14;
|
|
float unk_x18;
|
|
float unk_x1C;
|
|
float unk_x20;
|
|
} SetSysConsoleSixAxisSensorAngularAcceleration;
|
|
|
|
/// RebootlessSystemUpdateVersion. This is the content of the RebootlessSystemUpdateVersion SystemData, in the "/version" file.
|
|
typedef struct {
|
|
u32 version;
|
|
u8 reserved[0x1c];
|
|
char display_version[0x20];
|
|
} SetSysRebootlessSystemUpdateVersion;
|
|
|
|
/// AccountOnlineStorageSettings
|
|
typedef struct {
|
|
AccountUid uid; ///< \ref AccountUid
|
|
u32 unk_x10;
|
|
u32 unk_x14;
|
|
} SetSysAccountOnlineStorageSettings;
|
|
|
|
/// AnalogStickUserCalibration
|
|
typedef struct {
|
|
u16 unk_x0;
|
|
u16 unk_x2;
|
|
u16 unk_x4;
|
|
u16 unk_x6;
|
|
u16 unk_x8;
|
|
u16 unk_xA;
|
|
u16 unk_xC;
|
|
u16 unk_xE;
|
|
} SetSysAnalogStickUserCalibration;
|
|
|
|
/// ThemeId
|
|
typedef struct {
|
|
u64 theme_id[0x10];
|
|
} SetSysThemeId;
|
|
|
|
/// ThemeSettings
|
|
typedef struct {
|
|
u64 theme_settings;
|
|
} SetSysThemeSettings;
|
|
|
|
/// Output from \ref setsysGetHomeMenuScheme. This contains RGBA8 colors which correspond with the physical shell of the system.
|
|
typedef struct {
|
|
u32 main_color; ///< Main Color.
|
|
u32 back_color; ///< Back Color.
|
|
u32 sub_color; ///< Sub Color.
|
|
u32 bezel_color; ///< Bezel Color.
|
|
u32 extra_color; ///< Extra Color.
|
|
} SetSysHomeMenuScheme;
|
|
|
|
/// ButtonConfigSettings
|
|
typedef struct {
|
|
u8 settings[0x5A8];
|
|
} SetSysButtonConfigSettings;
|
|
|
|
/// ButtonConfigRegisteredSettings
|
|
typedef struct {
|
|
u8 settings[0x5C8];
|
|
} SetSysButtonConfigRegisteredSettings;
|
|
|
|
typedef struct {
|
|
u8 offset[0x6];
|
|
} SetCalAccelerometerOffset;
|
|
|
|
typedef struct {
|
|
u8 scale[0x6];
|
|
} SetCalAccelerometerScale;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 cert[0x70];
|
|
} SetCalAmiiboEcdsaCertificate;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 cert[0x20];
|
|
} SetCalAmiiboEcqvBlsCertificate;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 key[0x40];
|
|
u32 generation;
|
|
} SetCalAmiiboEcqvBlsKey;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 cert[0x90];
|
|
} SetCalAmiiboEcqvBlsRootCertificate;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 cert[0x14];
|
|
} SetCalAmiiboEcqvCertificate;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 key[0x50];
|
|
u32 generation;
|
|
} SetCalAmiiboKey;
|
|
|
|
typedef struct {
|
|
u8 calibration[0x9];
|
|
} SetCalAnalogStickFactoryCalibration;
|
|
|
|
typedef struct {
|
|
u8 parameter[0x12];
|
|
} SetCalAnalogStickModelParameter;
|
|
|
|
typedef struct {
|
|
u8 bd_addr[0x6];
|
|
} SetCalBdAddress;
|
|
|
|
typedef struct {
|
|
u8 cfg[0x1E];
|
|
} SetCalConfigurationId1;
|
|
|
|
typedef struct {
|
|
u8 offset[0x6];
|
|
} SetCalConsoleSixAxisSensorHorizontalOffset;
|
|
|
|
typedef struct {
|
|
char code[0x3]; ///< Country code.
|
|
} SetCalCountryCode;
|
|
|
|
typedef struct {
|
|
u8 cert[0x180];
|
|
} SetCalEccB233DeviceCertificate;
|
|
|
|
typedef struct {
|
|
u32 size;
|
|
u8 key[0x50];
|
|
u32 generation;
|
|
} SetCalEccB233DeviceKey;
|
|
|
|
typedef struct {
|
|
u8 cert[0x400];
|
|
} SetCalGameCardCertificate;
|
|
|
|
typedef struct {
|
|
u32 size; ///< Size of the entire key.
|
|
u8 key[0x130];
|
|
u32 generation;
|
|
} SetCalGameCardKey;
|
|
|
|
typedef struct {
|
|
u8 offset[0x6];
|
|
} SetCalGyroscopeOffset;
|
|
|
|
typedef struct {
|
|
u8 scale[0x6];
|
|
} SetCalGyroscopeScale;
|
|
|
|
typedef struct {
|
|
u8 addr[0x6]; ///< Mac address.
|
|
} SetCalMacAddress;
|
|
|
|
typedef struct {
|
|
u8 cert[0x240];
|
|
} SetCalRsa2048DeviceCertificate;
|
|
|
|
typedef struct {
|
|
u32 size; ///< Size of the entire key.
|
|
u8 key[0x240];
|
|
u32 generation;
|
|
} SetCalRsa2048DeviceKey;
|
|
|
|
typedef SetSysSerialNumber SetCalSerialNumber;
|
|
|
|
typedef struct {
|
|
u8 parameter[0x5A];
|
|
} SetCalSpeakerParameter;
|
|
|
|
typedef struct {
|
|
u32 size; ///< Size of the certificate data.
|
|
u8 cert[0x800];
|
|
} SetCalSslCertificate;
|
|
|
|
typedef struct {
|
|
u32 size; ///< Size of the entire key.
|
|
u8 key[0x130];
|
|
u32 generation;
|
|
} SetCalSslKey;
|
|
|
|
typedef struct {
|
|
u32 code; ///< Region code.
|
|
} SetCalRegionCode;
|
|
|
|
/// Initialize set.
|
|
Result setInitialize(void);
|
|
|
|
/// Exit set.
|
|
void setExit(void);
|
|
|
|
/// Gets the Service object for the actual set service session.
|
|
Service* setGetServiceSession(void);
|
|
|
|
/// Converts LanguageCode to \ref SetLanguage.
|
|
Result setMakeLanguage(u64 LanguageCode, SetLanguage *Language);
|
|
|
|
/// Converts \ref SetLanguage to LanguageCode.
|
|
Result setMakeLanguageCode(SetLanguage Language, u64 *LanguageCode);
|
|
|
|
/// Gets the current system LanguageCode.
|
|
/// Normally this should be used instead of \ref setGetLanguageCode.
|
|
/// LanguageCode is a string, see here: https://switchbrew.org/wiki/Settings_services#LanguageCode
|
|
Result setGetSystemLanguage(u64 *LanguageCode);
|
|
|
|
/// Gets the current LanguageCode, \ref setGetSystemLanguage should be used instead normally.
|
|
Result setGetLanguageCode(u64 *LanguageCode);
|
|
|
|
/// Gets available LanguageCodes.
|
|
/// On system-version <4.0.0, max_entries is set to the output from \ref setGetAvailableLanguageCodeCount if max_entries is larger than that.
|
|
Result setGetAvailableLanguageCodes(s32 *total_entries, u64 *LanguageCodes, size_t max_entries);
|
|
|
|
/// Gets total available LanguageCodes.
|
|
/// Output total is overridden with value 0 if the total is <0.
|
|
Result setGetAvailableLanguageCodeCount(s32 *total);
|
|
|
|
/// Gets the RegionCode.
|
|
Result setGetRegionCode(SetRegion *out);
|
|
|
|
/**
|
|
* @brief GetQuestFlag
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setGetQuestFlag(bool *out);
|
|
|
|
/**
|
|
* @brief Gets the system's nickname.
|
|
* @note Only available on [10.1.0+].
|
|
* @param[out] nickname \ref SetSysDeviceNickName
|
|
*/
|
|
Result setGetDeviceNickname(SetSysDeviceNickName *nickname);
|
|
|
|
/// Initialize setsys.
|
|
Result setsysInitialize(void);
|
|
|
|
/// Exit setsys.
|
|
void setsysExit(void);
|
|
|
|
/// Gets the Service object for the actual setsys service session.
|
|
Service* setsysGetServiceSession(void);
|
|
|
|
/**
|
|
* @brief SetLanguageCode
|
|
* @param[in] LanguageCode LanguageCode.
|
|
*/
|
|
Result setsysSetLanguageCode(u64 LanguageCode);
|
|
|
|
/**
|
|
* @brief SetNetworkSettings
|
|
* @param[in] settings Input array of \ref SetSysNetworkSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetNetworkSettings(const SetSysNetworkSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetNetworkSettings
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] versions Output array of \ref SetSysNetworkSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetNetworkSettings(s32 *total_out, SetSysNetworkSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief Gets the system firmware version.
|
|
* @param[out] out Firmware version to populate.
|
|
*/
|
|
Result setsysGetFirmwareVersion(SetSysFirmwareVersion *out);
|
|
|
|
/**
|
|
* @brief GetFirmwareVersionDigest
|
|
* @param[out] out \ref SetSysFirmwareVersionDigest
|
|
*/
|
|
Result setsysGetFirmwareVersionDigest(SetSysFirmwareVersionDigest *out);
|
|
|
|
/**
|
|
* @brief GetLockScreenFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetLockScreenFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetLockScreenFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetLockScreenFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetBacklightSettings
|
|
* @param[out] out \ref SetSysBacklightSettings
|
|
*/
|
|
Result setsysGetBacklightSettings(SetSysBacklightSettings *out);
|
|
|
|
/**
|
|
* @brief SetBacklightSettings
|
|
* @param[in] settings \ref SetSysBacklightSettings
|
|
*/
|
|
Result setsysSetBacklightSettings(const SetSysBacklightSettings *settings);
|
|
|
|
/**
|
|
* @brief SetBluetoothDevicesSettings
|
|
* @param[in] settings Input array of \ref SetSysBluetoothDevicesSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetBluetoothDevicesSettings(const SetSysBluetoothDevicesSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetBluetoothDevicesSettings
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysBluetoothDevicesSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetBluetoothDevicesSettings(s32 *total_out, SetSysBluetoothDevicesSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetExternalSteadyClockSourceId
|
|
* @param[out] out \ref Uuid
|
|
*/
|
|
Result setsysGetExternalSteadyClockSourceId(Uuid *out);
|
|
|
|
/**
|
|
* @brief SetExternalSteadyClockSourceId
|
|
* @param[in] uuid \ref Uuid
|
|
*/
|
|
Result setsysSetExternalSteadyClockSourceId(const Uuid *uuid);
|
|
|
|
/**
|
|
* @brief GetUserSystemClockContext
|
|
* @param[out] out \ref TimeSystemClockContext
|
|
*/
|
|
Result setsysGetUserSystemClockContext(TimeSystemClockContext *out);
|
|
|
|
/**
|
|
* @brief SetUserSystemClockContext
|
|
* @param[in] context \ref TimeSystemClockContext
|
|
*/
|
|
Result setsysSetUserSystemClockContext(const TimeSystemClockContext *context);
|
|
|
|
/**
|
|
* @brief GetAccountSettings
|
|
* @param[out] out \ref SetSysAccountSettings
|
|
*/
|
|
Result setsysGetAccountSettings(SetSysAccountSettings *out);
|
|
|
|
/**
|
|
* @brief SetAccountSettings
|
|
* @param[in] settings \ref SetSysAccountSettings
|
|
*/
|
|
Result setsysSetAccountSettings(SetSysAccountSettings settings);
|
|
|
|
/**
|
|
* @brief GetAudioVolume
|
|
* @param[in] device \ref SetSysAudioDevice
|
|
* @param[out] out \ref SetSysAudioVolume
|
|
*/
|
|
Result setsysGetAudioVolume(SetSysAudioDevice device, SetSysAudioVolume *out);
|
|
|
|
/**
|
|
* @brief SetAudioVolume
|
|
* @param[in] device \ref SetSysAudioDevice
|
|
* @param[in] volume \ref SetSysAudioVolume
|
|
*/
|
|
Result setsysSetAudioVolume(SetSysAudioDevice device, const SetSysAudioVolume *volume);
|
|
|
|
/**
|
|
* @brief GetEulaVersions
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] versions Output array of \ref SetSysEulaVersion.
|
|
* @param[in] count Size of the versions array in entries.
|
|
*/
|
|
Result setsysGetEulaVersions(s32 *total_out, SetSysEulaVersion *versions, s32 count);
|
|
|
|
/**
|
|
* @brief SetEulaVersions
|
|
* @param[in] versions Input array of \ref SetSysEulaVersion.
|
|
* @param[in] count Size of the versions array in entries.
|
|
*/
|
|
Result setsysSetEulaVersions(const SetSysEulaVersion *versions, s32 count);
|
|
|
|
/// Gets the current system theme.
|
|
Result setsysGetColorSetId(ColorSetId *out);
|
|
|
|
/// Sets the current system theme.
|
|
Result setsysSetColorSetId(ColorSetId id);
|
|
|
|
/**
|
|
* @brief GetConsoleInformationUploadFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetConsoleInformationUploadFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetConsoleInformationUploadFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetConsoleInformationUploadFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetAutomaticApplicationDownloadFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetAutomaticApplicationDownloadFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetAutomaticApplicationDownloadFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetAutomaticApplicationDownloadFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetNotificationSettings
|
|
* @param[out] out \ref SetSysNotificationSettings
|
|
*/
|
|
Result setsysGetNotificationSettings(SetSysNotificationSettings *out);
|
|
|
|
/**
|
|
* @brief SetNotificationSettings
|
|
* @param[in] settings \ref SetSysNotificationSettings
|
|
*/
|
|
Result setsysSetNotificationSettings(const SetSysNotificationSettings *settings);
|
|
|
|
/**
|
|
* @brief GetAccountNotificationSettings
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysAccountNotificationSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetAccountNotificationSettings(s32 *total_out, SetSysAccountNotificationSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetAccountNotificationSettings
|
|
* @param[in] settings Input array of \ref SetSysAccountNotificationSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetAccountNotificationSettings(const SetSysAccountNotificationSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetVibrationMasterVolume
|
|
* @param[out] out Output volume.
|
|
*/
|
|
Result setsysGetVibrationMasterVolume(float *out);
|
|
|
|
/**
|
|
* @brief SetVibrationMasterVolume
|
|
* @param[in] volume Input volume.
|
|
*/
|
|
Result setsysSetVibrationMasterVolume(float volume);
|
|
|
|
/**
|
|
* @brief Gets the size of a settings item value.
|
|
* @param name Name string.
|
|
* @param item_key Item key string.
|
|
* @param size_out Pointer to output the size to.
|
|
*/
|
|
Result setsysGetSettingsItemValueSize(const char *name, const char *item_key, u64 *size_out);
|
|
|
|
/**
|
|
* @brief Gets the value of a settings item.
|
|
* @param name Name string.
|
|
* @param item_key Item key string.
|
|
* @param value_out Pointer to output the value to.
|
|
* @param value_out_size Size of the value_out buffer.
|
|
* @param size_out Total size which was copied to value_out.
|
|
*/
|
|
Result setsysGetSettingsItemValue(const char *name, const char *item_key, void *value_out, size_t value_out_size, u64 *size_out);
|
|
|
|
/**
|
|
* @brief GetTvSettings
|
|
* @param[out] out \ref SetSysTvSettings
|
|
*/
|
|
Result setsysGetTvSettings(SetSysTvSettings *out);
|
|
|
|
/**
|
|
* @brief SetTvSettings
|
|
* @param[in] settings \ref SetSysTvSettings
|
|
*/
|
|
Result setsysSetTvSettings(const SetSysTvSettings *settings);
|
|
|
|
/**
|
|
* @brief GetEdid
|
|
* @param[out] out \ref SetSysEdid
|
|
*/
|
|
Result setsysGetEdid(SetSysEdid *out);
|
|
|
|
/**
|
|
* @brief SetEdid
|
|
* @param[in] edid \ref SetSysEdid
|
|
*/
|
|
Result setsysSetEdid(const SetSysEdid *edid);
|
|
|
|
/**
|
|
* @brief GetAudioOutputMode
|
|
* @param[in] target \ref SetSysAudioOutputModeTarget
|
|
* @param[out] out \ref SetSysAudioOutputMode
|
|
*/
|
|
Result setsysGetAudioOutputMode(SetSysAudioOutputModeTarget target, SetSysAudioOutputMode *out);
|
|
|
|
/**
|
|
* @brief SetAudioOutputMode
|
|
* @param[in] target \ref SetSysAudioOutputModeTarget
|
|
* @param[in] mode \ref SetSysAudioOutputMode
|
|
*/
|
|
Result setsysSetAudioOutputMode(SetSysAudioOutputModeTarget target, SetSysAudioOutputMode mode);
|
|
|
|
/**
|
|
* @brief GetSpeakerAutoMuteFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetSpeakerAutoMuteFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetSpeakerAutoMuteFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetSpeakerAutoMuteFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetQuestFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetQuestFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetQuestFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetQuestFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetDataDeletionSettings
|
|
* @param[out] out \ref SetSysDataDeletionSettings
|
|
*/
|
|
Result setsysGetDataDeletionSettings(SetSysDataDeletionSettings *out);
|
|
|
|
/**
|
|
* @brief SetDataDeletionSettings
|
|
* @param[in] settings \ref SetSysDataDeletionSettings
|
|
*/
|
|
Result setsysSetDataDeletionSettings(const SetSysDataDeletionSettings *settings);
|
|
|
|
/**
|
|
* @brief GetInitialSystemAppletProgramId
|
|
* @param[out] out output ProgramId.
|
|
*/
|
|
Result setsysGetInitialSystemAppletProgramId(u64 *out);
|
|
|
|
/**
|
|
* @brief GetOverlayDispProgramId
|
|
* @param[out] out output ProgramId.
|
|
*/
|
|
Result setsysGetOverlayDispProgramId(u64 *out);
|
|
|
|
/**
|
|
* @brief GetDeviceTimeZoneLocationName
|
|
* @param[out] out \ref TimeLocationName
|
|
*/
|
|
Result setsysGetDeviceTimeZoneLocationName(TimeLocationName *out);
|
|
|
|
/**
|
|
* @brief SetDeviceTimeZoneLocationName
|
|
* @param[in] name \ref TimeLocationName
|
|
*/
|
|
Result setsysSetDeviceTimeZoneLocationName(const TimeLocationName *name);
|
|
|
|
/**
|
|
* @brief GetWirelessCertificationFileSize
|
|
* @param[out] out_size Output size.
|
|
*/
|
|
Result setsysGetWirelessCertificationFileSize(u64 *out_size);
|
|
|
|
/**
|
|
* @brief GetWirelessCertificationFile
|
|
* @param[out] buffer Output buffer.
|
|
* @param[in] size Output buffer size.
|
|
* @param[out] out_size Output size.
|
|
*/
|
|
Result setsysGetWirelessCertificationFile(void* buffer, size_t size, u64 *out_size);
|
|
|
|
/**
|
|
* @brief SetRegionCode
|
|
* @param[in] region \ref SetRegion
|
|
*/
|
|
Result setsysSetRegionCode(SetRegion region);
|
|
|
|
/**
|
|
* @brief GetNetworkSystemClockContext
|
|
* @param[out] out \ref TimeSystemClockContext
|
|
*/
|
|
Result setsysGetNetworkSystemClockContext(TimeSystemClockContext *out);
|
|
|
|
/**
|
|
* @brief SetNetworkSystemClockContext
|
|
* @param[in] context \ref TimeSystemClockContext
|
|
*/
|
|
Result setsysSetNetworkSystemClockContext(const TimeSystemClockContext *context);
|
|
|
|
/**
|
|
* @brief IsUserSystemClockAutomaticCorrectionEnabled
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysIsUserSystemClockAutomaticCorrectionEnabled(bool *out);
|
|
|
|
/**
|
|
* @brief SetUserSystemClockAutomaticCorrectionEnabled
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetUserSystemClockAutomaticCorrectionEnabled(bool flag);
|
|
|
|
/**
|
|
* @brief GetDebugModeFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetDebugModeFlag(bool *out);
|
|
|
|
/**
|
|
* @brief GetPrimaryAlbumStorage
|
|
* @param[out] out \ref GetPrimaryAlbumStorage
|
|
*/
|
|
Result setsysGetPrimaryAlbumStorage(SetSysPrimaryAlbumStorage *out);
|
|
|
|
/**
|
|
* @brief SetPrimaryAlbumStorage
|
|
* @param[in] storage \ref SetSysPrimaryAlbumStorage
|
|
*/
|
|
Result setsysSetPrimaryAlbumStorage(SetSysPrimaryAlbumStorage storage);
|
|
|
|
/**
|
|
* @brief GetUsb30EnableFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetUsb30EnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetUsb30EnableFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetUsb30EnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetBatteryLot.
|
|
* @param[out] out \ref SetBatteryLot
|
|
*/
|
|
Result setsysGetBatteryLot(SetBatteryLot *out);
|
|
|
|
/**
|
|
* @brief Gets the system's serial number.
|
|
* @param[out] out \ref SetSysSerialNumber
|
|
*/
|
|
Result setsysGetSerialNumber(SetSysSerialNumber *out);
|
|
|
|
/**
|
|
* @brief GetNfcEnableFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetNfcEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetNfcEnableFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetNfcEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetSleepSettings
|
|
* @param[out] out \ref SetSysSleepSettings
|
|
*/
|
|
Result setsysGetSleepSettings(SetSysSleepSettings *out);
|
|
|
|
/**
|
|
* @brief SetSleepSettings
|
|
* @param[in] settings \ref SetSysSleepSettings
|
|
*/
|
|
Result setsysSetSleepSettings(const SetSysSleepSettings *settings);
|
|
|
|
/**
|
|
* @brief GetWirelessLanEnableFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetWirelessLanEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetWirelessLanEnableFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetWirelessLanEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetInitialLaunchSettings
|
|
* @param[out] out \ref SetSysInitialLaunchSettings
|
|
*/
|
|
Result setsysGetInitialLaunchSettings(SetSysInitialLaunchSettings *out);
|
|
|
|
/**
|
|
* @brief SetInitialLaunchSettings
|
|
* @param[in] settings \ref SetSysInitialLaunchSettings
|
|
*/
|
|
Result setsysSetInitialLaunchSettings(const SetSysInitialLaunchSettings *settings);
|
|
|
|
/**
|
|
* @brief Gets the system's nickname.
|
|
* @note Same as \ref setGetDeviceNickname, which official sw uses instead on [10.1.0+].
|
|
* @param[out] nickname \ref SetSysDeviceNickName
|
|
*/
|
|
Result setsysGetDeviceNickname(SetSysDeviceNickName *nickname);
|
|
|
|
/**
|
|
* @brief Sets the system's nickname.
|
|
* @param[in] nickname \ref SetSysDeviceNickName
|
|
*/
|
|
Result setsysSetDeviceNickname(const SetSysDeviceNickName *nickname);
|
|
|
|
/**
|
|
* @brief GetProductModel
|
|
* @param[out] model Output SetSysProductModel.
|
|
*/
|
|
Result setsysGetProductModel(SetSysProductModel *model);
|
|
|
|
/**
|
|
* @brief GetLdnChannel
|
|
* @param[out] out Output LdnChannel.
|
|
*/
|
|
Result setsysGetLdnChannel(s32 *out);
|
|
|
|
/**
|
|
* @brief SetLdnChannel
|
|
* @param[in] channel Input LdnChannel.
|
|
*/
|
|
Result setsysSetLdnChannel(s32 channel);
|
|
|
|
/**
|
|
* @brief Gets an event that settings will signal on flag change.
|
|
* @param out_event Event to bind. Output event will have autoclear=false.
|
|
*/
|
|
Result setsysAcquireTelemetryDirtyFlagEventHandle(Event *out_event);
|
|
|
|
/**
|
|
* @brief Gets the settings flags that have changed.
|
|
* @param flags_0 Pointer to populate with first 64 flags.
|
|
* @param flags_1 Pointer to populate with second 64 flags.
|
|
*/
|
|
Result setsysGetTelemetryDirtyFlags(u64 *flags_0, u64 *flags_1);
|
|
|
|
/**
|
|
* @brief GetPtmBatteryLot
|
|
* @param[out] out \ref SetBatteryLot
|
|
*/
|
|
Result setsysGetPtmBatteryLot(SetBatteryLot *out);
|
|
|
|
/**
|
|
* @brief SetPtmBatteryLot
|
|
* @param[in] lot \ref SetBatteryLot
|
|
*/
|
|
Result setsysSetPtmBatteryLot(const SetBatteryLot *lot);
|
|
|
|
/**
|
|
* @brief GetPtmFuelGaugeParameter
|
|
* @param[out] out \ref SetSysPtmFuelGaugeParameter
|
|
*/
|
|
Result setsysGetPtmFuelGaugeParameter(SetSysPtmFuelGaugeParameter *out);
|
|
|
|
/**
|
|
* @brief SetPtmFuelGaugeParameter
|
|
* @param[in] parameter \ref SetSysPtmFuelGaugeParameter
|
|
*/
|
|
Result setsysSetPtmFuelGaugeParameter(const SetSysPtmFuelGaugeParameter *parameter);
|
|
|
|
/**
|
|
* @brief GetBluetoothEnableFlag
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetBluetoothEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetBluetoothEnableFlag
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetBluetoothEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetMiiAuthorId
|
|
* @param[out] out Output MiiAuthorId.
|
|
*/
|
|
Result setsysGetMiiAuthorId(Uuid *out);
|
|
|
|
/**
|
|
* @brief SetShutdownRtcValue
|
|
* @param[in] value Input value.
|
|
*/
|
|
Result setsysSetShutdownRtcValue(u64 value);
|
|
|
|
/**
|
|
* @brief GetShutdownRtcValue
|
|
* @param[out] out Output value.
|
|
*/
|
|
Result setsysGetShutdownRtcValue(u64 *out);
|
|
|
|
/**
|
|
* @brief Gets an event that settings will signal on flag change.
|
|
* @param out_event Event to bind. Output event will have autoclear=false.
|
|
*/
|
|
Result setsysAcquireFatalDirtyFlagEventHandle(Event *out_event);
|
|
|
|
/**
|
|
* @brief Gets the settings flags that have changed.
|
|
* @param flags_0 Pointer to populate with first 64 flags.
|
|
* @param flags_1 Pointer to populate with second 64 flags.
|
|
*/
|
|
Result setsysGetFatalDirtyFlags(u64 *flags_0, u64 *flags_1);
|
|
|
|
/**
|
|
* @brief GetAutoUpdateEnableFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetAutoUpdateEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetAutoUpdateEnableFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetAutoUpdateEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetNxControllerSettings
|
|
* @note On [13.0.0+] \ref setsysGetNxControllerSettingsEx should be used instead.
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysNxControllerLegacySettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetNxControllerSettings(s32 *total_out, SetSysNxControllerLegacySettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetNxControllerSettings
|
|
* @note On [13.0.0+] \ref setsysSetNxControllerSettingsEx should be used instead.
|
|
* @param[in] settings Input array of \ref SetSysNxControllerLegacySettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetNxControllerSettings(const SetSysNxControllerLegacySettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetBatteryPercentageFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetBatteryPercentageFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetBatteryPercentageFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetBatteryPercentageFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetExternalRtcResetFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetExternalRtcResetFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetExternalRtcResetFlag
|
|
* @note Only available on [2.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetExternalRtcResetFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetUsbFullKeyEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetUsbFullKeyEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetUsbFullKeyEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetUsbFullKeyEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief SetExternalSteadyClockInternalOffset
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] offset Input offset.
|
|
*/
|
|
Result setsysSetExternalSteadyClockInternalOffset(u64 offset);
|
|
|
|
/**
|
|
* @brief GetExternalSteadyClockInternalOffset
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output offset.
|
|
*/
|
|
Result setsysGetExternalSteadyClockInternalOffset(u64 *out);
|
|
|
|
/**
|
|
* @brief GetBacklightSettingsEx
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out \ref SetSysBacklightSettingsEx
|
|
*/
|
|
Result setsysGetBacklightSettingsEx(SetSysBacklightSettingsEx *out);
|
|
|
|
/**
|
|
* @brief SetBacklightSettingsEx
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] settings \ref SetSysBacklightSettingsEx
|
|
*/
|
|
Result setsysSetBacklightSettingsEx(const SetSysBacklightSettingsEx *settings);
|
|
|
|
/**
|
|
* @brief GetHeadphoneVolumeWarningCount
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output count.
|
|
*/
|
|
Result setsysGetHeadphoneVolumeWarningCount(u32 *out);
|
|
|
|
/**
|
|
* @brief SetHeadphoneVolumeWarningCount
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] count Input count.
|
|
*/
|
|
Result setsysSetHeadphoneVolumeWarningCount(u32 count);
|
|
|
|
/**
|
|
* @brief GetBluetoothAfhEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetBluetoothAfhEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetBluetoothAfhEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetBluetoothAfhEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetBluetoothBoostEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetBluetoothBoostEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetBluetoothBoostEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetBluetoothBoostEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetInRepairProcessEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetInRepairProcessEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetInRepairProcessEnableFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetInRepairProcessEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetHeadphoneVolumeUpdateFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetHeadphoneVolumeUpdateFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetHeadphoneVolumeUpdateFlag
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetHeadphoneVolumeUpdateFlag(bool flag);
|
|
|
|
/**
|
|
* @brief NeedsToUpdateHeadphoneVolume
|
|
* @note Only available on [3.0.0-14.1.2].
|
|
* @param[out] a0 Output arg.
|
|
* @param[out] a1 Output arg.
|
|
* @param[out] a2 Output arg.
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysNeedsToUpdateHeadphoneVolume(u8 *a0, u8 *a1, u8 *a2, bool flag);
|
|
|
|
/**
|
|
* @brief GetPushNotificationActivityModeOnSleep
|
|
* @note Only available on [3.0.0+].
|
|
* @param[out] out Output mode.
|
|
*/
|
|
Result setsysGetPushNotificationActivityModeOnSleep(u32 *out);
|
|
|
|
/**
|
|
* @brief SetPushNotificationActivityModeOnSleep
|
|
* @note Only available on [3.0.0+].
|
|
* @param[in] mode Input mode.
|
|
*/
|
|
Result setsysSetPushNotificationActivityModeOnSleep(u32 mode);
|
|
|
|
/**
|
|
* @brief GetServiceDiscoveryControlSettings
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref ServiceDiscoveryControlSettings
|
|
*/
|
|
Result setsysGetServiceDiscoveryControlSettings(SetSysServiceDiscoveryControlSettings *out);
|
|
|
|
/**
|
|
* @brief SetServiceDiscoveryControlSettings
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] settings \ref ServiceDiscoveryControlSettings
|
|
*/
|
|
Result setsysSetServiceDiscoveryControlSettings(SetSysServiceDiscoveryControlSettings settings);
|
|
|
|
/**
|
|
* @brief GetErrorReportSharePermission
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysErrorReportSharePermission
|
|
*/
|
|
Result setsysGetErrorReportSharePermission(SetSysErrorReportSharePermission *out);
|
|
|
|
/**
|
|
* @brief SetErrorReportSharePermission
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] permission \ref SetSysErrorReportSharePermission
|
|
*/
|
|
Result setsysSetErrorReportSharePermission(SetSysErrorReportSharePermission permission);
|
|
|
|
/**
|
|
* @brief GetAppletLaunchFlags
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out Output AppletLaunchFlags bitmask.
|
|
*/
|
|
Result setsysGetAppletLaunchFlags(u32 *out);
|
|
|
|
/**
|
|
* @brief SetAppletLaunchFlags
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] flags Input AppletLaunchFlags bitmask.
|
|
*/
|
|
Result setsysSetAppletLaunchFlags(u32 flags);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAccelerationBias
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAccelerationBias
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAccelerationBias(SetSysConsoleSixAxisSensorAccelerationBias *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAccelerationBias
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] bias \ref SetSysConsoleSixAxisSensorAccelerationBias
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAccelerationBias(const SetSysConsoleSixAxisSensorAccelerationBias *bias);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAngularVelocityBias
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAngularVelocityBias
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAngularVelocityBias(SetSysConsoleSixAxisSensorAngularVelocityBias *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAngularVelocityBias
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] bias \ref SetSysConsoleSixAxisSensorAngularVelocityBias
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAngularVelocityBias(const SetSysConsoleSixAxisSensorAngularVelocityBias *bias);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAccelerationGain
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAccelerationGain
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAccelerationGain(SetSysConsoleSixAxisSensorAccelerationGain *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAccelerationGain
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] gain \ref SetSysConsoleSixAxisSensorAccelerationGain
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAccelerationGain(const SetSysConsoleSixAxisSensorAccelerationGain *gain);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAngularVelocityGain
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAngularVelocityGain
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAngularVelocityGain(SetSysConsoleSixAxisSensorAngularVelocityGain *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAngularVelocityGain
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] gain \ref SetSysConsoleSixAxisSensorAngularVelocityGain
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAngularVelocityGain(const SetSysConsoleSixAxisSensorAngularVelocityGain *gain);
|
|
|
|
/**
|
|
* @brief GetKeyboardLayout
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetKeyboardLayout
|
|
*/
|
|
Result setsysGetKeyboardLayout(SetKeyboardLayout *out);
|
|
|
|
/**
|
|
* @brief SetKeyboardLayout
|
|
* @note Only available on [4.0.0+].
|
|
* @param[in] layout \ref SetKeyboardLayout
|
|
*/
|
|
Result setsysSetKeyboardLayout(SetKeyboardLayout layout);
|
|
|
|
/**
|
|
* @brief GetWebInspectorFlag
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetWebInspectorFlag(bool *out);
|
|
|
|
/**
|
|
* @brief GetAllowedSslHosts
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] out Output array of \ref SetSysAllowedSslHosts.
|
|
* @param[in] count Size of the hosts array in entries.
|
|
*/
|
|
Result setsysGetAllowedSslHosts(s32 *total_out, SetSysAllowedSslHosts *out, s32 count);
|
|
|
|
/**
|
|
* @brief GetHostFsMountPoint
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out \ref SetSysHostFsMountPoint
|
|
*/
|
|
Result setsysGetHostFsMountPoint(SetSysHostFsMountPoint *out);
|
|
|
|
/**
|
|
* @brief GetRequiresRunRepairTimeReviser
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetRequiresRunRepairTimeReviser(bool *out);
|
|
|
|
/**
|
|
* @brief SetRequiresRunRepairTimeReviser
|
|
* @note Only available on [5.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetRequiresRunRepairTimeReviser(bool flag);
|
|
|
|
/**
|
|
* @brief SetBlePairingSettings
|
|
* @note Only available on [5.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysBlePairingSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetBlePairingSettings(const SetSysBlePairingSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetBlePairingSettings
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysBlePairingSettings.
|
|
* @param[in] count Size of the hosts array in entries.
|
|
*/
|
|
Result setsysGetBlePairingSettings(s32 *total_out, SetSysBlePairingSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAngularVelocityTimeBias
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAngularVelocityTimeBias
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAngularVelocityTimeBias(SetSysConsoleSixAxisSensorAngularVelocityTimeBias *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAngularVelocityTimeBias
|
|
* @note Only available on [5.0.0+].
|
|
* @param[in] bias \ref SetSysConsoleSixAxisSensorAngularVelocityTimeBias
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAngularVelocityTimeBias(const SetSysConsoleSixAxisSensorAngularVelocityTimeBias *bias);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorAngularAcceleration
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetSysConsoleSixAxisSensorAngularAcceleration
|
|
*/
|
|
Result setsysGetConsoleSixAxisSensorAngularAcceleration(SetSysConsoleSixAxisSensorAngularAcceleration *out);
|
|
|
|
/**
|
|
* @brief SetConsoleSixAxisSensorAngularAcceleration
|
|
* @note Only available on [5.0.0+].
|
|
* @param[in] acceleration \ref SetSysConsoleSixAxisSensorAngularAcceleration
|
|
*/
|
|
Result setsysSetConsoleSixAxisSensorAngularAcceleration(const SetSysConsoleSixAxisSensorAngularAcceleration *acceleration);
|
|
|
|
/**
|
|
* @brief GetRebootlessSystemUpdateVersion
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetSysRebootlessSystemUpdateVersion
|
|
*/
|
|
Result setsysGetRebootlessSystemUpdateVersion(SetSysRebootlessSystemUpdateVersion *out);
|
|
|
|
/**
|
|
* @brief GetDeviceTimeZoneLocationUpdatedTime
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref TimeSteadyClockTimePoint
|
|
*/
|
|
Result setsysGetDeviceTimeZoneLocationUpdatedTime(TimeSteadyClockTimePoint *out);
|
|
|
|
/**
|
|
* @brief SetDeviceTimeZoneLocationUpdatedTime
|
|
* @note Only available on [5.0.0+].
|
|
* @param[in] time_point \ref TimeSteadyClockTimePoint
|
|
*/
|
|
Result setsysSetDeviceTimeZoneLocationUpdatedTime(const TimeSteadyClockTimePoint *time_point);
|
|
|
|
/**
|
|
* @brief GetUserSystemClockAutomaticCorrectionUpdatedTime
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out \ref TimeSteadyClockTimePoint
|
|
*/
|
|
Result setsysGetUserSystemClockAutomaticCorrectionUpdatedTime(TimeSteadyClockTimePoint *out);
|
|
|
|
/**
|
|
* @brief SetUserSystemClockAutomaticCorrectionUpdatedTime
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] time_point \ref TimeSteadyClockTimePoint
|
|
*/
|
|
Result setsysSetUserSystemClockAutomaticCorrectionUpdatedTime(const TimeSteadyClockTimePoint *time_point);
|
|
|
|
/**
|
|
* @brief GetAccountOnlineStorageSettings
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysAccountOnlineStorageSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetAccountOnlineStorageSettings(s32 *total_out, SetSysAccountOnlineStorageSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetAccountOnlineStorageSettings
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysAccountOnlineStorageSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetAccountOnlineStorageSettings(const SetSysAccountOnlineStorageSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetPctlReadyFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetPctlReadyFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetPctlReadyFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetPctlReadyFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetAnalogStickUserCalibrationL
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetSysAnalogStickUserCalibration
|
|
*/
|
|
Result setsysGetAnalogStickUserCalibrationL(SetSysAnalogStickUserCalibration *out);
|
|
|
|
/**
|
|
* @brief SetAnalogStickUserCalibrationL
|
|
* @note Only available on [8.1.1+].
|
|
* @param[in] calibration \ref SetSysAnalogStickUserCalibration
|
|
*/
|
|
Result setsysSetAnalogStickUserCalibrationL(const SetSysAnalogStickUserCalibration *calibration);
|
|
|
|
/**
|
|
* @brief GetAnalogStickUserCalibrationR
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetSysAnalogStickUserCalibration
|
|
*/
|
|
Result setsysGetAnalogStickUserCalibrationR(SetSysAnalogStickUserCalibration *out);
|
|
|
|
/**
|
|
* @brief SetAnalogStickUserCalibrationR
|
|
* @note Only available on [8.1.1+].
|
|
* @param[in] calibration \ref SetSysAnalogStickUserCalibration
|
|
*/
|
|
Result setsysSetAnalogStickUserCalibrationR(const SetSysAnalogStickUserCalibration *calibration);
|
|
|
|
/**
|
|
* @brief GetPtmBatteryVersion
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out Output version.
|
|
*/
|
|
Result setsysGetPtmBatteryVersion(u8 *out);
|
|
|
|
/**
|
|
* @brief SetPtmBatteryVersion
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] version Input version.
|
|
*/
|
|
Result setsysSetPtmBatteryVersion(u8 version);
|
|
|
|
/**
|
|
* @brief GetUsb30HostEnableFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetUsb30HostEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetUsb30HostEnableFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetUsb30HostEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetUsb30DeviceEnableFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetUsb30DeviceEnableFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetUsb30DeviceEnableFlag
|
|
* @note Only available on [6.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetUsb30DeviceEnableFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetThemeId
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] type Input theme id type.
|
|
* @param[out] out \ref SetSysThemeId
|
|
*/
|
|
Result setsysGetThemeId(s32 type, SetSysThemeId *out);
|
|
|
|
/**
|
|
* @brief SetThemeId
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] type Input theme id type.
|
|
* @param[in] theme_id \ref SetSysThemeId
|
|
*/
|
|
Result setsysSetThemeId(s32 type, const SetSysThemeId *theme_id);
|
|
|
|
/**
|
|
* @brief GetChineseTraditionalInputMethod
|
|
* @note Only available on [7.0.0+].
|
|
* @param[out] out \ref SetChineseTraditionalInputMethod
|
|
*/
|
|
Result setsysGetChineseTraditionalInputMethod(SetChineseTraditionalInputMethod *out);
|
|
|
|
/**
|
|
* @brief SetChineseTraditionalInputMethod
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] method \ref SetChineseTraditionalInputMethod
|
|
*/
|
|
Result setsysSetChineseTraditionalInputMethod(SetChineseTraditionalInputMethod method);
|
|
|
|
/**
|
|
* @brief GetPtmCycleCountReliability
|
|
* @note Only available on [7.0.0+].
|
|
* @param[out] out \ref SetSysPtmCycleCountReliability
|
|
*/
|
|
Result setsysGetPtmCycleCountReliability(SetSysPtmCycleCountReliability *out);
|
|
|
|
/**
|
|
* @brief SetPtmCycleCountReliability
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] reliability \ref SetSysPtmCycleCountReliability
|
|
*/
|
|
Result setsysSetPtmCycleCountReliability(SetSysPtmCycleCountReliability reliability);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetSysHomeMenuScheme.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetSysHomeMenuScheme
|
|
*/
|
|
Result setsysGetHomeMenuScheme(SetSysHomeMenuScheme *out);
|
|
|
|
/**
|
|
* @brief GetThemeSettings
|
|
* @note Only available on [7.0.0+].
|
|
* @param[out] out \ref SetSysThemeSettings
|
|
*/
|
|
Result setsysGetThemeSettings(SetSysThemeSettings *out);
|
|
|
|
/**
|
|
* @brief SetThemeSettings
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] settings \ref SetSysThemeSettings
|
|
*/
|
|
Result setsysSetThemeSettings(const SetSysThemeSettings *settings);
|
|
|
|
/**
|
|
* @brief GetThemeKey
|
|
* @note Only available on [7.0.0+].
|
|
* @param[out] out \ref FsArchiveMacKey
|
|
*/
|
|
Result setsysGetThemeKey(FsArchiveMacKey *out);
|
|
|
|
/**
|
|
* @brief SetThemeKey
|
|
* @note Only available on [7.0.0+].
|
|
* @param[in] key \ref FsArchiveMacKey
|
|
*/
|
|
Result setsysSetThemeKey(const FsArchiveMacKey *key);
|
|
|
|
/**
|
|
* @brief GetZoomFlag
|
|
* @note Only available on [8.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetZoomFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetZoomFlag
|
|
* @note Only available on [8.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetZoomFlag(bool flag);
|
|
|
|
/**
|
|
* @brief Returns Terra platform type flag.
|
|
* @note On [9.0.0+], this is a wrapper for \ref setsysGetPlatFormRegion() == 2.
|
|
* @note Only available on [8.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetT(bool *out);
|
|
|
|
/**
|
|
* @brief Sets Terra platform type flag.
|
|
* @note On [9.0.0+], this is a wrapper for \ref setsysSetPlatFormRegion(1 + (IsT & 1)).
|
|
* @note Only available on [8.0.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetT(bool flag);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetSysPlatformRegion.
|
|
* @note This is used internally by \ref appletGetSettingsPlatformRegion.
|
|
* @note Only available on [9.0.0+].
|
|
* @param[out] out \ref SetSysPlatformRegion
|
|
*/
|
|
Result setsysGetPlatformRegion(SetSysPlatformRegion *out);
|
|
|
|
/**
|
|
* @brief Sets the \ref SetSysPlatformRegion.
|
|
* @note Only available on [9.0.0+].
|
|
* @param[in] region \ref SetSysPlatformRegion
|
|
*/
|
|
Result setsysSetPlatformRegion(SetSysPlatformRegion region);
|
|
|
|
/**
|
|
* @brief GetHomeMenuSchemeModel
|
|
* @note This will throw an error when loading the "settings_debug!{...}" system-setting which is used with this fails.
|
|
* @note Only available on [9.0.0+].
|
|
* @param[out] out HomeMenuSchemeModel.
|
|
*/
|
|
Result setsysGetHomeMenuSchemeModel(u32 *out);
|
|
|
|
/**
|
|
* @brief GetMemoryUsageRateFlag
|
|
* @note Only available on [9.0.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetMemoryUsageRateFlag(bool *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetSysTouchScreenMode.
|
|
* @note Only available on [9.0.0+].
|
|
* @param[out] out \ref SetSysTouchScreenMode
|
|
*/
|
|
Result setsysGetTouchScreenMode(SetSysTouchScreenMode *out);
|
|
|
|
/**
|
|
* @brief Sets the \ref SetSysTouchScreenMode.
|
|
* @note Only available on [9.0.0+].
|
|
* @param[in] mode \ref SetSysTouchScreenMode
|
|
*/
|
|
Result setsysSetTouchScreenMode(SetSysTouchScreenMode mode);
|
|
|
|
/**
|
|
* @brief GetButtonConfigSettingsFull
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetButtonConfigSettingsFull(s32 *total_out, SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetButtonConfigSettingsFull
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetButtonConfigSettingsFull(const SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetButtonConfigSettingsEmbedded
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetButtonConfigSettingsEmbedded(s32 *total_out, SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetButtonConfigSettingsEmbedded
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetButtonConfigSettingsEmbedded(const SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetButtonConfigSettingsLeft
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetButtonConfigSettingsLeft(s32 *total_out, SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetButtonConfigSettingsLeft
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetButtonConfigSettingsLeft(const SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetButtonConfigSettingsRight
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetButtonConfigSettingsRight(s32 *total_out, SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetButtonConfigSettingsRight
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings Input array of \ref SetSysButtonConfigSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetButtonConfigSettingsRight(const SetSysButtonConfigSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetButtonConfigRegisteredSettingsEmbedded
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] settings \ref SetSysButtonConfigRegisteredSettings
|
|
*/
|
|
Result setsysGetButtonConfigRegisteredSettingsEmbedded(SetSysButtonConfigRegisteredSettings *settings);
|
|
|
|
/**
|
|
* @brief SetButtonConfigRegisteredSettingsEmbedded
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings \ref SetSysButtonConfigRegisteredSettings
|
|
*/
|
|
Result setsysSetButtonConfigRegisteredSettingsEmbedded(const SetSysButtonConfigRegisteredSettings *settings);
|
|
|
|
/**
|
|
* @brief GetButtonConfigRegisteredSettings
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] settings \ref SetSysButtonConfigRegisteredSettings
|
|
*/
|
|
Result setsysGetButtonConfigRegisteredSettings(s32 *total_out, SetSysButtonConfigRegisteredSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetButtonConfigRegisteredSettings
|
|
* @note Only available on [10.0.0+].
|
|
* @param[in] settings \ref SetSysButtonConfigRegisteredSettings
|
|
*/
|
|
Result setsysSetButtonConfigRegisteredSettings(const SetSysButtonConfigRegisteredSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief GetFieldTestingFlag
|
|
* @note Only available on [10.1.0+].
|
|
* @param[out] out Output flag.
|
|
*/
|
|
Result setsysGetFieldTestingFlag(bool *out);
|
|
|
|
/**
|
|
* @brief SetFieldTestingFlag
|
|
* @note Only available on [10.1.0+].
|
|
* @param[in] flag Input flag.
|
|
*/
|
|
Result setsysSetFieldTestingFlag(bool flag);
|
|
|
|
/**
|
|
* @brief GetNxControllerSettingsEx
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] settings Output array of \ref SetSysNxControllerSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysGetNxControllerSettingsEx(s32 *total_out, SetSysNxControllerSettings *settings, s32 count);
|
|
|
|
/**
|
|
* @brief SetNxControllerSettingsEx
|
|
* @param[in] settings Input array of \ref SetSysNxControllerSettings.
|
|
* @param[in] count Size of the settings array in entries.
|
|
*/
|
|
Result setsysSetNxControllerSettingsEx(const SetSysNxControllerSettings *settings, s32 count);
|
|
|
|
/// Initialize setcal.
|
|
Result setcalInitialize(void);
|
|
|
|
/// Exit setcal.
|
|
void setcalExit(void);
|
|
|
|
/// Gets the Service object for the actual setcal service session.
|
|
Service* setcalGetServiceSession(void);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalBdAddress.
|
|
* @param[out] out \ref SetCalBdAddress
|
|
*/
|
|
Result setcalGetBdAddress(SetCalBdAddress *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalConfigurationId1.
|
|
* @param[out] out \ref SetCalConfigurationId1
|
|
*/
|
|
Result setcalGetConfigurationId1(SetCalConfigurationId1 *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAccelerometerOffset.
|
|
* @param[out] out \ref SetCalAccelerometerOffset
|
|
*/
|
|
Result setcalGetAccelerometerOffset(SetCalAccelerometerOffset *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAccelerometerScale.
|
|
* @param[out] out \ref SetCalAccelerometerScale
|
|
*/
|
|
Result setcalGetAccelerometerScale(SetCalAccelerometerScale *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalGyroscopeOffset.
|
|
* @param[out] out \ref SetCalGyroscopeOffset
|
|
*/
|
|
Result setcalGetGyroscopeOffset(SetCalGyroscopeOffset *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalGyroscopeScale.
|
|
* @param[out] out \ref SetCalGyroscopeScale
|
|
*/
|
|
Result setcalGetGyroscopeScale(SetCalGyroscopeScale *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalMacAddress.
|
|
* @param[out] out \ref SetCalMacAddress
|
|
*/
|
|
Result setcalGetWirelessLanMacAddress(SetCalMacAddress *out);
|
|
|
|
/**
|
|
* @brief GetWirelessLanCountryCodeCount
|
|
* @param[out] out_count Output count
|
|
*/
|
|
Result setcalGetWirelessLanCountryCodeCount(s32 *out_count);
|
|
|
|
/**
|
|
* @brief GetWirelessLanCountryCodes
|
|
* @param[out] total_out Total output entries.
|
|
* @param[out] codes Output array of \ref SetCalCountryCode.
|
|
* @param[in] count Size of the versions array in entries.
|
|
*/
|
|
Result setcalGetWirelessLanCountryCodes(s32 *total_out, SetCalCountryCode *codes, s32 count);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalSerialNumber.
|
|
* @param[out] out \ref SetCalSerialNumber
|
|
*/
|
|
Result setcalGetSerialNumber(SetCalSerialNumber *out);
|
|
|
|
/**
|
|
* @brief SetInitialSystemAppletProgramId
|
|
* @param[in] program_id input ProgramId.
|
|
*/
|
|
Result setcalSetInitialSystemAppletProgramId(u64 program_id);
|
|
|
|
/**
|
|
* @brief SetOverlayDispProgramId
|
|
* @param[in] program_id input ProgramId.
|
|
*/
|
|
Result setcalSetOverlayDispProgramId(u64 program_id);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetBatteryLot.
|
|
* @param[out] out \ref SetBatteryLot
|
|
*/
|
|
Result setcalGetBatteryLot(SetBatteryLot *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalEccB233DeviceCertificate.
|
|
* @param[out] out \ref SetCalEccB233DeviceCertificate
|
|
*/
|
|
Result setcalGetEciDeviceCertificate(SetCalEccB233DeviceCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalRsa2048DeviceCertificate.
|
|
* @param[out] out \ref SetCalRsa2048DeviceCertificate
|
|
*/
|
|
Result setcalGetEticketDeviceCertificate(SetCalRsa2048DeviceCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalSslKey.
|
|
* @param[out] out \ref SetCalSslKey
|
|
*/
|
|
Result setcalGetSslKey(SetCalSslKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalSslCertificate.
|
|
* @param[out] out \ref SetCalSslCertificate
|
|
*/
|
|
Result setcalGetSslCertificate(SetCalSslCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalGameCardKey.
|
|
* @param[out] out \ref SetCalGameCardKey
|
|
*/
|
|
Result setcalGetGameCardKey(SetCalGameCardKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalGameCardCertificate.
|
|
* @param[out] out \ref SetCalGameCardCertificate
|
|
*/
|
|
Result setcalGetGameCardCertificate(SetCalGameCardCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalEccB233DeviceKey.
|
|
* @param[out] out \ref SetCalEccB233DeviceKey
|
|
*/
|
|
Result setcalGetEciDeviceKey(SetCalEccB233DeviceKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalRsa2048DeviceKey.
|
|
* @param[out] out \ref SetCalRsa2048DeviceKey
|
|
*/
|
|
Result setcalGetEticketDeviceKey(SetCalRsa2048DeviceKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalSpeakerParameter.
|
|
* @param[out] out \ref SetCalSpeakerParameter
|
|
*/
|
|
Result setcalGetSpeakerParameter(SetCalSpeakerParameter *out);
|
|
|
|
/**
|
|
* @brief GetLcdVendorId
|
|
* @note Only available on [4.0.0+].
|
|
* @param[out] out_vendor_id Output LcdVendorId.
|
|
*/
|
|
Result setcalGetLcdVendorId(u32 *out_vendor_id);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalRsa2048DeviceCertificate.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalRsa2048DeviceCertificate
|
|
*/
|
|
Result setcalGetEciDeviceCertificate2(SetCalRsa2048DeviceCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalRsa2048DeviceKey.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalRsa2048DeviceKey
|
|
*/
|
|
Result setcalGetEciDeviceKey2(SetCalRsa2048DeviceKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboKey.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboKey
|
|
*/
|
|
Result setcalGetAmiiboKey(SetCalAmiiboKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboEcqvCertificate.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboEcqvCertificate
|
|
*/
|
|
Result setcalGetAmiiboEcqvCertificate(SetCalAmiiboEcqvCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboEcdsaCertificate.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboEcdsaCertificate
|
|
*/
|
|
Result setcalGetAmiiboEcdsaCertificate(SetCalAmiiboEcdsaCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboEcqvBlsKey.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboEcqvBlsKey
|
|
*/
|
|
Result setcalGetAmiiboEcqvBlsKey(SetCalAmiiboEcqvBlsKey *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboEcqvBlsCertificate.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboEcqvBlsCertificate
|
|
*/
|
|
Result setcalGetAmiiboEcqvBlsCertificate(SetCalAmiiboEcqvBlsCertificate *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAmiiboEcqvBlsRootCertificate.
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out \ref SetCalAmiiboEcqvBlsRootCertificate
|
|
*/
|
|
Result setcalGetAmiiboEcqvBlsRootCertificate(SetCalAmiiboEcqvBlsRootCertificate *out);
|
|
|
|
/**
|
|
* @brief GetUsbTypeCPowerSourceCircuitVersion
|
|
* @note Only available on [5.0.0+].
|
|
* @param[out] out_version Output UsbTypeCPowerSourceCircuitVersion.
|
|
*/
|
|
Result setcalGetUsbTypeCPowerSourceCircuitVersion(u8 *out_version);
|
|
|
|
/**
|
|
* @brief GetAnalogStickModuleTypeL
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out_version Output AnalogStickModuleType.
|
|
*/
|
|
Result setcalGetAnalogStickModuleTypeL(u8 *out_type);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAnalogStickModelParameter.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetCalAnalogStickModelParameter
|
|
*/
|
|
Result setcalGetAnalogStickModelParameterL(SetCalAnalogStickModelParameter *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAnalogStickFactoryCalibration.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetCalAnalogStickFactoryCalibration
|
|
*/
|
|
Result setcalGetAnalogStickFactoryCalibrationL(SetCalAnalogStickFactoryCalibration *out);
|
|
|
|
/**
|
|
* @brief GetAnalogStickModuleTypeR
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out_version Output AnalogStickModuleType.
|
|
*/
|
|
Result setcalGetAnalogStickModuleTypeR(u8 *out_type);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAnalogStickModelParameter.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetCalAnalogStickModelParameter
|
|
*/
|
|
Result setcalGetAnalogStickModelParameterR(SetCalAnalogStickModelParameter *out);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalAnalogStickFactoryCalibration.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetCalAnalogStickFactoryCalibration
|
|
*/
|
|
Result setcalGetAnalogStickFactoryCalibrationR(SetCalAnalogStickFactoryCalibration *out);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorModuleType
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out_version Output ConsoleSixAxisSensorModuleType.
|
|
*/
|
|
Result setcalGetConsoleSixAxisSensorModuleType(u8 *out_type);
|
|
|
|
/**
|
|
* @brief Gets the \ref SetCalConsoleSixAxisSensorHorizontalOffset.
|
|
* @note Only available on [8.1.1+].
|
|
* @param[out] out \ref SetCalConsoleSixAxisSensorHorizontalOffset
|
|
*/
|
|
Result setcalGetConsoleSixAxisSensorHorizontalOffset(SetCalConsoleSixAxisSensorHorizontalOffset *out);
|
|
|
|
/**
|
|
* @brief GetBatteryVersion
|
|
* @note Only available on [6.0.0+].
|
|
* @param[out] out_version Output BatteryVersion.
|
|
*/
|
|
Result setcalGetBatteryVersion(u8 *out_version);
|
|
|
|
/**
|
|
* @brief GetDeviceId
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] out_type Output DeviceId.
|
|
*/
|
|
Result setcalGetDeviceId(u64 *out_device_id);
|
|
|
|
/**
|
|
* @brief GetConsoleSixAxisSensorMountType
|
|
* @note Only available on [10.0.0+].
|
|
* @param[out] out_type Output ConsoleSixAxisSensorMountType.
|
|
*/
|
|
Result setcalGetConsoleSixAxisSensorMountType(u8 *out_type);
|