https://switchbrew.org/w/api.php?action=feedcontributions&user=Misson20000&feedformat=atom
Nintendo Switch Brew - User contributions [en]
2024-03-29T15:03:57Z
User contributions
MediaWiki 1.35.8
https://switchbrew.org/w/index.php?title=VI_services&diff=8567
VI services
2019-12-12T22:08:12Z
<p>Misson20000: ease of navigation</p>
<hr />
<div>#REDIRECT [[Display services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=System_Settings&diff=7905
System Settings
2019-09-16T03:16:43Z
<p>Misson20000: update for 8.1.0 and 9.0.0</p>
<hr />
<div>__NOTOC__<br />
Data sourced from 0100000000000818 archive.<br />
<br />
= account =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |na_license_verification_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |na_required_for_network_service<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_qualification_verification_enabled<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= account.daemon =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_awaking_periodicity<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_schedule_delay<br />
| 7.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |long_sleep_detection_threshold<br />
| 7.0.0+<br />
| 1468800 (0x166980)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="4" |na_info_refresh_interval<br />
| 2.0.0-5.0.0<br />
| 46800 (0xb6d0)<br />
| rowspan="4" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 72000 (0x11940)<br />
|-<br />
| 6.0.0-7.0.1<br />
| 46800 (0xb6d0)<br />
|-<br />
| 8.0.0+<br />
| 457200 (0x6f9f0)<br />
|-<br />
| rowspan="1" |na_verification_url_retry_interval<br />
| 9.0.0+<br />
| 18000 (0x4650)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="3" |profile_sync_interval<br />
| 2.0.0-5.0.0<br />
| 18000 (0x4650)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 172800 (0x2a300)<br />
|-<br />
| 6.0.0+<br />
| 18000 (0x4650)<br />
|-<br />
| rowspan="1" |schedule_periodicity<br />
| 2.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.debug =<br />
This class does not exist on retail firmware.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dev_function<br />
|<br />
|<br />
| rowspan="1" |Not set on retail firmware. Enables a few IPC commands and allows OpenSystem/OverlayAppletProxy when there is already a system/overlay applet.<br />
|-<br />
| cpu_boost_always_no_boost || ? || || Only used when [[Settings_services#GetDebugModeFlag]] returns 1.<br />
|}<br />
<br />
= am.display =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_immediate_update_caller_applet_capture<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |frame_buffer_sharing_level<br />
| 4.0.0-4.1.0<br />
| 0 (0x0)<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| 2 (0x2)<br />
|-<br />
| rowspan="1" |transition_layer_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.gpu =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |gpu_scheduling_bg_app_us<br />
| 1.0.0<br />
| 4834 (0x12e2)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 104500 (0x19834)<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_la_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_sa_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_fg_app_us<br />
| 1.0.0<br />
| 16500 (0x4074)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116166 (0x1c5c6)<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_la_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_sa_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_frame_time_us<br />
| 1.0.0<br />
| 17000 (0x4268)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116666 (0x1c7ba)<br />
|-<br />
| rowspan="1" |gpu_scheduling_hidden_bg_la_us<br />
| 7.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_hidden_fg_la_us<br />
| 7.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_oa_us<br />
| 1.0.0+<br />
| 500 (0x1f4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_partial_fg_la_us<br />
| 1.0.0+<br />
| 2000 (0x7d0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= apm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |battery_draining_enabled<br />
| 1.0.0-7.0.1<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |performance_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_cpu_overclock_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_additional_delay_us<br />
| 1.0.0+<br />
| 16000 (0x3e80)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= audio =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |adsp_log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audin_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audout_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audren_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dev_feature_for_volume_mapping_table_enabled<br />
| 7.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwopus_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |suppress_additional_mic_check<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |suspend_for_debugger_enabled<br />
| 1.0.0-3.0.2<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |uac_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |uac_speaker_enabled<br />
| 3.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bcat =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_save_data_creation_for_development<br />
| 8.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bgtc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |battery_threshold_save<br />
| 2.0.0-2.3.0<br />
| 30 (0x1e)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="2" |battery_threshold_stop<br />
| 2.0.0-2.3.0<br />
| 15 (0xf)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="1" |enable_battery_saver<br />
| 2.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_halfawake<br />
| 3.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |leaving_halfawake_margin<br />
| 2.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |minimum_interval_normal<br />
| 2.0.0-6.2.0<br />
| 1800 (0x708)<br />
| rowspan="2" |<br />
|-<br />
| 7.0.0+<br />
| 1200 (0x4b0)<br />
|-<br />
| rowspan="1" |minimum_interval_save<br />
| 2.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= bluetooth_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= boot =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |boot_devmenuapp_installer<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_maintenance<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bpc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_quasi_off<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bsp0 =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |tm_transport<br />
| 1.0.0+<br />
| "USB"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb<br />
| 1.0.0+<br />
| "UDS"<br />
| rowspan="1" |<br />
|}<br />
<br />
= btm =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_pairing_device_name0<br />
| 9.0.0+<br />
| "NintendoGamepad"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name1<br />
| 9.0.0+<br />
| "Joy-Con"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name2<br />
| 9.0.0+<br />
| "Pro Controller"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name3<br />
| 9.0.0+<br />
| "Lic Pro Controller"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name4<br />
| 9.0.0+<br />
| "NES Controller"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name5<br />
| 9.0.0+<br />
| "HVC Controller"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name6<br />
| 9.0.0+<br />
| "SNES Controller"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name7<br />
| 9.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name8<br />
| 9.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |auto_pairing_device_name9<br />
| 9.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= capsrv =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |album_directory_path<br />
| 5.0.0+<br />
| "d:/Album"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_directory_change<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filehash_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filesign_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_filedata_verification<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |screenshot_layerstack<br />
| 1.0.0+<br />
| "screenshot"<br />
| rowspan="1" |<br />
|}<br />
<br />
= contents_delivery =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |acceptable_application_delivery_protocol_version<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_debug_api<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |required_system_version_to_deliver_application<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |updatable_firmware_group_string<br />
| 8.0.0-8.1.0<br />
| "1,3,4"<br />
| rowspan="2" |<br />
|-<br />
| 9.0.0+<br />
| "1,3,4,8,23"<br />
|}<br />
<br />
= creport =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |crash_screen_shot<br />
| 9.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= dauth =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |_dummy<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= devmenu =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_update_requried<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |development_mode<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_foreground_at_sleep_finish<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_update<br />
| 2.0.0-5.1.0<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_exhibition_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_resume_all<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_index_at_launch<br />
| 6.0.0+<br />
| -1 (0xffffffff)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eclct =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |analytics_override<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |analytics_pollperiod<br />
| 1.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= erpt =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= err =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |applet_auto_close<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= es =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |device_registration_type<br />
| 7.0.0-7.0.1<br />
| "ecc"<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0+<br />
| "auto"<br />
|-<br />
| rowspan="1" |unnecessary_prepurchase_record_margin_sec<br />
| 9.0.0+<br />
| 604800 (0x93a80)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eupld =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |upload_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= fatal =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |quest_reboot_interval_second<br />
| 4.1.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |show_extra_info<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_to_fatal<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= friends =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= gpu_core_dump =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |global_allocator_is_cache_enable<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= hdcp =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |authentication_timeout_ms<br />
| 4.0.0+<br />
| 12000 (0x2ee0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |stub_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hid_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ble_disabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disabled_features_per_id<br />
| 9.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |dscale_disabled<br />
| 6.0.0-6.0.1<br />
| true<br />
| rowspan="2" |<br />
|-<br />
| 6.1.0+<br />
| false<br />
|-<br />
| rowspan="1" |emulate_firmware_update_failure<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_future_device<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_mcu_hardware_error<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_debugpad<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_rail<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |firmware_update_failure_emulation_mode<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_handheld<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_devices<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_touch_ic_i2c<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= htc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disconnection_emulation<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= idle =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dim_level_percent_lcd<br />
| 1.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dim_level_percent_tv<br />
| 1.0.0+<br />
| 70 (0x46)<br />
| rowspan="1" |<br />
|}<br />
<br />
= jit_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_jit_debug<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= lbl =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_1st_coefficient<br />
| 4.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_2nd_coefficient<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_3rd_coefficient<br />
| 4.0.0+<br />
| 20 (0x14)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_disable_als<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vr_brightness_transition_frame<br />
| 5.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|}<br />
<br />
= lm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_sd_card_logging<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sd_card_log_output_directory<br />
| 1.0.0+<br />
| "NxBinLogs"<br />
| rowspan="1" |<br />
|}<br />
<br />
= migration =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ldn_connection_timeout_seconds<br />
| 4.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_data_migration_transfer_accept_message_timeout_seconds<br />
| 8.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_data_migration_wait_acceptance_timeout_seconds<br />
| 8.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_large_data_timeout_seconds<br />
| 4.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_low_speed_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_messaging_timeout_seconds<br />
| 4.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_small_data_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ui_acceptance_wait_timeout_seconds<br />
| 4.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|}<br />
<br />
= mii =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_db_test_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_img_db_test_mode_enabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nd =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |development_function_enabled<br />
| 5.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= news =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="6" |system_version<br />
| 2.0.0-2.3.0<br />
| 1 (0x1)<br />
| rowspan="6" |<br />
|-<br />
| 3.0.0-3.0.2<br />
| 2 (0x2)<br />
|-<br />
| 4.0.0-4.1.0<br />
| 3 (0x3)<br />
|-<br />
| 5.0.0-5.1.0<br />
| 4 (0x4)<br />
|-<br />
| 6.0.0-7.0.1<br />
| 5 (0x5)<br />
|-<br />
| 8.0.0+<br />
| 6 (0x6)<br />
|}<br />
<br />
= nfc =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |millau_h_compatibility_wait<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nfp =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |not_locked_tag<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |play_report<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ngc.t =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_reload_enabled<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |functionality_override_enabled<br />
| 9.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nifm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_config_timeout<br />
| 3.0.0+<br />
| 30000 (0x7530)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_test_timeout<br />
| 3.0.0+<br />
| 45000 (0xafc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ethernet_adapter_standby_time<br />
| 3.0.0+<br />
| 10000 (0x2710)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_communication_control_enabled_for_test<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nim.install =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_delta_stress_storage<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after_second<br />
| 6.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |edge_token_expiration_margin_seconds<br />
| 9.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |prefer_delta_evenif_inefficient<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_delay_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_still_unavailable_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_update_task_meta_version<br />
| 9.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|}<br />
<br />
= notification.presenter =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |alarm_pattern_total_repeat_count<br />
| 9.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |alarm_pattern_with_vibration_repeat_count<br />
| 9.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_retry_count<br />
| 9.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_timeout_in_milliseconds<br />
| 9.0.0+<br />
| 4000 (0xfa0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_presentation_delay_seconds<br />
| 9.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_debug_presentation_enabled<br />
| 9.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |notification_led_timeout_in_seconds<br />
| 9.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |snooze_count<br />
| 9.0.0+<br />
| 2 (0x2)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |snooze_interval_in_seconds<br />
| 9.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= npns =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |logmanager_redirection<br />
| 1.0.0<br />
| "false;"<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |sleep_max_try_count<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_periodic_interval<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_processing_timeout<br />
| 2.0.0+<br />
| 30 (0x1e)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.applet =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |overlay_applet_id<br />
| 1.0.0+<br />
| "0x010000000000100c"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shop_applet_id<br />
| 3.0.0+<br />
| "0x010000000000100b"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_applet_id<br />
| 1.0.0+<br />
| "0x0100000000001000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_id<br />
| <br />
| <br />
| rowspan="1" |Only exists on devunits, titleID for DevMenu.<br />
|-<br />
| rowspan="1" |devoverlaydisp_id<br />
| <br />
| <br />
| rowspan="1" |Only exists on devunits, titleID for dev Overlay-applet.<br />
|}<br />
<br />
= ns.application =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_id_on_blacklist<br />
| 5.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_license_flags_for_debug<br />
| 8.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_version_on_blacklist<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assign_all_device_linked_elicenses<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_add_on_content_with_no_rights_result_value<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_cache_storage_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_account_restricted_rights<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |max_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 90000 (0x15f90)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |preomia_application_id<br />
| 9.0.0+<br />
| "0x010070000E3C0000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |redirected_rom_storage_id_for_debug<br />
| 7.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wait_time_after_signal_for_dynamic_rights_observer<br />
| 6.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.autoboot =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.gamecard =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |check_erase_history_flag<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_gamecard_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |try_gamecard_access_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.notification =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_auto_update_waiting_limit<br />
| 9.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_system_update_waiting_limit<br />
| 9.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_list_waiting_limit<br />
| 9.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_waiting_limit<br />
| 3.0.0-8.1.0<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_task_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_ticket<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_network_update<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_random_wait<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_request_on_cold_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_send_rights_usage_status_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_sync_elicense_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_version_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |result_value_to_register_nt_for_dynamic_rights<br />
| 6.0.0-8.1.0<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 2.0.0-4.1.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_max<br />
| 5.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_min<br />
| 5.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit<br />
| 4.0.0-5.1.0<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_bias<br />
| 6.0.0+<br />
| 48 (0x30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_min<br />
| 6.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.promotion =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_update_promotion_info_from_bcat<br />
| 8.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.pseudodeviceid =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |reset_pseudo_device_id<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.sdcard =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cleanup_sdcard_result_value<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |compare_sdcard<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_sdcard<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.ticket =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |next_available_time_of_unexpected_error<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= nsd =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |environment_identifier<br />
| 1.0.0+<br />
| "lp1"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ntc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |autonomic_correction_failed_retry_interval_seconds<br />
| 1.0.0-2.3.0<br />
| 3600 (0xe10)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 1800 (0x708)<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_count_max<br />
| 1.0.0+<br />
| 4 (0x4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_interval_milliseconds<br />
| 1.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |autonomic_correction_interval_seconds<br />
| 1.0.0-2.1.0<br />
| 864000 (0xd2f00)<br />
| rowspan="2" |<br />
|-<br />
| 2.2.0+<br />
| 432000 (0x69780)<br />
|-<br />
| rowspan="1" |is_autonomic_correction_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nv =<br />
{| class="wikitable mw-collapsible mw-collapsed" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_filename<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_major_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_minor_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_boost<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_cut<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_enc_target_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_heavy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_reference_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cast.on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cde<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_auto_boost<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_disable<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_maxsize<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_devcode_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_max_connections<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_order<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_waits_on_exception<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_fast_ecc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_process_error_mode<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_enable_p2p_no_uva<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_force_ptx_jit<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_launch_blocking<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_managed_force_device_alloc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_set_watchdog<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_va_reservation_chunk_size<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_visible_devices<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noaud<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noavs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-sxesmode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-ulld<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_debug_mode<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_stay_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_timeout_ms_max<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |libandroid_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |media.aac_51_output_enabled<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_decompression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_dvfs_test<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_init_rate_hz<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_page_split<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_graphics_firmware_memory_margin<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_memory_profiler<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_always_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_safe_div<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_usb_plls_hw_ctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_winsys<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.profile<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.twod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvddk_vic_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_bl_ctrl<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_enable_ts<br />
| 2.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhdcp_max_retries<br />
| 3.0.0-3.0.2<br />
| "5"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="2" |nvhdcp_timeout_ms<br />
| 3.0.0-3.0.2<br />
| "12000"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="1" |nvhost_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhost_vic_memory_policy<br />
| 5.0.0-5.1.0<br />
| "0"<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |nvidia.hwc.control_modeset<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_config<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_layerlist<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_windows<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.enable_disp_trans<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.ftrace_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hdcp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.immediate_modeset<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.imp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_egl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_scratchblit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.null_display<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.war_1515812<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvmap_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_no_vsync_capability<br />
| 2.2.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_through_opengl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_flip_policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_hotplug_autoswitch<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_prefer_primary_layer<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_threads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_track_perf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_virtualdisplay_policy<br />
| 1.0.0+<br />
| "60hz"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_36lvajow<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_554expuw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_59ct6eds<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6aqelj8y<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6trs9rwi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_apapy18r<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_interleave<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_timeslice<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ci4wetrn<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_default_device_index<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_disable_compression<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dm7xllka<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dummy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_eepyr4lp<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gjwknsbf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gt1cb8jb<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_help<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_isewvh0s<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_lfkct7ht<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_liy1nc6l<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_m5qebtld<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_maiapsxj<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nbbeyqfm<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_disable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_do_nfa_partial_map<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_ecc_overrides<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_immediate_unmap<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_scg<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_as_get_va_regions<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_channel_abort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_cyclestats<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_fixed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_gpu_characteristics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_ioctl_mutex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_l3<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_map_buffer_ex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_dgpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_igpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_robustness<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_sparse<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_syncpoints<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_tsg<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zbc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zcull<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_wrap_channels_in_tsgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_omdtirby<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ometcz6b<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_osawipsf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_trace<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_uzfvtuhi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_v5tz4s00<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_vgeey2dw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xatkicfl<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xzoebcw9<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_yrghr5g6<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_zugirozd<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_log<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_fill<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.sys.display.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.fallb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor.virt<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.cursor.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.normal<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.video<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.disp.heads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gamma_correction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gpu_mapping_cache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.grlayout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.10<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.autorotate<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.hdr.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.ignore_ratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.limit.clock<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.only_16_9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.underscan<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.422<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.444<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hwc.nvdc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.idle.minimum_fps<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.panel.rotation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.stb.mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.zbc_override<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_set_production_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tegra.refresh<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.avp.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.buffer.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dec.prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.deint.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dfs.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ffprof.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.game.stream<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.general.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.input.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.seeking.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ts_pulldown<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_debug_ip<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_verbose_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |viccomposer.filter<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |viccomposer.highpriority<br />
| 7.0.0-7.0.1<br />
| ""<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0-8.1.0<br />
| "1"<br />
|-<br />
| rowspan="1" |viccomposer.normalpriority<br />
| 9.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |videostats-enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= olsc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |autonomy_registration_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |default_auto_upload_global_setting<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_global_transfer_task_autonomy_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_on_event_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_periodic_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |long_sleep_detection_seconds<br />
| 8.0.0+<br />
| 1468800 (0x166980)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_connection_polling_interval_seconds<br />
| 7.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_service_license_info_cache_expiration_seconds<br />
| 8.0.0+<br />
| 457200 (0x6f9f0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_trouble_detection_span_seconds<br />
| 7.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_trouble_detection_threshold<br />
| 7.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |postponed_transfer_task_processing_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_scale<br />
| 6.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_unit_seconds<br />
| 6.0.0+<br />
| 127 (0x7f)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_lost_connection_interval_seconds<br />
| 6.0.0-6.2.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_offset_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= omm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |backlight_off_ms_on_handheld_switch<br />
| 1.0.0+<br />
| 150 (0x96)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |charging_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hdcp_failed_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |low_battery_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |operation_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_in_ms<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_wait_layer_visible_ms<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_fade_in_ms<br />
| 1.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |sleep_fade_out_ms<br />
| 1.0.0<br />
| 200 (0xc8)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 100 (0x64)<br />
|-<br />
| rowspan="1" |sleep_on_ac_ok_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_in_ms<br />
| 1.0.0+<br />
| 200 (0xc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pcm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= pctl =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |intermittent_task_interval_seconds<br />
| 2.0.0+<br />
| 21600 (0x5460)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |post_event_interval_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pdm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_migrate_account_database<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_production<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_playlog<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= prepo =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |buffer_usage_for_immediately_flush<br />
| 7.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_prepo_page_view<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_save_log<br />
| 5.0.0-7.0.1<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |report_data_buffer_time<br />
| 7.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_log_level<br />
| 8.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_system_report<br />
| 7.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |statistics_post_interval<br />
| 6.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |statistics_save_interval_min<br />
| 5.0.0-5.1.0<br />
| 10 (0xa)<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
|-<br />
| rowspan="1" |transmission_interval_in_sleep<br />
| 6.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_interval_min<br />
| 3.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval<br />
| 3.0.0-5.1.0<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_max<br />
| 6.0.0+<br />
| 7200 (0x1c20)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_min<br />
| 6.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= productinfo =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cec_osd_name<br />
| 1.0.0+<br />
| "NintendoSwitch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |product_name<br />
| 1.0.0+<br />
| "Nintendo Switch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vendor_name<br />
| 4.0.0+<br />
| "Nintendo"<br />
| rowspan="1" |<br />
|}<br />
<br />
= psm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |charge_current_limit_milli_ampere<br />
| 4.0.0-6.2.0<br />
| 2048 (0x800)<br />
| rowspan="2" |<br />
|-<br />
| 7.0.0+<br />
| -1 (0xffffffff)<br />
|-<br />
| rowspan="1" |evaluation_log_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= push_notification =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |nup_notification_topic_id<br />
| 1.0.0<br />
| "nx_nup"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 1.0.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |subscribe_nup_notification<br />
| 1.0.0<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ro =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ease_nro_restriction<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= settings_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_debug_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_hdmi_cec_suppression_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= sio_hoag =<br />
This class does not exist before 9.0.0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |mcu_reset_on_command_retry_enabled<br />
| 9.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= snap_shot_dump =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |full_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_all_log<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_dir<br />
| 1.0.0+<br />
| "%USERPROFILE%/Documents/Nintendo/NXDMP"<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemconfig =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |exhivision<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |field_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systempowerstate =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |always_reboot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_emulation_trigger_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_to_emulate<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemreport =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemsleep =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disable_auto_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disable_tma_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dummy_event_auto_wake<br />
| 2.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sc7<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sleep<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hush_time_after_brief_power_button_press_ms<br />
| 1.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |keep_vdd_core<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |override_auto_sleep_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_pending_time_ms<br />
| 1.0.0+<br />
| 15000 (0x3a98)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_timeout_sec<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wake_pin_debug_mode<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemstartup =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_psc_wait<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemupdate =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |assumed_system_applet_version<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bgnup_retry_seconds<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id<br />
| 1.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id_for_content_delivery<br />
| 3.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_for_content_delivery<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_background_download_stress_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |enable_network_service<br />
| 1.0.0<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0-2.3.0<br />
| true<br />
|}<br />
<br />
= target_manager =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |device_name<br />
| 2.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= tc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |iir_filter_gain_pcb<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |iir_filter_gain_soc<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rate_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_console<br />
| 1.0.0-4.1.0<br />
| "[6182, 112480]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[6396, 119440]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6396, 119440]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_handheld<br />
| 1.0.0-4.1.0<br />
| "[5464, 174190]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[5817, 129580]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5817, 129580]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_rate_table_console<br />
| 1.0.0-4.1.0<br />
| "[[-1000000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
|-<br />
| rowspan="1" |tskin_rate_table_handheld<br />
| 1.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console<br />
| 1.0.0-5.1.0<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld<br />
| 1.0.0-5.1.0<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |use_configurations_on_fwdbg<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= tcap =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |continuous_high_skin_temperature_milli_seconds<br />
| 5.0.0+<br />
| 28800000 (0x1b77400)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |thermal_burn_prevention_mode_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= time =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |notify_time_to_fs_interval_seconds<br />
| 4.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_network_clock_sufficient_accuracy_minutes<br />
| 3.0.0+<br />
| 43200 (0xa8c0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_rtc_update_interval_minutes<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_test_offset_minutes<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |standard_user_clock_initial_year<br />
| 5.0.0-7.0.1<br />
| 2018 (0x7e2)<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0+<br />
| 2019 (0x7e3)<br />
|}<br />
<br />
= usb =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |show_pdc_boot_fatal<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb30_force_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= vulnerability =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_debug<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |needs_update_vulnerability_policy<br />
| 2.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= wlan_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_wlan_boot<br />
| 1.0.0-6.2.0<br />
| false<br />
| rowspan="1" |<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=System_Settings&diff=7491
System Settings
2019-08-22T22:56:55Z
<p>Misson20000: update for 8.0.1 (don't have 8.1.0 data right now)</p>
<hr />
<div>__NOTOC__<br />
Data sourced from 0100000000000818 archive.<br />
<br />
= account =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |na_license_verification_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |na_required_for_network_service<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_qualification_verification_enabled<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= account.daemon =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_awaking_periodicity<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_schedule_delay<br />
| 7.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |long_sleep_detection_threshold<br />
| 7.0.0+<br />
| 1468800 (0x166980)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="4" |na_info_refresh_interval<br />
| 2.0.0-5.0.0<br />
| 46800 (0xb6d0)<br />
| rowspan="4" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 72000 (0x11940)<br />
|-<br />
| 6.0.0-7.0.1<br />
| 46800 (0xb6d0)<br />
|-<br />
| 8.0.0+<br />
| 457200 (0x6f9f0)<br />
|-<br />
| rowspan="3" |profile_sync_interval<br />
| 2.0.0-5.0.0<br />
| 18000 (0x4650)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 172800 (0x2a300)<br />
|-<br />
| 6.0.0+<br />
| 18000 (0x4650)<br />
|-<br />
| rowspan="1" |schedule_periodicity<br />
| 2.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.debug =<br />
This class does not exist on retail firmware.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dev_function<br />
|<br />
|<br />
| rowspan="1" |Not set on retail firmware. Enables a few IPC commands and allows OpenSystem/OverlayAppletProxy when there is already a system/overlay applet.<br />
|-<br />
| cpu_boost_always_no_boost || ? || || Only used when [[Settings_services#GetDebugModeFlag]] returns 1.<br />
|}<br />
<br />
= am.display =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_immediate_update_caller_applet_capture<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |frame_buffer_sharing_level<br />
| 4.0.0-4.1.0<br />
| 0 (0x0)<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| 2 (0x2)<br />
|-<br />
| rowspan="1" |transition_layer_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.gpu =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |gpu_scheduling_bg_app_us<br />
| 1.0.0<br />
| 4834 (0x12e2)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 104500 (0x19834)<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_la_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_sa_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_fg_app_us<br />
| 1.0.0<br />
| 16500 (0x4074)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116166 (0x1c5c6)<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_la_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_sa_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_frame_time_us<br />
| 1.0.0<br />
| 17000 (0x4268)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116666 (0x1c7ba)<br />
|-<br />
| rowspan="1" |gpu_scheduling_hidden_bg_la_us<br />
| 7.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_hidden_fg_la_us<br />
| 7.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_oa_us<br />
| 1.0.0+<br />
| 500 (0x1f4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_partial_fg_la_us<br />
| 1.0.0+<br />
| 2000 (0x7d0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= apm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |battery_draining_enabled<br />
| 1.0.0-7.0.1<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |performance_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_cpu_overclock_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_additional_delay_us<br />
| 1.0.0+<br />
| 16000 (0x3e80)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= audio =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |adsp_log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audin_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audout_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audren_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dev_feature_for_volume_mapping_table_enabled<br />
| 7.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwopus_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |suppress_additional_mic_check<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |suspend_for_debugger_enabled<br />
| 1.0.0-3.0.2<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |uac_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |uac_speaker_enabled<br />
| 3.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bcat =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_save_data_creation_for_development<br />
| 8.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bgtc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |battery_threshold_save<br />
| 2.0.0-2.3.0<br />
| 30 (0x1e)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="2" |battery_threshold_stop<br />
| 2.0.0-2.3.0<br />
| 15 (0xf)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="1" |enable_battery_saver<br />
| 2.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_halfawake<br />
| 3.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |leaving_halfawake_margin<br />
| 2.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |minimum_interval_normal<br />
| 2.0.0-6.2.0<br />
| 1800 (0x708)<br />
| rowspan="2" |<br />
|-<br />
| 7.0.0+<br />
| 1200 (0x4b0)<br />
|-<br />
| rowspan="1" |minimum_interval_save<br />
| 2.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= bluetooth_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= boot =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |boot_devmenuapp_installer<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_maintenance<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bpc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_quasi_off<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bsp0 =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |tm_transport<br />
| 1.0.0+<br />
| "USB"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb<br />
| 1.0.0+<br />
| "UDS"<br />
| rowspan="1" |<br />
|}<br />
<br />
= capsrv =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |album_directory_path<br />
| 5.0.0+<br />
| "d:/Album"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_directory_change<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filehash_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filesign_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_filedata_verification<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |screenshot_layerstack<br />
| 1.0.0+<br />
| "screenshot"<br />
| rowspan="1" |<br />
|}<br />
<br />
= contents_delivery =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |acceptable_application_delivery_protocol_version<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_debug_api<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |required_system_version_to_deliver_application<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |updatable_firmware_group_string<br />
| 8.0.0+<br />
| "1,3,4"<br />
| rowspan="1" |<br />
|}<br />
<br />
= dauth =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |_dummy<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= devmenu =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_update_requried<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |development_mode<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_foreground_at_sleep_finish<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_update<br />
| 2.0.0-5.1.0<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_exhibition_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_resume_all<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_index_at_launch<br />
| 6.0.0+<br />
| -1 (0xffffffff)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eclct =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |analytics_override<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |analytics_pollperiod<br />
| 1.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= erpt =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= err =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |applet_auto_close<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= es =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |device_registration_type<br />
| 7.0.0-7.0.1<br />
| "ecc"<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0+<br />
| "auto"<br />
|}<br />
<br />
= eupld =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |upload_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= fatal =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |quest_reboot_interval_second<br />
| 4.1.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |show_extra_info<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_to_fatal<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= friends =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= gpu_core_dump =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hdcp =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |authentication_timeout_ms<br />
| 4.0.0+<br />
| 12000 (0x2ee0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |stub_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hid_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ble_disabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |dscale_disabled<br />
| 6.0.0-6.0.1<br />
| true<br />
| rowspan="2" |<br />
|-<br />
| 6.1.0+<br />
| false<br />
|-<br />
| rowspan="1" |emulate_firmware_update_failure<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_future_device<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_mcu_hardware_error<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_debugpad<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |firmware_update_failure_emulation_mode<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_handheld<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_devices<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_touch_ic_i2c<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= htc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disconnection_emulation<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= idle =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dim_level_percent_lcd<br />
| 1.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dim_level_percent_tv<br />
| 1.0.0+<br />
| 70 (0x46)<br />
| rowspan="1" |<br />
|}<br />
<br />
= jit_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_jit_debug<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= lbl =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_1st_coefficient<br />
| 4.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_2nd_coefficient<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_3rd_coefficient<br />
| 4.0.0+<br />
| 20 (0x14)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_disable_als<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vr_brightness_transition_frame<br />
| 5.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|}<br />
<br />
= lm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_sd_card_logging<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sd_card_log_output_directory<br />
| 1.0.0+<br />
| "NxBinLogs"<br />
| rowspan="1" |<br />
|}<br />
<br />
= migration =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ldn_connection_timeout_seconds<br />
| 4.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_data_migration_transfer_accept_message_timeout_seconds<br />
| 8.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_data_migration_wait_acceptance_timeout_seconds<br />
| 8.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_large_data_timeout_seconds<br />
| 4.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_low_speed_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_messaging_timeout_seconds<br />
| 4.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_small_data_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ui_acceptance_wait_timeout_seconds<br />
| 4.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|}<br />
<br />
= mii =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_db_test_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_img_db_test_mode_enabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nd =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |development_function_enabled<br />
| 5.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= news =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="6" |system_version<br />
| 2.0.0-2.3.0<br />
| 1 (0x1)<br />
| rowspan="6" |<br />
|-<br />
| 3.0.0-3.0.2<br />
| 2 (0x2)<br />
|-<br />
| 4.0.0-4.1.0<br />
| 3 (0x3)<br />
|-<br />
| 5.0.0-5.1.0<br />
| 4 (0x4)<br />
|-<br />
| 6.0.0-7.0.1<br />
| 5 (0x5)<br />
|-<br />
| 8.0.0+<br />
| 6 (0x6)<br />
|}<br />
<br />
= nfp =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |not_locked_tag<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |play_report<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nifm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_config_timeout<br />
| 3.0.0+<br />
| 30000 (0x7530)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_test_timeout<br />
| 3.0.0+<br />
| 45000 (0xafc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ethernet_adapter_standby_time<br />
| 3.0.0+<br />
| 10000 (0x2710)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_communication_control_enabled_for_test<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nim.install =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_delta_stress_storage<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after_second<br />
| 6.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |prefer_delta_evenif_inefficient<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_delay_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_still_unavailable_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= npns =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |logmanager_redirection<br />
| 1.0.0<br />
| "false;"<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |sleep_max_try_count<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_periodic_interval<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_processing_timeout<br />
| 2.0.0+<br />
| 30 (0x1e)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.applet =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |overlay_applet_id<br />
| 1.0.0+<br />
| "0x010000000000100c"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shop_applet_id<br />
| 3.0.0+<br />
| "0x010000000000100b"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_applet_id<br />
| 1.0.0+<br />
| "0x0100000000001000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_id<br />
| <br />
| <br />
| rowspan="1" |Only exists on devunits, titleID for DevMenu.<br />
|-<br />
| rowspan="1" |devoverlaydisp_id<br />
| <br />
| <br />
| rowspan="1" |Only exists on devunits, titleID for dev Overlay-applet.<br />
|}<br />
<br />
= ns.application =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_id_on_blacklist<br />
| 5.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_license_flags_for_debug<br />
| 8.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_version_on_blacklist<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assign_all_device_linked_elicenses<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_add_on_content_with_no_rights_result_value<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_cache_storage_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_account_restricted_rights<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |max_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 90000 (0x15f90)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |redirected_rom_storage_id_for_debug<br />
| 7.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wait_time_after_signal_for_dynamic_rights_observer<br />
| 6.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.autoboot =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.gamecard =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |mount_gamecard_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |try_gamecard_access_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.notification =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_waiting_limit<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_task_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_ticket<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_network_update<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_random_wait<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_request_on_cold_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_send_rights_usage_status_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_sync_elicense_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_version_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |result_value_to_register_nt_for_dynamic_rights<br />
| 6.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 2.0.0-4.1.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_max<br />
| 5.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_min<br />
| 5.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit<br />
| 4.0.0-5.1.0<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_bias<br />
| 6.0.0+<br />
| 48 (0x30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_min<br />
| 6.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.promotion =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_update_promotion_info_from_bcat<br />
| 8.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.pseudodeviceid =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |reset_pseudo_device_id<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.sdcard =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cleanup_sdcard_result_value<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |compare_sdcard<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_sdcard<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.ticket =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |next_available_time_of_unexpected_error<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= nsd =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |environment_identifier<br />
| 1.0.0+<br />
| "lp1"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ntc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |autonomic_correction_failed_retry_interval_seconds<br />
| 1.0.0-2.3.0<br />
| 3600 (0xe10)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 1800 (0x708)<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_count_max<br />
| 1.0.0+<br />
| 4 (0x4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_interval_milliseconds<br />
| 1.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |autonomic_correction_interval_seconds<br />
| 1.0.0-2.1.0<br />
| 864000 (0xd2f00)<br />
| rowspan="2" |<br />
|-<br />
| 2.2.0+<br />
| 432000 (0x69780)<br />
|-<br />
| rowspan="1" |is_autonomic_correction_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nv =<br />
{| class="wikitable mw-collapsible mw-collapsed" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_filename<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_major_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_minor_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_boost<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_cut<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_enc_target_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_heavy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_reference_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cast.on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cde<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_auto_boost<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_disable<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_maxsize<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_devcode_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_max_connections<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_order<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_waits_on_exception<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_fast_ecc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_process_error_mode<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_enable_p2p_no_uva<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_force_ptx_jit<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_launch_blocking<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_managed_force_device_alloc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_set_watchdog<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_va_reservation_chunk_size<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_visible_devices<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noaud<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noavs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-sxesmode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-ulld<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_debug_mode<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_stay_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_timeout_ms_max<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |libandroid_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |media.aac_51_output_enabled<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_decompression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_dvfs_test<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_init_rate_hz<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_page_split<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_graphics_firmware_memory_margin<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_memory_profiler<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_always_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_safe_div<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_usb_plls_hw_ctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_winsys<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.profile<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.twod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvddk_vic_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_bl_ctrl<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_enable_ts<br />
| 2.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhdcp_max_retries<br />
| 3.0.0-3.0.2<br />
| "5"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="2" |nvhdcp_timeout_ms<br />
| 3.0.0-3.0.2<br />
| "12000"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="1" |nvhost_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhost_vic_memory_policy<br />
| 5.0.0-5.1.0<br />
| "0"<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |nvidia.hwc.control_modeset<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_config<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_layerlist<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_windows<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.enable_disp_trans<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.ftrace_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hdcp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.immediate_modeset<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.imp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_egl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_scratchblit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.null_display<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.war_1515812<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvmap_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_no_vsync_capability<br />
| 2.2.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_through_opengl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_flip_policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_hotplug_autoswitch<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_prefer_primary_layer<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_threads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_track_perf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_virtualdisplay_policy<br />
| 1.0.0+<br />
| "60hz"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_36lvajow<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_554expuw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_59ct6eds<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6aqelj8y<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6trs9rwi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_apapy18r<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_interleave<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_timeslice<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ci4wetrn<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_default_device_index<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_disable_compression<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dm7xllka<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dummy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_eepyr4lp<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gjwknsbf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gt1cb8jb<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_help<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_isewvh0s<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_lfkct7ht<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_liy1nc6l<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_m5qebtld<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_maiapsxj<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nbbeyqfm<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_disable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_do_nfa_partial_map<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_ecc_overrides<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_immediate_unmap<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_scg<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_as_get_va_regions<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_channel_abort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_cyclestats<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_fixed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_gpu_characteristics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_ioctl_mutex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_l3<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_map_buffer_ex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_dgpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_igpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_robustness<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_sparse<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_syncpoints<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_tsg<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zbc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zcull<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_wrap_channels_in_tsgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_omdtirby<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ometcz6b<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_osawipsf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_trace<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_uzfvtuhi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_v5tz4s00<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_vgeey2dw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xatkicfl<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xzoebcw9<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_yrghr5g6<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_zugirozd<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_log<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_fill<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.sys.display.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.fallb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor.virt<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.cursor.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.normal<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.video<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.disp.heads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gamma_correction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gpu_mapping_cache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.grlayout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.10<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.autorotate<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.hdr.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.ignore_ratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.limit.clock<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.only_16_9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.underscan<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.422<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.444<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hwc.nvdc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.idle.minimum_fps<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.panel.rotation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.stb.mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.zbc_override<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_set_production_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tegra.refresh<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.avp.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.buffer.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dec.prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.deint.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dfs.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ffprof.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.game.stream<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.general.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.input.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.seeking.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ts_pulldown<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_debug_ip<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_verbose_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |viccomposer.filter<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |viccomposer.highpriority<br />
| 7.0.0-7.0.1<br />
| ""<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |videostats-enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= olsc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |autonomy_registration_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |default_auto_upload_global_setting<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_global_transfer_task_autonomy_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_on_event_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_periodic_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |long_sleep_detection_seconds<br />
| 8.0.0+<br />
| 1468800 (0x166980)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_connection_polling_interval_seconds<br />
| 7.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_service_license_info_cache_expiration_seconds<br />
| 8.0.0+<br />
| 457200 (0x6f9f0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_trouble_detection_span_seconds<br />
| 7.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |network_trouble_detection_threshold<br />
| 7.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |postponed_transfer_task_processing_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_scale<br />
| 6.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_unit_seconds<br />
| 6.0.0+<br />
| 127 (0x7f)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_lost_connection_interval_seconds<br />
| 6.0.0-6.2.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_offset_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= omm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |backlight_off_ms_on_handheld_switch<br />
| 1.0.0+<br />
| 150 (0x96)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |charging_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hdcp_failed_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |low_battery_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |operation_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_in_ms<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_wait_layer_visible_ms<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_fade_in_ms<br />
| 1.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |sleep_fade_out_ms<br />
| 1.0.0<br />
| 200 (0xc8)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 100 (0x64)<br />
|-<br />
| rowspan="1" |sleep_on_ac_ok_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_in_ms<br />
| 1.0.0+<br />
| 200 (0xc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pcm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= pctl =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |intermittent_task_interval_seconds<br />
| 2.0.0+<br />
| 21600 (0x5460)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |post_event_interval_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pdm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_migrate_account_database<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_production<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_playlog<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= prepo =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |buffer_usage_for_immediately_flush<br />
| 7.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_prepo_page_view<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_save_log<br />
| 5.0.0-7.0.1<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |report_data_buffer_time<br />
| 7.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_log_level<br />
| 8.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_system_report<br />
| 7.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |statistics_post_interval<br />
| 6.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |statistics_save_interval_min<br />
| 5.0.0-5.1.0<br />
| 10 (0xa)<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
|-<br />
| rowspan="1" |transmission_interval_in_sleep<br />
| 6.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_interval_min<br />
| 3.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval<br />
| 3.0.0-5.1.0<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_max<br />
| 6.0.0+<br />
| 7200 (0x1c20)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_min<br />
| 6.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= productinfo =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cec_osd_name<br />
| 1.0.0+<br />
| "NintendoSwitch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |product_name<br />
| 1.0.0+<br />
| "Nintendo Switch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vendor_name<br />
| 4.0.0+<br />
| "Nintendo"<br />
| rowspan="1" |<br />
|}<br />
<br />
= psm =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |charge_current_limit_milli_ampere<br />
| 4.0.0-6.2.0<br />
| 2048 (0x800)<br />
| rowspan="2" |<br />
|-<br />
| 7.0.0+<br />
| -1 (0xffffffff)<br />
|-<br />
| rowspan="1" |evaluation_log_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= push_notification =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |nup_notification_topic_id<br />
| 1.0.0<br />
| "nx_nup"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 1.0.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |subscribe_nup_notification<br />
| 1.0.0<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ro =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ease_nro_restriction<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= settings_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_debug_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_hdmi_cec_suppression_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= snap_shot_dump =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |full_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_all_log<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_dir<br />
| 1.0.0+<br />
| "%USERPROFILE%/Documents/Nintendo/NXDMP"<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemconfig =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |exhivision<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |field_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systempowerstate =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |always_reboot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_emulation_trigger_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_to_emulate<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemreport =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemsleep =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disable_auto_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disable_tma_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dummy_event_auto_wake<br />
| 2.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sc7<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sleep<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hush_time_after_brief_power_button_press_ms<br />
| 1.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |keep_vdd_core<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |override_auto_sleep_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_pending_time_ms<br />
| 1.0.0+<br />
| 15000 (0x3a98)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_timeout_sec<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wake_pin_debug_mode<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemstartup =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_psc_wait<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemupdate =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |assumed_system_applet_version<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bgnup_retry_seconds<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id<br />
| 1.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id_for_content_delivery<br />
| 3.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_for_content_delivery<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_background_download_stress_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |enable_network_service<br />
| 1.0.0<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0-2.3.0<br />
| true<br />
|}<br />
<br />
= target_manager =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |device_name<br />
| 2.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= tc =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |iir_filter_gain_pcb<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |iir_filter_gain_soc<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rate_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_console<br />
| 1.0.0-4.1.0<br />
| "[6182, 112480]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[6396, 119440]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6396, 119440]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_handheld<br />
| 1.0.0-4.1.0<br />
| "[5464, 174190]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[5817, 129580]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5817, 129580]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_rate_table_console<br />
| 1.0.0-4.1.0<br />
| "[[-1000000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
|-<br />
| rowspan="1" |tskin_rate_table_handheld<br />
| 1.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console<br />
| 1.0.0-5.1.0<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld<br />
| 1.0.0-5.1.0<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |use_configurations_on_fwdbg<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= tcap =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |continuous_high_skin_temperature_milli_seconds<br />
| 5.0.0+<br />
| 28800000 (0x1b77400)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |thermal_burn_prevention_mode_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= time =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |notify_time_to_fs_interval_seconds<br />
| 4.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_network_clock_sufficient_accuracy_minutes<br />
| 3.0.0+<br />
| 43200 (0xa8c0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_rtc_update_interval_minutes<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_test_offset_minutes<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |standard_user_clock_initial_year<br />
| 5.0.0-7.0.1<br />
| 2018 (0x7e2)<br />
| rowspan="2" |<br />
|-<br />
| 8.0.0+<br />
| 2019 (0x7e3)<br />
|}<br />
<br />
= usb =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |show_pdc_boot_fatal<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb30_force_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= vulnerability =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_debug<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |needs_update_vulnerability_policy<br />
| 2.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= wlan_debug =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_wlan_boot<br />
| 1.0.0-6.2.0<br />
| false<br />
| rowspan="1" |<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=7037
SVC
2019-06-19T21:47:21Z
<p>Misson20000: /* System calls */ svcCreatePort has been wrong for a while...</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano ||<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|-<br />
| 0x36 || [8.0.0+] svcSynchronizePreemptionState || None || W0=result<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || [[#svcCreateInterruptEvent]] || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || [[#svcContinueDebugEvent]] || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, X1=thread_id, X2=ThreadContext*, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=is_light, X4=name_ptr || W0=result, W1=serverport_handle, W2=clientport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || [[#svcCallSecureMonitor]] || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || s64 || Nanoseconds<br />
|-<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nanoseconds to 0, -1, or -2 indicates a yielding type.<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Value || Type<br />
|-<br />
| 0 || Yielding without core migration<br />
|-<br />
| -1 || Yielding with core migration<br />
|-<br />
| -2 || Yielding to any other thread<br />
|-<br />
|}<br />
</div><br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40.<br />
<br />
When zero handles are passed, this will wait forever until either timeout or cancellation occurs.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''KDebug:''' signals when there is a new [[#DebugEventInfo|DebugEvent]] (retrievable via [[#svcGetDebugEvent]]).<br />
<br />
'''KClientPort:''' signals when the number of sessions is less than the maximum allowed.<br />
<br />
'''KProcess:''' signals when the process undergoes a state change (retrievable via [[#svcGetProcessInfo]]).<br />
<br />
'''KReadableEvent:''' signals when the event's corresponding KWritableEvent has been signaled via svcSignalEvent.<br />
<br />
'''KServerPort:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''KServerSession:''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
'''KThread:''' signals when the thread has exited.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signaled before the timeout expired, or one of the objects is a Session with a closed remote. Handle index is updated to indicate which object signaled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xe601:''' Invalid address. Returned when the handles pointer is not a readable address. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signaled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xee01:''' Too many handles. Returned when the number of handles passed is > 0x40.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Process || 21 || 0 || [6.0.0+] TotalMemoryAvailableWithoutMmHeap<br />
|-<br />
| Process || 22 || 0 || [6.0.0+] TotalMemoryUsedWithoutMmHeap<br />
|-<br />
| Thread || 0xF0000002 || 0 || Scheduler related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
<br />
== svcCreateInterruptEvent ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || IrqNum<br />
|-<br />
| (In) W2 || bool || Flags<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<ReadableEvent> || ReadableEventHandle<br />
|}<br />
</div><br />
<br />
Create an event handle for the given IRQ number. Waiting on this handle will wait until the IRQ is triggered. The flags argument configures the triggering. If it is false, the IRQ is active HIGH level sensitive, if it is true it is rising-edge sensitive.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xF001:''' Flags was > 1<br />
<br />
'''0xF201:''' IRQ above 0x3FF or outside the [[NPDM#Kernel_Access_Control|IRQ access mask]] was given.<br />
<br />
'''0xCE01:''' A SlabHeap was exhausted (too many interrupts created).<br />
<br />
'''0xF401:''' IRQ already has an event registered.<br />
<br />
'''0xD201:''' The handle table is full. Try closing some handles.<br />
<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcContinueDebugEvent ==<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The process has been resumed.<br />
<br />
'''0xe401:''' Invalid debug handle.<br />
<br />
'''0xf401:''' Process has debug events queued or is already running.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u32* || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
CapabilitiesPtr points to an array of [[NPDM#Kernel_Access_Control|kernel capabilities]].<br />
CapabilitiesNum is a number of capabilities in the CapabilitiesPtr array (number of element, not number of bytes).<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xCA01:''' Attempted to map more code pages than available in address space.<br />
<br />
'''0xCC01:''' Provided CodeAddr is invalid (make sure it's in range?)<br />
<br />
'''0xE401:''' The resource handle passed is invalid.<br />
<br />
'''0xE601:''' Attempt to copy procinfo from user-supplied pointer failed. Attempt to copy capabilities_num from user-supplied pointer failed.<br />
<br />
'''0xE801:''' Attempted to create a 32-bit process with a 36-bit address space.<br />
<br />
'''0xF001:''' Unused bits are set in mmuflags. Unknown address space type used.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== svcCallSecureMonitor ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || [[SMC#ID_0|Function ID]]<br />
|-<br />
| (In) X1-X7 || u64 || SMC sub-arguments<br />
|-<br />
| (Out) X0 || [[SMC#Errors|SMC Result]] || Result of SMC<br />
|-<br />
| (Out) X1-X7 || u64 || SMC sub-output<br />
|}<br />
</div><br />
<br />
Takes in a SMC function ID in X0, and arguments for that SMC function in X1-X7.<br />
<br />
Passing an invalid SMC function ID or calling from a core other than core 3 will result in a secure monitor panic.<br />
<br />
The kernel parses bits 9-15 in the passed SMC function ID (per the ARM SMC calling convention), and when set uses as an indicator to translate a pointer in the associated register (X1-X7) to a physical address. The kernel will translate any address mapped as R-W, other addresses (R--, R-X, or invalid pointers) will be translated as 0/NULL.<br />
<br />
Output is returned raw from the Secure Monitor; X0 will be the untranslated SMC result and X1-X7 will contain other SMC output (or be unchanged, depending on the SMC).<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name || Description<br />
|-<br />
| 0 || 1 || General-purpose registers || If in 64-bit mode, GPRs 0–28 will be read/written. If in 32-bit mode, GPRs 0–12 will be read/written.<br />
|-<br />
| 1 || 2 || Control registers || Reads/writes the FP, LR, PC, SP, PSTATE, and TPIDR registers.<br />
|-<br />
| 2 || 4 || Floating-point registers || Reads/writes the floating-point vector registers.<br />
|-<br />
| 3 || 8 || Floating-point control registers || Reads/writes the FPCR and FPSR registers.<br />
|}<br />
<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0x0C || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| || || Bit11 || [7.0.0+] Only allowed in combination with bit6.<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle or zero<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
On [5.0.0] (maybe lower?) a zero ResourceLimitHandle defaults to sysmodule limits and 0x12300000 bytes of memory.<br />
<br />
The PersonalMmHeap are allocated as follows:<br />
* For the application, normal insecure pool is used. Carveout 5 is used to provide protection.<br />
* For the applet, a pre-allocated secure pool segment of size 0x400000 is used.<br />
* For sysmodules, secure pool is allocated.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcLocked (when IpcRefCount > 0)<br />
|-<br />
| 2 || IsDeviceShared (when DeviceRefCount > 0)<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed<br />
|-<br />
| 11 || NonDeviceIpcSendAllowed<br />
|-<br />
| 12 || NonSecureIpcSendAllowed<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_Ipc]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_NonSecureIpc]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_NonDeviceIpc]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
<nowiki>*</nowiki> Undefined instructions, software breakpoints, some other traps.<br />
<br />
<nowiki>**</nowiki> Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* FAR doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this is one of the following exceptions (it particular, that doesn't include FP exceptions occurring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, proceed to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creport attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || ExceptionFrameA64<br />
|}<br />
<br />
ExceptionFrameA64:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x48 (8*9) || GPRs 0..8.<br />
|-<br />
| 0x48 || 0x8 || lr<br />
|-<br />
| 0x50 || 0x8 || sp<br />
|-<br />
| 0x58 || 0x8 || pc (elr_el1)<br />
|-<br />
| 0x60 || 0x4 || pstate & 0xFF0FFE20<br />
|-<br />
| 0x64 || 0x4 || afsr0<br />
|-<br />
| 0x68 || 0x4 || afsr1<br />
|-<br />
| 0x6C || 0x4 || esr<br />
|-<br />
| 0x70 || 0x8 || far<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x44 || ExceptionFrameA32<br />
|}<br />
<br />
ExceptionFrameA32:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x20 (8*4) || GPRs 0..7.<br />
|-<br />
| 0x20 || 0x4 || sp<br />
|-<br />
| 0x24 || 0x4 || lr<br />
|-<br />
| 0x28 || 0x4 || pc (elr_el1)<br />
|-<br />
| 0x2C || 0x4 || tpidr_el0 = 1<br />
|-<br />
| 0x30 || 0x4 || cpsr & 0xFF0FFE20<br />
|-<br />
| 0x34 || 0x4 || afsr0<br />
|-<br />
| 0x38 || 0x4 || afsr1<br />
|-<br />
| 0x3C || 0x4 || esr<br />
|-<br />
| 0x40 || 0x4 || far<br />
|}<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
If an exception occurs from the above user handler, the entire exception handling process will repeat with the new exception.<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception<br />
<br />
Note that [[SMC|IsDebugMode]] is not used during exception-handling, except for enabling printing a message to UART-A. This UART code causes a system-hang on retail (likely due to a loop that doesn't exit). This printing doesn't seem to run when the process is attached for debugging?</div>
Misson20000
https://switchbrew.org/w/index.php?title=GRC_services&diff=6525
GRC services
2019-04-07T20:10:02Z
<p>Misson20000: /* grc:d */ thanks to Stary for initial research</p>
<hr />
<div>GRC (Game Recording) uses libstagefright and the NvMMLite TVMR library for writing [[4.0.0|recorded]] video to MP4s.<br />
<br />
Error reporting is done using the new [[NV_services#/dev/nverpt-ctrl|/dev/nverpt-ctrl]] ioctls.<br />
<br />
= grc:c =<br />
This is "nn::grcsrv::IGrcService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || OpenContinuousRecorder || Takes a total of 0x48-bytes of input and a handle, returns an [[#IContinuousRecorder]].<br />
|-<br />
| 2 || OpenGameMovieTrimmer || Takes a total of 0x8-bytes of input and a handle, returns an [[#IGameMovieTrimmer]].<br />
|-<br />
| 3 || || Takes a total of 0x8-bytes of input and a handle, returns an [[#IOffscreenRecorder]].<br />
|-<br />
| 101 || || Takes a total of 0x10-bytes of input, returns an [[#IMovieMaker]].<br />
|}<br />
<br />
== IContinuousRecorder ==<br />
This is "nn::grcsrv::IContinuousRecorder".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 ||<br />
|-<br />
| 2 ||<br />
|-<br />
| 10 ||<br />
|-<br />
| 11 ||<br />
|-<br />
| 12 ||<br />
|-<br />
| 13 ||<br />
|-<br />
| 14 ||<br />
|}<br />
<br />
== IGameMovieTrimmer ==<br />
This is "nn::grcsrv::IGameMovieTrimmer".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || BeginTrim<br />
|-<br />
| 2 || EndTrim<br />
|-<br />
| 10 || GetNotTrimmingEvent<br />
|-<br />
| 20 || SetThumbnailRgba<br />
|}<br />
<br />
= grc:d =<br />
This is "nn::grcsrv::IRemoteVideoTransfer".<br />
<br />
Added with [[6.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || || No input/output.<br />
|-<br />
| 2 || || Takes an input u32 (must be value 0-1) and a type-0x6 output buffer, returns a total of 0x10-bytes of output.<br />
|}<br />
<br />
== Cmd1 ==<br />
Begins video stream. Can only be called once.<br />
<br />
== Cmd2 ==<br />
Retrieves video data. Takes u32 "stream" (0: video, 1: audio), returns u32 (num_frames?), u32 data_size, u64 (start_timestamp?). Video stream writes H.264 NAL units to the output buffer (try <code>ffplay -f h264</code>). Official code uses buffer size 0x32000 for video, 0x1000 for audio, and multiple threads to read out both streams at the same time.<br />
<br />
= IOffscreenRecorder =<br />
This is "nn::grcsrv::IOffscreenRecorder".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 201 || || Takes a total of 0x8-bytes of input, returns a total of 0x8-bytes of output.<br />
|-<br />
| 202 || || Takes a total of 0x8-bytes of input, no output.<br />
|}<br />
<br />
= IMovieMaker =<br />
This is "nn::grcsrv::IMovieMaker".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 2 || [[#CreateVideoProxy]]<br />
|-<br />
| 9 || [7.0.0+] [[#SetAlbumShimLibraryVersion]]<br />
|-<br />
| 10 || [[#OpenOffscreenLayer]]<br />
|-<br />
| 11 || [[#CloseOffscreenLayer]]<br />
|-<br />
| 20 || [[#StartOffscreenRecording]]<br />
|-<br />
| 21 || [[#AbortOffscreenRecording]]<br />
|-<br />
| 22 || [[#RequestOffscreenRecordingFinishReady]]<br />
|-<br />
| 23 || [[#CompleteOffscreenRecordingFinish]]<br />
|-<br />
| 24 || [[#StartOffscreenRecordingEx]]<br />
|-<br />
| 25 || [[#CompleteOffscreenRecordingFinishEx0]]<br />
|-<br />
| 26 || [7.0.0+] [[#CompleteOffscreenRecordingFinishEx1]]<br />
|-<br />
| 30 || [[#GetOffscreenLayerError]]<br />
|-<br />
| 41 || [[#EncodeOffscreenLayerAudioSample]]<br />
|-<br />
| 50 || [[#GetOffscreenLayerRecordingFinishReadyEvent]]<br />
|-<br />
| 52 || [[#GetOffscreenLayerAudioEncodeReadyEvent]]<br />
|}<br />
<br />
== CreateVideoProxy ==<br />
No input, returns an [[#IHOSBinderDriver]].<br />
<br />
== SetAlbumShimLibraryVersion ==<br />
Takes a total of 8-bytes of input, no output.<br />
<br />
== OpenOffscreenLayer ==<br />
Takes an input u64 '''LayerHandle''', returns an output u32.<br />
<br />
== CloseOffscreenLayer ==<br />
Takes an input u64 '''LayerHandle''', no output.<br />
<br />
== StartOffscreenRecording ==<br />
Takes an input u64, no output.<br />
<br />
Seems to be unused by official user processes, [[#StartOffscreenRecordingEx]] is used instead.<br />
<br />
== AbortOffscreenRecording ==<br />
Takes an input u64 '''LayerHandle''', no output.<br />
<br />
== RequestOffscreenRecordingFinishReady ==<br />
Takes an input u64 '''LayerHandle''', no output.<br />
<br />
== StartOffscreenRecordingEx ==<br />
Takes an input u64 '''LayerHandle''' and an [[#OffscreenRecordingParameter]], no output.<br />
<br />
== CompleteOffscreenRecordingFinish ==<br />
Takes an input u64 '''LayerHandle''' and a type-0x5 input buffer, no output.<br />
<br />
Seems to be unused by official user processes, [[#CompleteOffscreenRecordingFinishEx0]] is used instead.<br />
<br />
== CompleteOffscreenRecordingFinishEx0 ==<br />
Takes two input u32s '''width'''/'''height''', an input u64 '''LayerHandle''' and 2 type-0x5 input buffers, no output.<br />
<br />
The input buffers are optional, addr=NULL and size=0 can be used for these.<br />
<br />
'''width'''/'''height''' must be 1280x720, these fields are unused afterwards.<br />
<br />
Besides '''width'''/'''height''', this is the same as [[#CompleteOffscreenRecordingFinish]] except the second buffer is user-specified instead of addr=NULL/size=0.<br />
<br />
== CompleteOffscreenRecordingFinishEx1 ==<br />
Takes two input u32s '''width'''/'''height''', an input u64 '''LayerHandle''' and two type-0x5 input buffers, returns a 0x20-byte output struct.<br />
<br />
Same as [[#CompleteOffscreenRecordingFinishEx0]] except the output struct is returned in the cmdreply.<br />
<br />
== EncodeOffscreenLayerAudioSample ==<br />
Takes an input u64 '''LayerHandle''' and a type-0x5 input buffer, returns an output u64.<br />
<br />
== GetOffscreenLayerError ==<br />
Takes an input u64 '''LayerHandle''', no output.<br />
<br />
== GetOffscreenLayerRecordingFinishReadyEvent ==<br />
Takes an input u64 '''LayerHandle''', returns an output event handle with autoclear disabled.<br />
<br />
== GetOffscreenLayerAudioEncodeReadyEvent ==<br />
Takes an input u64 '''LayerHandle''', returns an output event handle with autoclear disabled.<br />
<br />
= OffscreenRecordingParameter =<br />
This is a 0x80-byte struct.<br />
<br />
= IHOSBinderDriver =<br />
This is the same interface as NV [[Nvnflinger_services#dispdrv|IHOSBinderDriver]].<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=6473
SVC
2019-03-31T20:56:38Z
<p>Misson20000: /* svcContinueDebugEvent */ throws f401 when process is already running</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano ||<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || [[#svcCreateInterruptEvent]] || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || [[#svcContinueDebugEvent]] || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, X1=thread_id, X2=ThreadContext*, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=is_light, X4=name_ptr || W0=result, W1=clientport_handle, W2=serverport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || svcCallSecureMonitor || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || s64 || Nanoseconds<br />
|-<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nanoseconds to 0, -1, or -2 indicates a yielding type.<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Value || Type<br />
|-<br />
| 0 || Yielding without core migration<br />
|-<br />
| -1 || Yielding with core migration<br />
|-<br />
| -2 || Yielding to any other thread<br />
|-<br />
|}<br />
</div><br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40.<br />
<br />
When zero handles are passed, this will wait forever until either timeout or cancellation occurs.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''KDebug:''' signals when there is a new [[#DebugEventInfo|DebugEvent]] (retrievable via [[#svcGetDebugEvent]]).<br />
<br />
'''KClientPort:''' signals when the number of sessions is less than the maximum allowed.<br />
<br />
'''KProcess:''' signals when the process undergoes a state change (retrievable via [[#svcGetProcessInfo]]).<br />
<br />
'''KReadableEvent:''' signals when the event's corresponding KWritableEvent has been signaled via svcSignalEvent.<br />
<br />
'''KServerPort:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''KServerSession:''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
'''KThread:''' signals when the thread has exited.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signaled before the timeout expired, or one of the objects is a Session with a closed remote. Handle index is updated to indicate which object signaled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xe601:''' Invalid address. Returned when the handles pointer is not a readable address. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signaled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xee01:''' Too many handles. Returned when the number of handles passed is > 0x40.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Process || 21 || 0 || [6.0.0+] TotalMemoryAvailableWithoutMmHeap<br />
|-<br />
| Process || 22 || 0 || [6.0.0+] TotalMemoryUsedWithoutMmHeap<br />
|-<br />
| Thread || 0xF0000002 || 0 || Scheduler related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
<br />
== svcCreateInterruptEvent ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || IrqNum<br />
|-<br />
| (In) W2 || bool || Flags<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<ReadableEvent> || ReadableEventHandle<br />
|}<br />
</div><br />
<br />
Create an event handle for the given IRQ number. Waiting on this handle will wait until the IRQ is triggered. The flags argument configures the triggering. If it is false, the IRQ is active HIGH level sensitive, if it is true it is rising-edge sensitive.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xF001:''' Flags was > 1<br />
<br />
'''0xF201:''' IRQ above 0x3FF or outside the [[NPDM#Kernel_Access_Control|IRQ access mask]] was given.<br />
<br />
'''0xCE01:''' A SlabHeap was exhausted (too many interrupts created).<br />
<br />
'''0xF401:''' IRQ already has an event registered.<br />
<br />
'''0xD201:''' The handle table is full. Try closing some handles.<br />
<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcContinueDebugEvent ==<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The process has been resumed.<br />
<br />
'''0xe401:''' Invalid debug handle.<br />
<br />
'''0xf401:''' Process has debug events queued or is already running.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u32* || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
CapabilitiesPtr points to an array of [[NPDM#Kernel_Access_Control|kernel capabilities]].<br />
CapabilitiesNum is a number of capabilities in the CapabilitiesPtr array (number of element, not number of bytes).<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xCA01:''' Attempted to map more code pages than available in address space.<br />
<br />
'''0xCC01:''' Provided CodeAddr is invalid (make sure it's in range?)<br />
<br />
'''0xE401:''' The resource handle passed is invalid.<br />
<br />
'''0xE601:''' Attempt to copy procinfo from user-supplied pointer failed. Attempt to copy capabilities_num from user-supplied pointer failed.<br />
<br />
'''0xE801:''' Attempted to create a 32-bit process with a 36-bit address space.<br />
<br />
'''0xF001:''' Unused bits are set in mmuflags. Unknown address space type used.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextRequestFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name<br />
|-<br />
| 0 || 1 || NormalContext<br />
|-<br />
| 1 || 2 ||<br />
|-<br />
| 2 || 4 ||<br />
|-<br />
| 3 || 8 ||<br />
|}<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0x0C || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| || || Bit11 || [7.0.0+] Only allowed in combination with bit6.<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle or zero<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
On [5.0.0] (maybe lower?) a zero ResourceLimitHandle defaults to sysmodule limits and 0x12300000 bytes of memory.<br />
<br />
The PersonalMmHeap are allocated as follows:<br />
* For the application, normal insecure pool is used. Carveout 5 is used to provide protection.<br />
* For the applet, a pre-allocated secure pool segment of size 0x400000 is used.<br />
* For sysmodules, secure pool is allocated.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcLocked (when IpcRefCount > 0)<br />
|-<br />
| 2 || IsDeviceShared (when DeviceRefCount > 0)<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed<br />
|-<br />
| 11 || NonDeviceIpcSendAllowed<br />
|-<br />
| 12 || NonSecureIpcSendAllowed<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_Ipc]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_NonSecureIpc]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_NonDeviceIpc]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
<nowiki>*</nowiki> Undefined instructions, software breakpoints, some other traps.<br />
<br />
<nowiki>**</nowiki> Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* FAR doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this is one of the following exceptions (it particular, that doesn't include FP exceptions occurring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, proceed to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creport attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || ExceptionFrameA64<br />
|}<br />
<br />
ExceptionFrameA64:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x48 (8*9) || GPRs 0..8.<br />
|-<br />
| 0x48 || 0x8 || lr<br />
|-<br />
| 0x50 || 0x8 || sp<br />
|-<br />
| 0x58 || 0x8 || pc (elr_el1)<br />
|-<br />
| 0x60 || 0x4 || pstate & 0xFF0FFE20<br />
|-<br />
| 0x64 || 0x4 || afsr0<br />
|-<br />
| 0x68 || 0x4 || afsr1<br />
|-<br />
| 0x6C || 0x4 || esr<br />
|-<br />
| 0x70 || 0x8 || far<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x44 || ExceptionFrameA32<br />
|}<br />
<br />
ExceptionFrameA32:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x20 (8*4) || GPRs 0..7.<br />
|-<br />
| 0x20 || 0x4 || sp<br />
|-<br />
| 0x24 || 0x4 || lr<br />
|-<br />
| 0x28 || 0x4 || pc (elr_el1)<br />
|-<br />
| 0x2C || 0x4 || tpidr_el0 = 1<br />
|-<br />
| 0x30 || 0x4 || cpsr & 0xFF0FFE20<br />
|-<br />
| 0x34 || 0x4 || afsr0<br />
|-<br />
| 0x38 || 0x4 || afsr1<br />
|-<br />
| 0x3C || 0x4 || esr<br />
|-<br />
| 0x40 || 0x4 || far<br />
|}<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
If an exception occurs from the above user handler, the entire exception handling process will repeat with the new exception.<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception<br />
<br />
Note that [[SMC|IsDebugMode]] is not used during exception-handling, except for enabling printing a message to UART-A. This UART code causes a system-hang on retail (likely due to a loop that doesn't exit). This printing doesn't seem to run when the process is attached for debugging?</div>
Misson20000
https://switchbrew.org/w/index.php?title=Applet_Manager_services&diff=6314
Applet Manager services
2019-02-26T09:47:20Z
<p>Misson20000: keep the names, please</p>
<hr />
<div>AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.<br />
<br />
Contains multiple raw images, with at least the following: "NN_OMM_CHARGING_BIN_{begin|end}"(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.<br />
<br />
= appletAE =<br />
This is "nn::am::service::IAllSystemAppletProxiesService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].<br />
|-<br />
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].<br />
|-<br />
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].<br />
|-<br />
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].<br />
|-<br />
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.<br />
<br />
This service is used by all system non-regular-applications.<br />
<br />
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):<br />
* "qlaunch": SystemApplet<br />
* "overlay": OverlayApplet<br />
* "starter": SystemApplication<br />
* "maintenance": SystemApplet<br />
* All others: LibraryApplet<br />
<br />
== OpenLibraryAppletProxy ==<br />
Returns an [[#ILibraryAppletProxy]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.<br />
<br />
Official user-processes use the same retry loop with this as the other Open*Proxy commands.<br />
<br />
== ISystemAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].<br />
|-<br />
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].<br />
|-<br />
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].<br />
|-<br />
| 23 || [7.0.0+] GetAppletCommonFunctions || Returns an [[#IAppletCommonFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IHomeMenuFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || RequestToGetForeground || <br />
|-<br />
| 11 || LockForeground ||<br />
|-<br />
| 12 || UnlockForeground || <br />
|-<br />
| 20 || [[#PopFromGeneralChannel]] || <br />
|-<br />
| 21 || [[#GetPopFromGeneralChannelEvent]] ||<br />
|-<br />
| 30 || [[#GetHomeButtonWriterLockAccessor]] || <br />
|-<br />
| 31 || [2.0.0+] [[#GetWriterLockAccessorEx]] || <br />
|-<br />
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
==== PopFromGeneralChannel ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopFromGeneralChannelEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetHomeButtonWriterLockAccessor ====<br />
No input, returns an output [[#ILockAccessor]].<br />
<br />
==== GetWriterLockAccessorEx ====<br />
Takes an input u32, returns an output [[#ILockAccessor]].<br />
<br />
==== ILockAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || TryLock<br />
|-<br />
| 2 || Unlock<br />
|-<br />
| 3 || [[#GetEvent]]<br />
|}<br />
<br />
===== GetEvent =====<br />
No input, returns an output handle.<br />
<br />
=== IGlobalStateController ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || RequestToEnterSleep || <br />
|-<br />
| 1 || EnterSleep || <br />
|-<br />
| 2 || StartSleepSequence || <br />
|-<br />
| 3 || StartShutdownSequence || <br />
|-<br />
| 4 || StartRebootSequence || <br />
|-<br />
| 9 || [7.0.0+] [[#IsAutoPowerDownRequested]] ||<br />
|-<br />
| 10 || LoadAndApplyIdlePolicySettings || <br />
|-<br />
| 11 || [2.0.0+] NotifyCecSettingsChanged || <br />
|-<br />
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime || <br />
|-<br />
| 13 || [2.0.0+] UpdateDefaultDisplayResolution || <br />
|-<br />
| 14 || [2.0.0+] [[#ShouldSleepOnBoot]] || <br />
|-<br />
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent || <br />
|}<br />
<br />
==== IsAutoPowerDownRequested ====<br />
No input, returns an output u8 bool.<br />
<br />
==== ShouldSleepOnBoot ====<br />
No input, returns an output u8 bool.<br />
<br />
=== IApplicationCreator ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateApplication]] || <br />
|-<br />
| 1 || [[#PopLaunchRequestedApplication]] || <br />
|-<br />
| 10 || [[#CreateSystemApplication]] || <br />
|-<br />
| 100 || [[#PopFloatingApplicationForDevelopment]] || <br />
|}<br />
<br />
==== CreateApplication ====<br />
Takes an input u64 <code>nn::ncm::ApplicationId</code>(titleID), returns an [[#IApplicationAccessor]].<br />
<br />
==== PopLaunchRequestedApplication ====<br />
No input, returns an [[#IApplicationAccessor]].<br />
<br />
==== CreateSystemApplication ====<br />
Takes an input u64 <code>nn::ncm::SystemApplicationId</code>, returns an [[#IApplicationAccessor]].<br />
<br />
==== PopFloatingApplicationForDevelopment ====<br />
No input, returns an [[#IApplicationAccessor]].<br />
<br />
==== IApplicationAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]] ||<br />
|-<br />
| 1 || [[#IsCompleted]] ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit || <br />
|-<br />
| 25 || Terminate || <br />
|-<br />
| 30 || GetResult || <br />
|-<br />
| 101 || RequestForApplicationToGetForeground || <br />
|-<br />
| 110 || TerminateAllLibraryApplets || <br />
|-<br />
| 111 || AreAnyLibraryAppletsLeft || <br />
|-<br />
| 112 || [[#GetCurrentLibraryApplet]] || <br />
|-<br />
| 120 || GetApplicationId || <br />
|-<br />
| 121 || [[#PushLaunchParameter]] || <br />
|-<br />
| 122 || GetApplicationControlProperty || <br />
|-<br />
| 123 || [2.0.0+] GetApplicationLaunchProperty || <br />
|-<br />
| 124 || [6.0.0+] GetApplicationLaunchRequestInfo || <br />
|-<br />
| 130 || [6.0.0+] SetUsers || <br />
|-<br />
| 131 || [6.0.0+] CheckRightsEnvironmentAvailable || <br />
|-<br />
| 132 || [6.0.0+] GetNsRightsEnvironmentHandle || <br />
|-<br />
| 140 || [6.0.0+] GetDesirableUids || <br />
|-<br />
| 150 || [6.0.0+] ReportApplicationExitTimeout || <br />
|}<br />
<br />
Commands <=30 are inherited from [[#IAppletAccessor]].<br />
<br />
===== GetCurrentLibraryApplet =====<br />
No input, returns an output [[#IAppletAccessor]].<br />
<br />
===== PushLaunchParameter =====<br />
Takes an input u32 and an input [[#IStorage]], no output.<br />
<br />
===== IAppletAccessor =====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]]<br />
|-<br />
| 1 || [[#IsCompleted]]<br />
|-<br />
| 10 || [[#Start]]<br />
|-<br />
| 20 || [[#RequestExit]]<br />
|-<br />
| 25 || [[#Terminate]]<br />
|-<br />
| 30 || [[#GetResult]]<br />
|}<br />
<br />
==== GetAppletStateChangedEvent ====<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
==== IsCompleted ====<br />
No input, returns an output u8 bool.<br />
<br />
==== Start ====<br />
No input/output.<br />
<br />
==== RequestExit ====<br />
No input/output.<br />
<br />
==== Terminate ====<br />
No input/output.<br />
<br />
==== GetResult====<br />
No input/output.<br />
<br />
== IAppletCommonFunctions ==<br />
Added with [[7.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || ReadThemeStorage || Takes an input u64 '''offset''' and a type-0x22 output buffer, returns an output u64 '''actual_transfer_size'''.<br />
|-<br />
| 11 || WriteThemeStorage || Takes an input u64 '''offset''' and a type-0x21 input buffer, no output.<br />
|}<br />
<br />
These commands copy data from/to a state buffer and the user specified buffer. The size of the state buffer is 0x400-bytes.<br />
<br />
== ILibraryAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || OpenLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].<br />
|-<br />
| 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== ILibraryAppletSelfAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#PopInData]] || <br />
|-<br />
| 1 || [[#PushOutData]] || <br />
|-<br />
| 2 || [[#PopInteractiveInData]] || <br />
|-<br />
| 3 || [[#PushInteractiveOutData]] || <br />
|-<br />
| 5 || [[#GetPopInDataEvent]] ||<br />
|-<br />
| 6 || [[#GetPopInteractiveInDataEvent]] ||<br />
|-<br />
| 10 || [[#ExitProcessAndReturn]] ||<br />
|-<br />
| 11 || [[#GetLibraryAppletInfo]] ||<br />
|-<br />
| 12 || GetMainAppletIdentityInfo ||<br />
|-<br />
| 13 || [[#CanUseApplicationCore]] ||<br />
|-<br />
| 14 || GetCallerAppletIdentityInfo ||<br />
|-<br />
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||<br />
|-<br />
| 16 || [2.0.0+] [[#GetMainAppletStorageId]] ||<br />
|-<br />
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||<br />
|-<br />
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||<br />
|-<br />
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||<br />
|-<br />
| 20 || [[#PopExtraStorage]] || <br />
|-<br />
| 25 || [[#GetPopExtraStorageEvent]] ||<br />
|-<br />
| 30 || [[#UnpopInData]] || <br />
|-<br />
| 31 || [[#UnpopExtraStorage]] || <br />
|-<br />
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||<br />
|-<br />
| 50 || [2.0.0+] ReportVisibleError ||<br />
|-<br />
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||<br />
|-<br />
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||<br />
|-<br />
| 80 || [6.0.0+] RequestExitToSelf ||<br />
|-<br />
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||<br />
|-<br />
| 100 || [4.0.0+] [[#CreateGameMovieTrimmer]] ||<br />
|-<br />
| 101 || [6.0.0+] ReserveResourceForMovieOperation ||<br />
|-<br />
| 102 || [6.0.0+] UnreserveResourceForMovieOperation ||<br />
|-<br />
| 110 || [6.0.0+] GetMainAppletAvailableUsers ||<br />
|}<br />
<br />
==== PopInData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushOutData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopInteractiveInData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushInteractiveOutData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== GetPopInDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetPopInteractiveInDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetMainAppletStorageId ====<br />
No input, returns an output u8 storageId.<br />
<br />
==== ExitProcessAndReturn ====<br />
No input/output.<br />
<br />
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).<br />
<br />
==== GetLibraryAppletInfo ====<br />
No input. Returns an output [[#LibraryAppletInfo]].<br />
<br />
==== CanUseApplicationCore ====<br />
No input, returns an output u8 bool.<br />
<br />
==== PopExtraStorage ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopExtraStorageEvent ====<br />
No input, returns an output handle.<br />
<br />
==== UnpopInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== UnpopExtraStorage ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== GetMainAppletApplicationDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== CreateGameMovieTrimmer ====<br />
Takes an input u64 and handle, returns a GRC [[GRC_services#IGameMovieTrimmer|IGameMovieTrimmer]].<br />
<br />
== IOverlayAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].<br />
|-<br />
| 21 || [7.0.0+] GetAppletCommonFunctions || No input, returns an [[#IAppletCommonFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IOverlayFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || BeginToWatchShortHomeButtonMessage<br />
|-<br />
| 1 || EndToWatchShortHomeButtonMessage<br />
|-<br />
| 2 || GetApplicationIdForLogo<br />
|-<br />
| 3 || SetGpuTimeSliceBoost<br />
|-<br />
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled<br />
|-<br />
| 5 || [2.0.0+] TerminateApplicationAndSetReason<br />
|-<br />
| 6 || [2.0.0+] SetScreenShotPermissionGlobally<br />
|-<br />
| 10 || [6.0.0+] StartShutdownSequenceForOverlay<br />
|-<br />
| 11 || [6.0.0+] StartRebootSequenceForOverlay<br />
|-<br />
| 90 || [7.0.0+] SetRequiresGpuResourceUse<br />
|-<br />
| 101 || [6.0.0+] BeginToObserveHidInputForDevelop<br />
|}<br />
<br />
==== SetRequiresGpuResourceUse ====<br />
Takes an input u8, no output.<br />
<br />
== IApplicationProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IApplicationFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || [[#PopLaunchParameter]] || <br />
|-<br />
| 10 || [[#CreateApplicationAndPushAndRequestToStart]] || <br />
|-<br />
| 11 || [3.0.0+] [[#CreateApplicationAndPushAndRequestToStartForQuest]] || <br />
|-<br />
| 12 || [4.0.0+] [[#CreateApplicationAndRequestToStart]] || <br />
|-<br />
| 13 || [4.0.0+] [[#CreateApplicationAndRequestToStartForQuest]] || <br />
|-<br />
| 14 || [7.0.0+] CreateApplicationWithAttributeAndPushAndRequestToStartForQuest || Takes a total of 8-bytes and a type-0x15 input buffer, return an output [[#IStorage]].<br />
|-<br />
| 15 || [7.0.0+] CreateApplicationWithAttributeAndRequestToStartForQuest || Takes a total of 8-bytes and a type-0x15 input buffer, no output.<br />
|-<br />
| 20 || EnsureSaveData ||<br />
|-<br />
| 21 || [[#GetDesiredLanguage]] ||<br />
|-<br />
| 22 || [[#SetTerminateResult]] ||<br />
|-<br />
| 23 || GetDisplayVersion ||<br />
|-<br />
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||<br />
|-<br />
| 25 || [2.0.0+] ExtendSaveData ||<br />
|-<br />
| 26 || [2.0.0+] GetSaveDataSize ||<br />
|-<br />
| 27 || [5.0.0+] CreateCacheStorage ||<br />
|-<br />
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 31 || [[#EndBlockingHomeButtonShortAndLongPressed]] ||<br />
|-<br />
| 32 || [[#BeginBlockingHomeButton]] ||<br />
|-<br />
| 33 || [[#EndBlockingHomeButton]] ||<br />
|-<br />
| 40 || [[#NotifyRunning]] ||<br />
|-<br />
| 50 || [2.0.0+] GetPseudoDeviceId ||<br />
|-<br />
| 60 || [2.0.0+] [[#SetMediaPlaybackStateForApplication]] ||<br />
|-<br />
| 65 || [3.0.0+] [[#IsGamePlayRecordingSupported]] ||<br />
|-<br />
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||<br />
|-<br />
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||<br />
|-<br />
| 68 || [4.0.0+] [[#RequestFlushGamePlayingMovieForDebug]] || <br />
|-<br />
| 70 || [3.0.0+] [[#RequestToShutdown]] ||<br />
|-<br />
| 71 || [3.0.0+] [[#RequestToReboot]] ||<br />
|-<br />
| 80 || [4.0.0+] [[#ExitAndRequestToShowThanksMessage]] || <br />
|-<br />
| 90 || [4.0.0+] [[#EnableApplicationCrashReport]] || <br />
|-<br />
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || <br />
|-<br />
| 101 || [5.0.0+] SetApplicationCopyrightImage || <br />
|-<br />
| 102 || [5.0.0+] [[#SetApplicationCopyrightVisibility]] || <br />
|-<br />
| 110 || [5.0.0+] [[#QueryApplicationPlayStatistics]] || <br />
|-<br />
| 111 || [6.0.0+] QueryApplicationPlayStatisticsByUid || <br />
|-<br />
| 120 || [5.0.0+] ExecuteProgram || <br />
|-<br />
| 121 || [5.0.0+] [[#ClearUserChannel]] || <br />
|-<br />
| 122 || [5.0.0+] UnpopToUserChannel || <br />
|-<br />
| 123 || [6.0.0+] GetPreviousProgramIndex || <br />
|-<br />
| 124 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash || <br />
|-<br />
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || <br />
|-<br />
| 1000 || [5.0.0+] [[#CreateMovieMaker]] || <br />
|-<br />
| 1001 || [5.0.0+] [[#PrepareForJit]] ||<br />
|}<br />
<br />
The BOTW game uses this GamePlayRecording functionality from the main-nso "nninitStartup" function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):<br />
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.<br />
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.<br />
* Closes the TransferMemory handle, + TransferMemory cleanup.<br />
* Uses [[#SetGamePlayRecordingState]] with value 0x1.<br />
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].<br />
<br />
==== PopLaunchParameter ====<br />
Takes an input u32 [[#LaunchParameterKind]], returns an output [[#IStorage]].<br />
<br />
Pops a LaunchParameter [[#IStorage]], the storage will be removed from sysmodule state during this.<br />
<br />
==== CreateApplicationAndPushAndRequestToStart ====<br />
Takes an input u64 titleID and an input [[#IStorage]], no output. titleID=0 can be used to relaunch the current application.<br />
<br />
==== CreateApplicationAndPushAndRequestToStartForQuest ====<br />
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest), an input u64 titleID, and an input [[#IStorage]], no output.<br />
<br />
==== CreateApplicationAndRequestToStart ====<br />
Takes an input u64 titleID, no output.<br />
<br />
Same as [[#CreateApplicationAndPushAndRequestToStart]] except without the input storage, official sw uses this when no input storage is specified.<br />
<br />
==== CreateApplicationAndRequestToStartForQuest ====<br />
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest) and an input u64 titleID, no output.<br />
<br />
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except without the input storage, official sw uses this when no input storage is specified.<br />
<br />
==== GetDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== SetTerminateResult ====<br />
Takes an input u32 '''Result''', no output.<br />
<br />
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.<br />
<br />
==== EndBlockingHomeButtonShortAndLongPressed ====<br />
No input/output.<br />
<br />
==== BeginBlockingHomeButton ====<br />
Takes an input s64 nanoseconds, no output. The input nanoseconds can be zero.<br />
<br />
==== EndBlockingHomeButton ====<br />
No input/output.<br />
<br />
==== NotifyRunning ====<br />
Takes no input. Returns an output u8 bool, which is ignored by official user-processes.<br />
<br />
==== SetMediaPlaybackStateForApplication ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== IsGamePlayRecordingSupported ====<br />
No input, returns an output u8 bool.<br />
<br />
==== InitializeGamePlayRecording ====<br />
Takes a TransferMemory handle and an u64 for the size of the TransferMemory. The size must match 0x6000000 otherwise an error is returned.<br />
<br />
==== SetGamePlayRecordingState ====<br />
Takes an input u32. 0 = disable/pause, 1 = enable/restart.<br />
<br />
==== RequestFlushGamePlayingMovieForDebug ====<br />
No input/output.<br />
<br />
==== RequestToShutdown ====<br />
No input/output.<br />
<br />
==== RequestToReboot ====<br />
No input/output.<br />
<br />
==== ExitAndRequestToShowThanksMessage ====<br />
No input/output.<br />
<br />
Used to exit the application and return to the kiosk menu. Official sw uses [[#UnlockExit]] immediately before this.<br />
<br />
==== EnableApplicationCrashReport ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== SetApplicationCopyrightVisibility ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== QueryApplicationPlayStatistics ====<br />
Takes a type-0x6 output buffer containing an array of ApplicationPlayStatistics and a type-0x5 input buffer containing an array of u64 titleIDs. Returns an output s32 (actual total output entries?).<br />
<br />
The number of entries in each array is the same. ApplicationPlayStatistics is a 8-byte struct.<br />
<br />
==== ClearUserChannel ====<br />
No input/output.<br />
<br />
==== CreateMovieMaker ====<br />
Takes an input u64 and handle, returns an [[#IMovieMaker]].<br />
<br />
==== PrepareForJit ====<br />
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.<br />
<br />
=== IMovieMaker ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetGrcMovieMaker]]<br />
|-<br />
| 1 || [[#GetLayerHandle]]<br />
|}<br />
<br />
==== GetGrcMovieMaker ====<br />
No input, returns a GRC [[GRC_services|IMovieMaker]].<br />
<br />
==== GetLayerHandle ====<br />
No input, returns an output u64.<br />
<br />
== ILibraryAppletCreator ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateLibraryApplet]] || <br />
|-<br />
| 1 || [[#TerminateAllLibraryApplets]] ||<br />
|-<br />
| 2 || [[#AreAnyLibraryAppletsLeft]] ||<br />
|-<br />
| 10 || [[#CreateStorage]] || <br />
|-<br />
| 11 || [[#CreateTransferMemoryStorage]] || <br />
|-<br />
| 12 || [2.0.0+] [[#CreateHandleStorage]] || <br />
|}<br />
<br />
=== CreateLibraryApplet ===<br />
Takes 2 input u32s [[#AppletId]] and [[#LibraryAppletMode]], returns an [[#ILibraryAppletAccessor]].<br />
<br />
=== TerminateAllLibraryApplets ===<br />
No input/output.<br />
<br />
=== AreAnyLibraryAppletsLeft ===<br />
No input, returns an output u8 bool.<br />
<br />
=== CreateStorage ===<br />
Takes an input s64 for the storage size, returns an [[#IStorage]].<br />
<br />
This allocates a buffer with the specified size which can then be accessed via [[#IStorageAccessor]].<br />
<br />
=== CreateTransferMemoryStorage ===<br />
Takes an input TransferMemory copy-handle, an input u8 bool, and an s64 size, returns an [[#IStorage]].<br />
<br />
The user-process creates the TransferMemory with permissions=0.<br />
<br />
The TransferMemory is mapped, which can then be accessed via [[#IStorageAccessor]]. The input bool controls whether writing to the storage is allowed: [[#Write]] will throw an error if this flag is not set.<br />
<br />
=== CreateHandleStorage ===<br />
Takes an input copy-handle and an input s64, returns an [[#IStorage]]. In some cases the s64 must not have the negative bit set.<br />
<br />
The input can be arbitrary, however official sw is only (?) known to use this for TransferMemory (with s64=size).<br />
<br />
=== ILibraryAppletAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]] ||<br />
|-<br />
| 1 || [[#IsCompleted]] ||<br />
|-<br />
| 10 || [[#Start]] ||<br />
|-<br />
| 20 || [[#RequestExit]] ||<br />
|-<br />
| 25 || [[#Terminate]] ||<br />
|-<br />
| 30 || [[#GetResult]] ||<br />
|-<br />
| 50 || [[#SetOutOfFocusApplicationSuspendingEnabled]] ||<br />
|-<br />
| 100 || [[#PushInData]] || <br />
|-<br />
| 101 || [[#PopOutData]] || <br />
|-<br />
| 102 || [[#PushExtraStorage]] || <br />
|-<br />
| 103 || [[#PushInteractiveInData]] || <br />
|-<br />
| 104 || [[#PopInteractiveOutData]] || <br />
|-<br />
| 105 || [[#GetPopOutDataEvent]] ||<br />
|-<br />
| 106 || [[#GetPopInteractiveOutDataEvent]] ||<br />
|-<br />
| 110 || [[#NeedsToExitProcess]] ||<br />
|-<br />
| 120 || [[#GetLibraryAppletInfo]] || <br />
|-<br />
| 150 || [[#RequestForAppletToGetForeground]] ||<br />
|-<br />
| 160 || [2.0.0+] [[#GetIndirectLayerConsumerHandle]] ||<br />
|}<br />
<br />
Commands <=30 are inherited from [[#IAppletAccessor]]. GetLibraryAppletInfo is identical to the [[#ILibraryAppletSelfAccessor]] cmd.<br />
<br />
==== SetOutOfFocusApplicationSuspendingEnabled ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== PushInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopOutData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushExtraStorage ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PushInteractiveInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopInteractiveOutData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopOutDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetPopInteractiveOutDataEvent ====<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
==== NeedsToExitProcess ====<br />
No input, returns an output u8 bool.<br />
<br />
==== RequestForAppletToGetForeground ====<br />
No input/output.<br />
<br />
==== GetIndirectLayerConsumerHandle ====<br />
Takes an input PID and an input u64 AppletResourceUserId, returns an output u64 IndirectLayerConsumerHandle.<br />
<br />
Official sw uses this during LibraryApplet creation when [[#LibraryAppletMode]] is 0x3.<br />
<br />
== ICommonStateGetter ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetEventHandle]] ||<br />
|-<br />
| 1 || [[#ReceiveMessage]] ||<br />
|-<br />
| 2 || [[#GetThisAppletKind]] ||<br />
|-<br />
| 3 || AllowToEnterSleep ||<br />
|-<br />
| 4 || DisallowToEnterSleep ||<br />
|-<br />
| 5 || [[#GetOperationMode]] ||<br />
|-<br />
| 6 || [[#GetPerformanceMode]] ||<br />
|-<br />
| 7 || [[#GetCradleStatus]] ||<br />
|-<br />
| 8 || [[#GetBootMode]] ||<br />
|-<br />
| 9 || [[#GetCurrentFocusState]] ||<br />
|-<br />
| 10 || RequestToAcquireSleepLock ||<br />
|-<br />
| 11 || ReleaseSleepLock ||<br />
|-<br />
| 12 || ReleaseSleepLockTransiently ||<br />
|-<br />
| 13 || [[#GetAcquiredSleepLockEvent]] ||<br />
|-<br />
| 20 || [[#PushToGeneralChannel]] || <br />
|-<br />
| 30 || [[#GetHomeButtonReaderLockAccessor]] || <br />
|-<br />
| 31 || [2.0.0+] [[#GetReaderLockAccessorEx]] || <br />
|-<br />
| 32 || [7.0.0+] GetWriterLockAccessorEx || Takes a total of 4-bytes of input, returns an output [[#ILockAccessor]].<br />
|-<br />
| 40 || [2.0.0+] GetCradleFwVersion ||<br />
|-<br />
| 50 || [3.0.0+] [[#IsVrModeEnabled]] ||<br />
|-<br />
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||<br />
|-<br />
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||<br />
|-<br />
| 53 || [7.0.0+] BeginVrModeEx || No input/output.<br />
|-<br />
| 54 || [7.0.0+] EndVrModeEx || No input/output.<br />
|-<br />
| 55 || [3.0.0+] [[#IsInControllerFirmwareUpdateSection]] ||<br />
|-<br />
| 60 || [3.0.0+] GetDefaultDisplayResolution ||<br />
|-<br />
| 61 || [3.0.0+] [[#GetDefaultDisplayResolutionChangeEvent]] ||<br />
|-<br />
| 62 || [4.0.0+] GetHdcpAuthenticationState || <br />
|-<br />
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||<br />
|-<br />
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||<br />
|-<br />
| 65 || [6.0.0+] GetApplicationIdByContentActionName ||<br />
|-<br />
| 66 || [6.0.0+] SetCpuBoostMode ||<br />
|-<br />
| 80 || [6.0.0+] PerformSystemButtonPressingIfInFocus ||<br />
|-<br />
| 90 || [7.0.0+] SetPerformanceConfigurationChangedNotification || Takes an input u8, no output.<br />
|-<br />
| 91 || [7.0.0+] GetCurrentPerformanceConfiguration || No input, returns a total of 4-bytes of output.<br />
|-<br />
| 200 || [7.0.0+] GetOperationModeSystemInfo || No input, returns a total of 4-bytes of output.<br />
|}<br />
<br />
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).<br />
<br />
=== GetEventHandle ===<br />
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].<br />
<br />
=== ReceiveMessage ===<br />
No input. Returns an output u32. Error 0x680 indicates no message is available.<br />
<br />
=== GetThisAppletKind ===<br />
No input, returns an output [[#AppletKind]].<br />
<br />
=== GetOperationMode ===<br />
No input. Returns an output u8 for the current [[#OperationMode]].<br />
<br />
=== GetPerformanceMode ===<br />
No input. Returns an output u32 for the current PerformanceMode.<br />
<br />
=== GetCradleStatus ===<br />
No input, returns an output u8.<br />
<br />
=== GetBootMode ===<br />
No input, returns an output u8.<br />
<br />
=== GetCurrentFocusState ===<br />
No input. Returns an output u8:<br />
<br />
* 1: In focus.<br />
* 2/3: Out of focus(running in "background").<br />
<br />
=== GetAcquiredSleepLockEvent ===<br />
No input, returns an output handle.<br />
<br />
=== PushToGeneralChannel ===<br />
Takes an input [[#IStorage]], no output.<br />
<br />
This is not usable under an Application, however it is usable under a LibraryApplet.<br />
<br />
Used for sending requests to [[qlaunch]]. sdk-nso creates a 0x10-byte storage which is sent to this. The following are the functions which use this, with the data written to the storage:<br />
* <code>RequestHomeMenu</code> <code>5341 4d53 0100 0000 0200 0000 0100 0000</code> Returns to the main Home Menu, equivalent to pressing the HOME button.<br />
* <code>RequestJumpToSystemUpdate</code> <code>5341 4d53 0100 0000 0b00 0000 0100 0000</code> Equivalent to entering "System Update" under System Settings. When leaving this, it returns to the main Home Menu.<br />
<br />
=== GetHomeButtonReaderLockAccessor ===<br />
No input, returns an output [[#ILockAccessor]].<br />
<br />
=== GetReaderLockAccessorEx ===<br />
Takes an input u32, returns an output [[#ILockAccessor]].<br />
<br />
=== IsVrModeEnabled ===<br />
No input, returns an output u8 bool.<br />
<br />
=== SetVrModeEnabled ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
Updates internal AM state fields. If the new state doesn't match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.<br />
<br />
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the 'close' button. When this button is pressed, the console resets the vrMode to false.<br />
<br />
=== IsInControllerFirmwareUpdateSection ===<br />
No input, returns an output u8 bool.<br />
<br />
=== GetDefaultDisplayResolutionChangeEvent ===<br />
No input, returns an output handle.<br />
<br />
== ISelfController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#Exit]]<br />
|-<br />
| 1 || [[#LockExit]]<br />
|-<br />
| 2 || [[#UnlockExit]]<br />
|-<br />
| 3 || [2.0.0+] [[#EnterFatalSection]]<br />
|-<br />
| 4 || [2.0.0+] [[#LeaveFatalSection]]<br />
|-<br />
| 9 || [[#GetLibraryAppletLaunchableEvent]]<br />
|-<br />
| 10 || [[#SetScreenShotPermission]]<br />
|-<br />
| 11 || [[#SetOperationModeChangedNotification]]<br />
|-<br />
| 12 || [[#SetPerformanceModeChangedNotification]]<br />
|-<br />
| 13 || [[#SetFocusHandlingMode]]<br />
|-<br />
| 14 || SetRestartMessageEnabled<br />
|-<br />
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]<br />
|-<br />
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]<br />
|-<br />
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection<br />
|-<br />
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage<br />
|-<br />
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]<br />
|-<br />
| 20 || [4.0.0+] SetDesirableKeyboardLayout<br />
|-<br />
| 40 || [[#CreateManagedDisplayLayer]]<br />
|-<br />
| 41 || [4.0.0+] IsSystemBufferSharingEnabled<br />
|-<br />
| 42 || [4.0.0+] GetSystemSharedLayerHandle<br />
|-<br />
| 43 || [6.0.0+] GetSystemSharedBufferHandle<br />
|-<br />
| 50 || SetHandlesRequestToDisplay<br />
|-<br />
| 51 || ApproveToDisplay<br />
|-<br />
| 60 || OverrideAutoSleepTimeAndDimmingTime<br />
|-<br />
| 61 || [[#SetMediaPlaybackState]]<br />
|-<br />
| 62 || SetIdleTimeDetectionExtension<br />
|-<br />
| 63 || GetIdleTimeDetectionExtension<br />
|-<br />
| 64 || SetInputDetectionSourceSet<br />
|-<br />
| 65 || [2.0.0+] ReportUserIsActive<br />
|-<br />
| 66 || [3.0.0+] GetCurrentIlluminance<br />
|-<br />
| 67 || [3.0.0+] [[#IsIlluminanceAvailable]]<br />
|-<br />
| 68 || [4.0.0+] SetAutoSleepDisabled<br />
|-<br />
| 69 || [4.0.0+] IsAutoSleepDisabled<br />
|-<br />
| 70 || [5.0.0+] ReportMultimediaError<br />
|-<br />
| 71 || [6.0.0+] GetCurrentIlluminanceEx<br />
|-<br />
| 80 || [5.0.0+] SetWirelessPriorityMode<br />
|-<br />
| 90 || [6.0.0+] GetAccumulatedSuspendedTickValue<br />
|-<br />
| 91 || [6.0.0+] GetAccumulatedSuspendedTickChangedEvent<br />
|-<br />
| 100 || [7.0.0+] [[#SetAlbumImageTakenNotificationEnabled]]<br />
|-<br />
| 1000 || [7.0.0+] [[#GetDebugStorageChannel]]<br />
|}<br />
<br />
=== Exit ===<br />
No input/output.<br />
<br />
=== LockExit ===<br />
No input/output.<br />
<br />
Locks exit process of pressing X to close in HOME Menu for an application or HOME button for an applet. When locked, it will show the "waiting for software to be closed dialog" until UnlockExit is called or a 15 seconds timeout (when the latter occurs, the process is force-terminated).<br />
<br />
=== UnlockExit ===<br />
No input/output.<br />
<br />
Unlocks exit process, if LockExit was previously used.<br />
<br />
=== EnterFatalSection ===<br />
No input/output.<br />
<br />
=== LeaveFatalSection ===<br />
No input/output.<br />
<br />
=== GetLibraryAppletLaunchableEvent ===<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
=== SetScreenShotPermission ===<br />
Takes an input s32. No output.<br />
<br />
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.<br />
<br />
=== SetOperationModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetPerformanceModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetFocusHandlingMode ===<br />
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.<br />
<br />
=== SetScreenShotAppletIdentityInfo ===<br />
Takes an input 0x10-byte struct AppletIdentityInfo. No output.<br />
<br />
=== SetOutOfFocusSuspendingEnabled ===<br />
Takes an input u8(bool flag). No output.<br />
<br />
=== SetScreenShotImageOrientation ===<br />
Takes an input s32. No output.<br />
<br />
=== CreateManagedDisplayLayer ===<br />
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].<br />
<br />
=== SetMediaPlaybackState ===<br />
Takes an input u8 bool, no output.<br />
<br />
=== IsIlluminanceAvailable ===<br />
No input, returns an output u8 bool.<br />
<br />
=== SetAlbumImageTakenNotificationEnabled ===<br />
Takes an input u8, no output.<br />
<br />
=== GetDebugStorageChannel ===<br />
Returns an output [[#IStorageChannel]].<br />
<br />
== IStorageChannel ==<br />
Added with [[7.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Push || No input, returns an output [[#IStorage]].<br />
|-<br />
| 1 || Unpop || No input, returns an output [[#IStorage]].<br />
|-<br />
| 2 || Pop || No input, returns an output [[#IStorage]].<br />
|-<br />
| 3 || GetPopEventHandle || No input, returns an output handle.<br />
|-<br />
| 4 || Clear || No input/output.<br />
|}<br />
<br />
== IWindowController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateWindow]] || <br />
|-<br />
| 1 || [[#GetAppletResourceUserId]] ||<br />
|-<br />
| 2 || [6.0.0+] GetAppletResourceUserIdOfCallerApplet ||<br />
|-<br />
| 10 || [[#AcquireForegroundRights]] ||<br />
|-<br />
| 11 || ReleaseForegroundRights ||<br />
|-<br />
| 12 || RejectToChangeIntoBackground ||<br />
|-<br />
| 20 || [7.0.0+] SetAppletWindowVisibility || Takes an input u8, no output.<br />
|-<br />
| 21 || [7.0.0+] SetAppletGpuTimeSlice || Takes a total of 8-bytes of input, no output.<br />
|}<br />
<br />
=== CreateWindow ===<br />
Takes an input u32, returns an output [[#IWindow]].<br />
<br />
=== GetAppletResourceUserId ===<br />
Returns an output u64: [[#AppletResourceUserId]].<br />
<br />
=== AcquireForegroundRights ===<br />
No input/output.<br />
<br />
== IAudioController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || SetExpectedMasterVolume<br />
|-<br />
| 1 || GetMainAppletExpectedMasterVolume<br />
|-<br />
| 2 || GetLibraryAppletExpectedMasterVolume<br />
|-<br />
| 3 || ChangeMainAppletMasterVolume<br />
|-<br />
| 4 || SetTransparentVolumeRate<br />
|}<br />
<br />
GetMainAppletExpectedMasterVolume/SetExpectedMasterVolume are used for saving/restoring state for LibraryApplet launching, with SetExpectedMasterVolume being used with new state prior to launching a LibraryApplet. With official sw these applet funcs are used directly in the main-codebin.<br />
<br />
== IDisplayController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetLastForegroundCaptureImage<br />
|-<br />
| 1 || UpdateLastForegroundCaptureImage<br />
|-<br />
| 2 || GetLastApplicationCaptureImage<br />
|-<br />
| 3 || GetCallerAppletCaptureImage<br />
|-<br />
| 4 || UpdateCallerAppletCaptureImage<br />
|-<br />
| 5 || GetLastForegroundCaptureImageEx<br />
|-<br />
| 6 || GetLastApplicationCaptureImageEx<br />
|-<br />
| 7 || GetCallerAppletCaptureImageEx<br />
|-<br />
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer<br />
|-<br />
| 9 || [5.0.0+] CopyBetweenCaptureBuffers<br />
|-<br />
| 10 || [[#AcquireLastApplicationCaptureBuffer]]<br />
|-<br />
| 11 || ReleaseLastApplicationCaptureBuffer<br />
|-<br />
| 12 || [[#AcquireLastForegroundCaptureBuffer]]<br />
|-<br />
| 13 || ReleaseLastForegroundCaptureBuffer<br />
|-<br />
| 14 || [[#AcquireCallerAppletCaptureBuffer]]<br />
|-<br />
| 15 || ReleaseCallerAppletCaptureBuffer<br />
|-<br />
| 16 || AcquireLastApplicationCaptureBufferEx<br />
|-<br />
| 17 || AcquireLastForegroundCaptureBufferEx<br />
|-<br />
| 18 || AcquireCallerAppletCaptureBufferEx<br />
|-<br />
| 20 || [2.0.0+] ClearCaptureBuffer<br />
|-<br />
| 21 || [2.0.0+] ClearAppletTransitionBuffer<br />
|-<br />
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer<br />
|-<br />
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer<br />
|-<br />
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer<br />
|-<br />
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer<br />
|-<br />
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer<br />
|-<br />
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer<br />
|-<br />
| 28 || [6.0.0+] TakeScreenShotOfOwnLayerEx<br />
|}<br />
<br />
=== AcquireLastApplicationCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
=== AcquireLastForegroundCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
=== AcquireCallerAppletCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
== ISystemAppletControllerForDebug ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || RequestLaunchApplicationForDebug || <br />
|-<br />
| 2 || [7.0.0+] GetDebugStorageChannel || No input, returns an output [[#IStorageChannel]].<br />
|-<br />
| 3 || [7.0.0+] CreateStorageForDebug || Takes a total of 8-bytes of input, returns an [[#IStorage]].<br />
|}<br />
<br />
== IProcessWindingController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetLaunchReason]] ||<br />
|-<br />
| 11 || [[#OpenCallingLibraryApplet]] || <br />
|-<br />
| 21 || [[#PushContext]] || <br />
|-<br />
| 22 || [[#PopContext]] || <br />
|-<br />
| 23 || CancelWindingReservation ||<br />
|-<br />
| 30 || WindAndDoReserved ||<br />
|-<br />
| 40 || [[#ReserveToStartAndWaitAndUnwindThis]] || <br />
|-<br />
| 41 || [4.0.0+] ReserveToStartAndWait ||<br />
|}<br />
<br />
=== GetLaunchReason ===<br />
No input. Returns an u32 AppletProcessLaunchReason.<br />
<br />
Used by LibraryApplets.<br />
<br />
=== OpenCallingLibraryApplet ===<br />
No input, returns an output [[#ILibraryAppletAccessor]].<br />
<br />
=== PushContext ===<br />
Takes an input [[#IStorage]], no output.<br />
<br />
=== PopContext ===<br />
No input, returns an output [[#IStorage]].<br />
<br />
=== ReserveToStartAndWaitAndUnwindThis ===<br />
Takes an input [[#ILibraryAppletAccessor]], no output.<br />
<br />
== IDebugFunctions ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || NotifyMessageToHomeMenuForDebug ||<br />
|-<br />
| 1 || [[#OpenMainApplication]] || <br />
|-<br />
| 10 || EmulateButtonEvent ||<br />
|-<br />
| 20 || InvalidateTransitionLayer ||<br />
|-<br />
| 30 || [6.0.0+] RequestLaunchApplicationWithUserAndArgumentForDebug ||<br />
|-<br />
| 40 || [6.0.0+] GetAppletResourceUsageInfo ||<br />
|}<br />
<br />
=== OpenMainApplication ===<br />
No input, returns an output [[#IApplicationAccessor]].<br />
<br />
== IStorage ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Open || No input. Returns an [[#IStorageAccessor]].<br />
|-<br />
| 1 || [2.0.0+] OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].<br />
|}<br />
<br />
Open can only be used when the IStorage was created by [[#CreateStorage]] or [[#CreateTransferMemoryStorage]]. OpenTransferStorage can only be used when the IStorage was created by [[#CreateHandleStorage]].<br />
<br />
Only 1 *Accessor session can be open for each IStorage at a time.<br />
<br />
== IStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an s64.<br />
|-<br />
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.<br />
|-<br />
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.<br />
|}<br />
<br />
== ITransferStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an output s64.<br />
|-<br />
| 1 || GetHandle || No input. Returns an output s64 and handle.<br />
|}<br />
<br />
These commands return the data originally from [[#CreateHandleStorage]] input, both return the same s64.<br />
<br />
= appletOE =<br />
This is "nn::am::service::IApplicationProxyService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#OpenApplicationProxy]] || <br />
|}<br />
<br />
This is used by all regular-applications, including [[flog]] and "Retail Interactive Display Menu". Only one session can be open for this service at a time.<br />
<br />
== OpenApplicationProxy ==<br />
Returns an [[#IApplicationProxy]]. See [[#appletAE]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).<br />
<br />
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.<br />
<br />
= idle:sys =<br />
This is "nn::idle::detail::IPolicyManagerSystem"<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAutoPowerDownEvent<br />
|-<br />
|rowspan="2"| 1 || [1.0.0-3.0.2]<br />
|-<br />
| [7.0.0+]<br />
|-<br />
| 2 || [1.0.0-3.0.2]<br />
|-<br />
| 3 || SetHandlingContext<br />
|-<br />
| 4 || LoadAndApplySettings<br />
|-<br />
| 5 || ReportUserIsActive<br />
|}<br />
<br />
= omm =<br />
This is "nn::omm::detail::IOperationModeManager"<br />
<br />
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.<br />
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetOperationMode || <br />
|-<br />
| 1 || GetOperationModeChangeEvent || <br />
|-<br />
| 2 || EnableAudioVisual || <br />
|-<br />
| 3 || DisableAudioVisual || <br />
|-<br />
| 4 || EnterSleepAndWait || <br />
|-<br />
| 5 || GetCradleStatus || <br />
|-<br />
| 6 || FadeInDisplay || <br />
|-<br />
| 7 || FadeOutDisplay || <br />
|-<br />
| 8 || [2.0.0+] GetCradleFwVersion || <br />
|-<br />
| 9 || [2.0.0+] NotifyCecSettingsChanged || <br />
|-<br />
| 10 || [3.0.0+] SetOperationModePolicy || <br />
|-<br />
| 11 || [3.0.0+] GetDefaultDisplayResolution || <br />
|-<br />
| 12 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent || <br />
|-<br />
| 13 || [3.0.0+] UpdateDefaultDisplayResolution || <br />
|-<br />
| 14 || [3.0.0+] ShouldSleepOnBoot || <br />
|-<br />
| 15 || [4.0.0+] NotifyHdcpApplicationExecutionStarted || <br />
|-<br />
| 16 || [4.0.0+] NotifyHdcpApplicationExecutionFinished || <br />
|-<br />
| 17 || [4.0.0+] NotifyHdcpApplicationDrawingStarted || <br />
|-<br />
| 18 || [4.0.0+] NotifyHdcpApplicationDrawingFinished || <br />
|-<br />
| 19 || [4.0.0+] GetHdcpAuthenticationFailedEvent || <br />
|-<br />
| 20 || [4.0.0+] GetHdcpAuthenticationFailedEmulationEnabled || <br />
|-<br />
| 21 || [4.0.0+] SetHdcpAuthenticationFailedEmulation || <br />
|-<br />
| 22 || [4.0.0+] GetHdcpStateChangeEvent || <br />
|-<br />
| 23 || [4.0.0+] GetHdcpState || <br />
|-<br />
| 24 || [5.0.0+] ShowCardUpdateProcessing || <br />
|-<br />
| 25 || [5.0.0+] SetApplicationCecSettingsAndNotifyChanged || <br />
|-<br />
| 26 || [7.0.0+] || No input, returns a total of 4-bytes of output.<br />
|}<br />
<br />
= spsm =<br />
This is "nn::spsm::detail::IPowerStateInterface".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetState<br />
|-<br />
| 1 || SleepSystemAndWaitAwake<br />
|-<br />
| 2 || <br />
|-<br />
| 3 || <br />
|-<br />
| 4 || GetNotificationMessageEventHandle<br />
|-<br />
| 5 || <br />
|-<br />
| 6 || <br />
|-<br />
| 7 || <br />
|-<br />
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence<br />
|-<br />
| 9 || ChangeHomeButtonLongPressingTime<br />
|-<br />
| 10 || <br />
|-<br />
| 11 || [1.0.0-3.0.2]<br />
|}<br />
<br />
= tcap =<br />
This is "nn::tcap::server::IManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetContinuousHighSkinTemperatureEvent<br />
|-<br />
| 1 || SetOperationMode<br />
|-<br />
| 2 || LoadAndApplySettings<br />
|}<br />
<br />
= caps:su =<br />
This is "nn::capsrv::sf::IScreenShotApplicationService".<br />
<br />
This was added with [[6.0.0]].<br />
<br />
This can be used by applications to save screenshots.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 32 || [7.0.0+] SetShimLibraryVersion || Takes a total of 0x10-bytes of input and a PID, no output.<br />
|-<br />
| 201 || SaveScreenShot || <br />
|-<br />
| 203 || SaveScreenShotEx0 || <br />
|-<br />
| 210 || SaveScreenShotEx2 || Takes a total of 0x50-bytes of input, a type-0x15 input buffer, and a type-0x45 input buffer. Returns a total of 0x20-bytes of output.<br />
|}<br />
<br />
Cmd32 is a wrapper for [[Capture_services|caps:c]] cmd33. Commands 201, 203, and 210 are wrappers for [[Display_services|caps:sc]] cmd210.<br />
<br />
== SaveScreenShot ==<br />
Takes two input u32s, an u64 AppletResourceUserId, a PID, and a type-0x45 input buffer. Returns a 0x20-byte struct '''ApplicationAlbumEntry'''.<br />
<br />
Official user-processes doesn't use this, instead [[#SaveScreenShotEx0]] is used: ScreenShotAttributeEx0 is all-zero except +0 is set to an input u32.<br />
<br />
== SaveScreenShotEx0 ==<br />
Takes an input 0x40-byte struct '''ScreenShotAttributeEx0''', an input u32, an input u64 AppletResourceUserId, a PID, and a type-0x45 input buffer. Returns a 0x20-byte struct '''ApplicationAlbumEntry'''.<br />
<br />
= Library Applets =<br />
This section documents library applet launching.<br />
<br />
Before starting the applet, [[#IStorage]]s are [[#ILibraryAppletCreator|created]] and written, then passed to [[#ILibraryAppletAccessor]] PushInData. The [[#IStorage]] session is closed afterwards. The first [[#IStorage]] is [[#CommonArguments]], followed by any applet-specific [[#IStorage]]s.<br />
<br />
Once the applet finishes running successfully, [[#ILibraryAppletAccessor]] PopOutData can be used to get the applet-specific [[#IStorage]] containing the applet output data.<br />
<br />
== CommonArguments ==<br />
The first [[#CreateStorage|IStorage]] passed to applets should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format.<br />
<br />
This struct is 0x20-bytes.<br />
<br />
Official sw handles the first 8-bytes separately, which is a header. With CommonArguments version 0x0, the header is 4-bytes, while starting with version 0x1 it's 8-bytes.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 1 || Common Arguments version<br />
|-<br />
| 0x4 || 4 || 0x20 || Common Arguments size<br />
|-<br />
| 0x8 || 4 || || Library applet version (API version)<br />
|-<br />
| 0xC || 4 || 0 || Theme color<br />
|-<br />
| 0x10 || 1 || 0 || Play startup sound<br />
|-<br />
| 0x18 || 8 || N/A || System tick (see [[SVC#svcGetSystemTick|svcGetSystemTick]])<br />
|-<br />
|}<br />
<br />
= Enums =<br />
=== AppletId ===<br />
See also [[:Category:Library Applets]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Title-id<br />
! Description<br />
|-<br />
| 0x02<br />
| 010000000000100C<br />
| "overlayDisp"<br />
|-<br />
| 0x03<br />
| 0100000000001000<br />
| "qlaunch"<br />
|-<br />
| 0x04<br />
| 0100000000001012<br />
| "starter"<br />
|-<br />
| 0x0A<br />
| 0100000000001001<br />
| "auth"<br />
|-<br />
| 0x0B<br />
| 0100000000001002<br />
| "cabinet"<br />
|-<br />
| 0x0C<br />
| 0100000000001003<br />
| "controller"<br />
|-<br />
| 0x0D<br />
| 0100000000001004<br />
| "dataErase"<br />
|-<br />
| 0x0E<br />
| 0100000000001005<br />
| [[Error_Applet|"error"]]<br />
|-<br />
| 0x0F<br />
| 0100000000001006<br />
| "netConnect"<br />
|-<br />
| 0x10<br />
| 0100000000001007<br />
| [[Profile_Selector|"playerSelect"]]<br />
|-<br />
| 0x11<br />
| 0100000000001008<br />
| [[Software_Keyboard|"swkbd"]]<br />
|-<br />
| 0x12<br />
| 0100000000001009<br />
| "miiEdit"<br />
|-<br />
| 0x13<br />
| 010000000000100A<br />
| "LibAppletWeb" [[Internet_Browser#010000000000100A|WebApplet]] applet<br />
|-<br />
| 0x14<br />
| 010000000000100B<br />
| "LibAppletShop" [[Internet_Browser#ShopN|ShopN]] applet<br />
|-<br />
| 0x15<br />
| 010000000000100D<br />
| "photoViewer"<br />
|-<br />
| 0x16<br />
| 010000000000100E<br />
| "set"<br />
|-<br />
| 0x17<br />
| 010000000000100F<br />
| "LibAppletOff" [[Internet_Browser#Offline_Applet|Offline]] applet<br />
|-<br />
| 0x18<br />
| 0100000000001010<br />
| "LibAppletLns" [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet<br />
|-<br />
| 0x19<br />
| 0100000000001011<br />
| "LibAppletAuth" [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet<br />
|-<br />
| 0x1A<br />
| 0100000000001013<br />
| "myPage"<br />
|}<br />
<br />
=== LibraryAppletMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x0<br />
| AllForeground<br />
|-<br />
| 0x1<br />
| Background<br />
|-<br />
| 0x2<br />
| Unknown<br />
|-<br />
| 0x3<br />
| Unknown, see also [[#GetIndirectLayerConsumerHandle]]. Only used by swkbd InlineKeyboard.<br />
|-<br />
|}<br />
<br />
=== NotificationMessage ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x4 || Exit requested<br />
|-<br />
| 0xF || [[#GetCurrentFocusState|FocusState]] changed<br />
|-<br />
| 0x10 || ?<br />
|-<br />
| 0x1E || OperationMode changed<br />
|-<br />
| 0x1F || PerformanceMode changed<br />
|}<br />
<br />
=== OperationMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Handheld<br />
|-<br />
| 1 || Docked<br />
|}<br />
<br />
=== LaunchParameterKind ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 1 || Application-specific LaunchParameter<br />
|-<br />
| 2 || account PreselectedUser<br />
|-<br />
| 3 || Unknown if used by anything?<br />
|}<br />
<br />
=== LibraryAppletExitReason ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Normal<br />
|-<br />
| 1 || Canceled<br />
|-<br />
| 2 || Abnormal<br />
|-<br />
| 10 || Unexpected<br />
|}<br />
<br />
= AppletResourceUserId =<br />
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.<br />
<br />
= LibraryAppletInfo =<br />
This struct is 8-bytes: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].<br />
<br />
= AppletKind =<br />
This is 8-bytes.<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Display_services&diff=6265
Display services
2019-02-21T09:14:50Z
<p>Misson20000: /* Cmd1 */ the u32 is buffer_index. see: am (on at least 3.0.0 @ +0x6aa5c) passing 5 for layer_stack near calling IManagerDisplayService::AddToLayerStack(..., 5) (3.0.0 @ +0x6b2b0)</p>
<hr />
<div>The only image data contained in this sysmodule is basically a saved display framebuffer, no image data for actively-used layers/framebuffers.<br />
<br />
= caps:sc =<br />
This is "nn::capsrv::sf::IScreenShotControlService". This is available with [2.0.0+].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || || <br />
|-<br />
| 2 || || <br />
|-<br />
| 3 || [5.0.0+] ? || Takes a total of 8-bytes of input, no output.<br />
|-<br />
| 5 || [5.0.0+] ? || Takes a total of 0x10-bytes of input, no output.<br />
|-<br />
| 210 || [6.0.0+] ? || Takes a total of 0x50-bytes of input, a type-0x15 input buffer, and a type-0x45 input buffer, returns a total of 0x20-bytes of output.<br />
|-<br />
| [2.0.0-4.1.0] 1001 || || Takes a total of 0x10-bytes of input, no output.<br />
|-<br />
| [2.0.0-4.1.0] 1002 || || Takes a total of 0x18-bytes of input, no output.<br />
|-<br />
| [3.0.0-4.1.0] 1003 || || Takes a total of 0x58-bytes of input, no output.<br />
|-<br />
| 1004 || [5.0.0+] ? || Takes a total of 0x60-bytes of input, no output.<br />
|-<br />
| 1009 || [5.0.0+] ? || Takes a total of 0x10-bytes of input, no output.<br />
|-<br />
| 1010 || [5.0.0+] ? || Takes a total of 0x10-bytes of input, no output.<br />
|-<br />
| 1011 || || Takes a total of 8-bytes of input, no output.<br />
|-<br />
| 1012 || || Takes a total of 8-bytes of input, no output.<br />
|-<br />
| 1101 || [4.0.0+] ? || <br />
|-<br />
| 1106 || [4.0.0+] ? || <br />
|-<br />
| 1107 || [4.0.0+] ? || <br />
|-<br />
| 1201 || [3.0.0+] ? || Takes a total of 0x10-bytes of input, returns a total of 0x18-bytes of output.<br />
|-<br />
| 1202 || [3.0.0+] ? || No input/output.<br />
|-<br />
| 1203 || [3.0.0+] ? || Takes a total of 8-bytes of input and a type-0x6 output buffer, returns a total of 8-bytes of output.<br />
|}<br />
<br />
* cmd210: User-processes use hard-coded size 0x88 for the type-0x15 buffer.<br />
* cmd1106/1107: User-processes use hard-coded sizes 0x400 and 0x404 for the first/second type-0x15 buffers.<br />
* cmd1201/1202/1203: These are only usable when the previously loaded value from [[Settings_services|set:sys GetDebugModeFlag]] is set.<br />
<br />
The only caps:sc commands used by [[GRC_services|GRC]] are: 1101, 1106, and 1107.<br />
<br />
== Cmd1 ==<br />
Takes a type-0x46 output buffer, an input u32 '''layer_stack''', two input u64s '''width'''/'''height''', an input s64 '''buffer_count''', and an input s64 '''buffer_index'''.<br />
<br />
'''width'''/'''height''' must match 1280/720. '''buffer_index''' must be < '''buffer_count'''. '''buffer_index''' and '''buffer_count''' must not be negative.<br />
<br />
'''buffer_index''' and '''buffer_count''' correspond to buffers with size 0x384000(1280*720*4).<br />
<br />
Value 0 is usable for the input u32.<br />
<br />
This takes a screenshot, the output buffer contains the RGBA8 image.<br />
<br />
Stubbed with [5.0.0+], where it now returns error 0x7FECE.<br />
<br />
== Cmd2 ==<br />
Calls the same internal func as cmd1, where the last param is an additional cmd input u64 instead of hard-coded value 0x5f5e100.<br />
<br />
Stubbed with [5.0.0+], where it now returns error 0x7FECE.<br />
<br />
== Cmd1101 ==<br />
Takes two input u64s '''width'''/'''height''', a 0x18-byte input struct, and two type-0x46 output buffers.<br />
<br />
For the input struct, [[GRC_services|GRC]] uses the output from [[Capture_services|caps:c]] cmd2101.<br />
<br />
'''width'''/'''height''' must be 1280x720. The first buffer address must be 0x400-byte aligned. The size of the first buffer must be at least '''width'''*'''height''', and must be aligned to 0x20000-bytes.<br />
<br />
The requirements for the second buffer address/size are the same as the first buffer, except the minimum size is ('''width'''*'''height''')/2.<br />
<br />
== Cmd1106 ==<br />
Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and two type-0x46 output buffers, returns 3 output u64s.<br />
<br />
'''width'''/'''height''' have same requirements as [[#Cmd1101]]. The size of the type-0x6 buffer must be at least 0x7D000. The requirements for the type-0x46 buffers are the same as [[#Cmd1101]].<br />
<br />
== Cmd1107 ==<br />
Takes a 0x40-byte input struct, two input u64s '''width'''/'''height''', a 0x18-byte input struct, two type-0x15 input buffers, a type-0x6 output buffer, and a type-0x45 input buffer, returns 3 output u64s.<br />
<br />
'''width'''/'''height''' have same requirements as [[#Cmd1101]]. The size of the type-0x6 buffer must be at least 0x7D000. The size of the type-0x45 buffer must be at least 0x384000.<br />
<br />
= caps:ss =<br />
This is "nn::capsrv::sf::IScreenShotService". This is available with [2.0.0+].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 201 ||<br />
|-<br />
| 202 ||<br />
|-<br />
| 203 ||<br />
|-<br />
| 204 ||<br />
|}<br />
<br />
= caps:su =<br />
This is "nn::capsrv::sf::IScreenShotApplicationService". This was moved to [[Applet_Manager_services|AM]] with [6.0.0+].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 201 || SaveScreenShot<br />
|-<br />
| 203 || SaveScreenShotEx0<br />
|}<br />
<br />
= cec-mgr =<br />
This is "nn::cec::ICecManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 ||<br />
|-<br />
| 1 ||<br />
|-<br />
| 2 ||<br />
|-<br />
| 3 ||<br />
|-<br />
| 4 ||<br />
|-<br />
| 5 ||<br />
|-<br />
| 6 ||<br />
|}<br />
<br />
= mm:u =<br />
This is "nn::mmnv::IRequest".<br />
<br />
NVIDIA multimedia (NvMM) platform service.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || InitializeOld<br />
|-<br />
| 1 || FinalizeOld<br />
|-<br />
| 2 || SetAndWaitOld<br />
|-<br />
| 3 || GetOld<br />
|-<br />
| 4 || Initialize<br />
|-<br />
| 5 || Finalize<br />
|-<br />
| 6 || SetAndWait<br />
|-<br />
| 7 || Get<br />
|}<br />
<br />
= vi:u =<br />
This is "nn::visrv::sf::IApplicationRootService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#vi:u|GetDisplayService]]<br />
|-<br />
|}<br />
<br />
== GetDisplayService ==<br />
Returns an [[#IApplicationDisplayService]]. Takes an input u32, user-processes use 0 or 1, with 0 for regular-applications normally. 0 = user-service(vi:u), 1 = non-user-service? Returns an error when using value 1 with vi:u(same error listed below for IApplicationDisplayService for unavailable commands).<br />
<br />
= vi:s =<br />
This is "nn::visrv::sf::ISystemRootService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || [[#vi:s|GetDisplayService]]<br />
|-<br />
| 3 || [[#vi:s|GetDisplayServiceWithProxyNameExchange]]<br />
|-<br />
|}<br />
<br />
== GetDisplayService ==<br />
Returns an [[#IApplicationDisplayService]]. Same input as vi:u.<br />
<br />
== GetDisplayServiceWithProxyNameExchange ==<br />
Returns an [[#IApplicationDisplayService]].<br />
<br />
= vi:m =<br />
This is "nn::visrv::sf::IManagerRootService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 2 || [[#vi:m|GetDisplayService]]<br />
|-<br />
| 3 || [[#vi:m|GetDisplayServiceWithProxyNameExchange]]<br />
|-<br />
|}<br />
<br />
== GetDisplayService ==<br />
Returns an [[#IApplicationDisplayService]]. Same input as vi:u.<br />
<br />
== GetDisplayServiceWithProxyNameExchange ==<br />
Takes an input u64 and u32. Returns an [[#IApplicationDisplayService]].<br />
<br />
= IApplicationDisplayService =<br />
This is "nn::visrv::sf::IApplicationDisplayService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 100 || [[#GetRelayService]]<br />
|-<br />
| 101 || [[#GetSystemDisplayService]]<br />
|-<br />
| 102 || [[#GetManagerDisplayService]]<br />
|-<br />
| 103 || [2.0.0+] [[#GetIndirectDisplayTransactionService]]<br />
|-<br />
| 1000 || [[#ListDisplays]]<br />
|-<br />
| 1010 || [[#OpenDisplay]]<br />
|-<br />
| 1011 || [[#OpenDefaultDisplay]]<br />
|-<br />
| 1020 || [[#CloseDisplay]]<br />
|-<br />
| 1101 || [[#SetDisplayEnabled]]<br />
|-<br />
| 1102 || [[#GetDisplayResolution]]<br />
|-<br />
| 2020 || [[#OpenLayer]]<br />
|-<br />
| 2021 || [[#CloseLayer]]<br />
|-<br />
| 2030 || [[#CreateStrayLayer]]<br />
|-<br />
| 2031 || [[#DestroyStrayLayer]]<br />
|-<br />
| 2101 || [[#SetLayerScalingMode]]<br />
|-<br />
| 2102 || [5.0.0+] ConvertScalingMode<br />
|-<br />
| 2450 || [[#GetIndirectLayerImageMap]]<br />
|-<br />
| 2451 || [[#GetIndirectLayerImageCropMap]]<br />
|-<br />
| 2460 || [[#GetIndirectLayerImageRequiredMemoryInfo]]<br />
|-<br />
| 5202 || [[#GetDisplayVsyncEvent]]<br />
|-<br />
| 5203 || [[#GetDisplayVsyncEventForDebug]]<br />
|-<br />
|}<br />
<br />
Available sessions for each service:<br />
* "vi:u": Only GetRelayService.<br />
* "vi:s": Everything except GetManagerDisplayService.<br />
* "vi:m": All.<br />
<br />
When attempting to use a get-session cmd with a service it's not available with, error 0xA72 is returned.<br />
<br />
These commands using PIDs have AppletResourceUserId as the last input u64, hence AppletResourceUserId must [[IPC_Marshalling|match]] the user-process PID(no special handling for value 0).<br />
<br />
== GetRelayService ==<br />
Returns an [[Nvnflinger_services#dispdrv|IHOSBinderDriver]] interface which abstracts "nn::visrv::service::RelayServiceImpl".<br />
<br />
== GetIndirectDisplayTransactionService ==<br />
Returns an [[Nvnflinger_services#dispdrv|IHOSBinderDriver]] interface which abstracts "nn::visrv::service::IndirectDisplayTransactionServiceImpl".<br />
<br />
== GetSystemDisplayService ==<br />
Returns an [[#ISystemDisplayService]].<br />
<br />
== GetManagerDisplayService ==<br />
Returns an [[#IManagerDisplayService]].<br />
<br />
== ListDisplays ==<br />
Takes a type-0x6 output buffer containing the array of [[#DisplayInfo]] output entries. Returns an output u64: total number of output entries.<br />
<br />
Normally(?) this only returns the "Default" display.<br />
<br />
== OpenDisplay ==<br />
Takes a [[#DisplayName]] as input. Returns an output u64, the DisplayId.<br />
<br />
To open the default display, input string "Default" can be used.<br />
<br />
== OpenDefaultDisplay ==<br />
Returns an output u64.<br />
<br />
Probably not (?) used by newer official user-processes, since those use OpenDisplay with the default string instead.<br />
<br />
== CloseDisplay ==<br />
Takes an input u64, DisplayId.<br />
<br />
== SetDisplayEnabled ==<br />
Takes an input u32 boolean, and an u64 DisplayId.<br />
<br />
== GetDisplayResolution ==<br />
Takes an input u64 DisplayId and returns two output u64s: width and height.<br />
<br />
== OpenLayer ==<br />
Takes a PID-descriptor, a type-0x6 buffer for the output [[#NativeWindow]], a [[#DisplayName]](which was previously used with [[#OpenDisplay]]), an u64 LayerId, and an u64 [[AM_services|AppletResourceUserId]]. Returns an output u64 NativeWindow_Size.<br />
<br />
Official user-processes use a LayerId stored in a global state field("...ExternalLayerId") if non-zero, otherwise:<br />
* When AppletResourceUserId==0, [[#CreateStrayLayer]] is used instead of the OpenLayer cmd.<br />
* When AppletResourceUserId!=0, [[AM_services#CreateManagedDisplayLayer]] is used and the output from that is used for LayerId with the OpenLayer cmd.<br />
<br />
This OpenLayer command returns error 0x272 when the AppletResourceUserId is invalid.<br />
<br />
== CloseLayer ==<br />
Takes an input u64: LayerId which was used with [[#OpenLayer]].<br />
<br />
== CreateStrayLayer ==<br />
Takes a type-0x6 buffer for the output [[#NativeWindow]], an u32(LayerFlags bitmask), and an u64 DisplayId. Returns two output u64s: LayerId and NativeWindow_Size.<br />
<br />
== DestroyStrayLayer ==<br />
Takes an input u64: LayerId from [[#CreateStrayLayer]].<br />
<br />
== SetLayerScalingMode ==<br />
Takes an input u64("ScalingMode") and u64 ("LayerId").<br />
<br />
== GetIndirectLayerImageMap ==<br />
Takes a PID-descriptor, an type-0x46 buffer, and four u64s: width(s32), height(s32), <output from [[AM_services|AM]] GetIndirectLayerConsumerHandle>, and [[AM_services|AppletResourceUserId]]. Returns two output u64s.<br />
<br />
Calls the same func as [[#GetIndirectLayerImageCropMap]] internally, with the input floats set to 0.0f, then 1.0f for the rest.<br />
<br />
== GetIndirectLayerImageCropMap ==<br />
Takes a PID-descriptor, an type-0x46 buffer, four floats, four u64s(last u64 is [[AM_services|AppletResourceUserId]]). Returns two output u64s. The floats are stored immediately after each other(32bits).<br />
<br />
== GetIndirectLayerImageRequiredMemoryInfo ==<br />
Takes two input u64s: width and height. Returns two output u64s. First u64 is the buffer size to use with the ImageMap cmds, second u64 is the buffer address alignment for those cmds.<br />
<br />
== GetDisplayVsyncEvent ==<br />
Takes an input u64 DisplayId and returns a handle.<br />
<br />
== GetDisplayVsyncEventForDebug ==<br />
Takes an input u64 DisplayId and returns a handle.<br />
<br />
== ISystemDisplayService ==<br />
This is "nn::visrv::sf::ISystemDisplayService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1200 || GetZOrderCountMin<br />
|-<br />
| 1202 || GetZOrderCountMax<br />
|-<br />
| 1203 || GetDisplayLogicalResolution<br />
|-<br />
| 1204 || SetDisplayMagnification<br />
|-<br />
| 2201 || SetLayerPosition<br />
|-<br />
| 2203 || SetLayerSize<br />
|-<br />
| 2204 || GetLayerZ<br />
|-<br />
| 2205 || SetLayerZ<br />
|-<br />
| 2207 || SetLayerVisibility<br />
|-<br />
| 2209 || SetLayerAlpha<br />
|-<br />
| [1.0.0-6.2.0] 2312 || CreateStrayLayer<br />
|-<br />
| 2400 || OpenIndirectLayer<br />
|-<br />
| 2401 || CloseIndirectLayer<br />
|-<br />
| 2402 || FlipIndirectLayer<br />
|-<br />
| 3000 || ListDisplayModes<br />
|-<br />
| 3001 || ListDisplayRgbRanges<br />
|-<br />
| 3002 || ListDisplayContentTypes<br />
|-<br />
| 3200 || GetDisplayMode<br />
|-<br />
| 3201 || SetDisplayMode<br />
|-<br />
| 3202 || GetDisplayUnderscan<br />
|-<br />
| 3203 || SetDisplayUnderscan<br />
|-<br />
| 3204 || GetDisplayContentType<br />
|-<br />
| 3205 || SetDisplayContentType<br />
|-<br />
| 3206 || GetDisplayRgbRange<br />
|-<br />
| 3207 || SetDisplayRgbRange<br />
|-<br />
| 3208 || GetDisplayCmuMode<br />
|-<br />
| 3209 || SetDisplayCmuMode<br />
|-<br />
| 3210 || GetDisplayContrastRatio<br />
|-<br />
| 3211 || SetDisplayContrastRatio<br />
|-<br />
| 3214 || GetDisplayGamma<br />
|-<br />
| 3215 || SetDisplayGamma<br />
|-<br />
| 3216 || GetDisplayCmuLuma<br />
|-<br />
| 3217 || SetDisplayCmuLuma<br />
|-<br />
| 8225 || [4.0.0+] GetSharedBufferMemoryHandleId<br />
|-<br />
| 8250 || [4.0.0+] OpenSharedLayer<br />
|-<br />
| 8251 || [4.0.0+] CloseSharedLayer<br />
|-<br />
| 8252 || [4.0.0+] ConnectSharedLayer<br />
|-<br />
| 8253 || [4.0.0+] DisconnectSharedLayer<br />
|-<br />
| 8254 || [4.0.0+] AcquireSharedFrameBuffer<br />
|-<br />
| 8255 || [4.0.0+] PresentSharedFrameBuffer<br />
|-<br />
| 8256 || [4.0.0+] GetSharedFrameBufferAcquirableEvent<br />
|-<br />
| 8257 || [4.0.0+] FillSharedFrameBufferColor<br />
|-<br />
| 8258 || [5.0.0+] CancelSharedFrameBuffer<br />
|}<br />
<br />
== IManagerDisplayService ==<br />
This is "nn::visrv::sf::IManagerDisplayService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 200 || [4.0.0+] AllocateProcessHeapBlock<br />
|-<br />
| 201 || [4.0.0+] FreeProcessHeapBlock<br />
|-<br />
| 1102 || GetDisplayResolution<br />
|-<br />
| 2010 || CreateManagedLayer<br />
|-<br />
| 2011 || DestroyManagedLayer<br />
|-<br />
| 2012 || [7.0.0+] CreateStrayLayer<br />
|-<br />
| 2050 || CreateIndirectLayer<br />
|-<br />
| 2051 || DestroyIndirectLayer<br />
|-<br />
| 2052 || CreateIndirectProducerEndPoint<br />
|-<br />
| 2053 || DestroyIndirectProducerEndPoint<br />
|-<br />
| 2054 || CreateIndirectConsumerEndPoint<br />
|-<br />
| 2055 || DestroyIndirectConsumerEndPoint<br />
|-<br />
| 2300 || AcquireLayerTexturePresentingEvent<br />
|-<br />
| 2301 || ReleaseLayerTexturePresentingEvent<br />
|-<br />
| 2302 || GetDisplayHotplugEvent<br />
|-<br />
| 2402 || GetDisplayHotplugState<br />
|-<br />
| 2501 || [4.0.0+] GetCompositorErrorInfo<br />
|-<br />
| 2601 || [4.0.0+] GetDisplayErrorEvent<br />
|-<br />
| 4201 || SetDisplayAlpha<br />
|-<br />
| 4203 || SetDisplayLayerStack<br />
|-<br />
| 4205 || SetDisplayPowerState<br />
|-<br />
| 4206 || [4.0.0+] SetDefaultDisplay<br />
|-<br />
| 6000 || AddToLayerStack<br />
|-<br />
| 6001 || RemoveFromLayerStack<br />
|-<br />
| 6002 || SetLayerVisibility<br />
|-<br />
| 6003 || [5.0.0+] SetLayerConfig<br />
|-<br />
| 6004 || [5.0.0+] AttachLayerPresentationTracer<br />
|-<br />
| 6005 || [5.0.0+] DetachLayerPresentationTracer<br />
|-<br />
| 6006 || [5.0.0+] StartLayerPresentationRecording<br />
|-<br />
| 6007 || [5.0.0+] StopLayerPresentationRecording<br />
|-<br />
| 6008 || [5.0.0+] StartLayerPresentationFenceWait<br />
|-<br />
| 6009 || [5.0.0+] StopLayerPresentationFenceWait<br />
|-<br />
| 6010 || [5.0.0+] GetLayerPresentationAllFencesExpiredEvent<br />
|-<br />
| 7000 || SetContentVisibility<br />
|-<br />
| 8000 || SetConductorLayer<br />
|-<br />
| 8100 || SetIndirectProducerFlipOffset<br />
|-<br />
| 8200 || [4.0.0+] CreateSharedBufferStaticStorage<br />
|-<br />
| 8201 || [4.0.0+] CreateSharedBufferTransferMemory<br />
|-<br />
| 8202 || [4.0.0+] DestroySharedBuffer<br />
|-<br />
| 8203 || [4.0.0+] BindSharedLowLevelLayerToManagedLayer<br />
|-<br />
| 8204 || [4.0.0+] BindSharedLowLevelLayerToIndirectLayer<br />
|-<br />
| 8207 || [4.0.0+] UnbindSharedLowLevelLayer<br />
|-<br />
| 8208 || [4.0.0+] ConnectSharedLowLevelLayerToSharedBuffer<br />
|-<br />
| 8209 || [4.0.0+] DisconnectSharedLowLevelLayerFromSharedBuffer<br />
|-<br />
| 8210 || [4.0.0+] CreateSharedLayer<br />
|-<br />
| 8211 || [4.0.0+] DestroySharedLayer<br />
|-<br />
| 8216 || [4.0.0+] AttachSharedLayerToLowLevelLayer<br />
|-<br />
| 8217 || [4.0.0+] ForceDetachSharedLayerFromLowLevelLayer<br />
|-<br />
| 8218 || [4.0.0+] StartDetachSharedLayerFromLowLevelLayer<br />
|-<br />
| 8219 || [4.0.0+] FinishDetachSharedLayerFromLowLevelLayer<br />
|-<br />
| 8220 || [4.0.0+] GetSharedLayerDetachReadyEvent<br />
|-<br />
| 8221 || [4.0.0+] GetSharedLowLevelLayerSynchronizedEvent<br />
|-<br />
| 8222 || [4.0.0+] CheckSharedLowLevelLayerSynchronized<br />
|-<br />
| 8223 || [4.0.0+] RegisterSharedBufferImporterAruid<br />
|-<br />
| 8224 || [4.0.0+] UnregisterSharedBufferImporterAruid<br />
|-<br />
| 8227 || [4.0.0+] CreateSharedBufferProcessHeap<br />
|-<br />
| 8228 || [4.0.0+] GetSharedLayerLayerStacks<br />
|-<br />
| 8229 || [4.0.0+] SetSharedLayerLayerStacks<br />
|-<br />
| 8291 || [4.0.0+] PresentDetachedSharedFrameBufferToLowLevelLayer<br />
|-<br />
| 8292 || [4.0.0+] FillDetachedSharedFrameBufferColor<br />
|-<br />
| 8293 || [4.0.0+] GetDetachedSharedFrameBufferImage<br />
|-<br />
| 8294 || [4.0.0+] SetDetachedSharedFrameBufferImage<br />
|-<br />
| 8295 || [4.0.0+] CopyDetachedSharedFrameBufferImage<br />
|-<br />
| 8296 || [4.0.0+] SetDetachedSharedFrameBufferSubImage<br />
|-<br />
| 8297 || [4.0.0+] GetSharedFrameBufferContentParameter<br />
|-<br />
| 8298 || [5.0.0+] ExpandStartupLogoOnSharedFrameBuffer<br />
|}<br />
<br />
= DisplayInfo =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Description<br />
|-<br />
| 0x0 || 0x40 || [[#DisplayName]]<br />
|-<br />
| 0x40 || 0x1 || Whether or not the display has a constrained number of layers.<br />
|-<br />
| 0x41 || 0x7 || Padding/Reserved<br />
|-<br />
| 0x48 || 0x8 || If this display has a constrained number of layers (0x40 is set), indicates the maximum number of layers.<br />
|-<br />
| 0x50 || 0x8 || Width in pixels<br />
|- <br />
| 0x58 || 0x8 || Height in pixels<br />
|}<br />
<br />
This is a 0x60-byte structure.<br />
<br />
The width/height for the "Default" Display is the resolution for 1080p even when in handheld-mode.<br />
<br />
= DisplayName =<br />
This is a 0x40-byte block: a NUL-terminated string.<br />
<br />
Can be "Default", "External", "[https://en.wikipedia.org/wiki/Extended_Display_Identification_Data Edid]", "Internal" or "Null".<br />
<br />
= Parcel =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Description<br />
|-<br />
| 0x0 || 0x4 || ParcelDataSize<br />
|-<br />
| 0x4 || 0x4 || ParcelDataOffset<br />
|-<br />
| 0x8 || 0x4 || ParcelObjectsSize<br />
|-<br />
| 0xC || 0x4 || ParcelObjectsOffset<br />
|-<br />
| 0x10 || ? || FlattenedBinder<br />
|}<br />
<br />
= NativeWindow =<br />
Max size of this buffer is 0x100-bytes(outbuf size used by official user-processes). Parsed("...DeserializeNativeWindow()") by a function called by the code described under [[#OpenLayer]], which executes code with Android symbols.<br />
<br />
This is a [[#Parcel]].<br />
<br />
== ParcelData ==<br />
This normally contains the following:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Description<br />
|-<br />
| 0x0 || 0x4 || 0x2<br />
|-<br />
| 0x4 || 0x4 || Probably the user-process PID?<br />
|-<br />
| 0x8 || 0x4 || ID<br />
|-<br />
| 0xC || 0xC || All-zero normally?<br />
|-<br />
| 0x18 || 0x8 || NUL-terminated "dispdrv" string.<br />
|-<br />
| 0x20 || 0x8 || All-zero normally?<br />
|}<br />
<br />
The above ID is used for the ID param for the binder commands with [[#GetRelayService|IHOSBinderDriver]].<br />
<br />
== ParcelObjects ==<br />
This normally contains an u32 with value 0?<br />
<br />
= Resolution handling =<br />
There doesn't seem to be a way to get the actual TV resolution while using the "Default" Display. Official apps just hard-code what resolution to use depending on the current [[AM_services|OperationMode]].<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=6211
Talk:Homebrew ABI
2019-02-12T21:42:52Z
<p>Misson20000: </p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)<br />
<br />
:"- The NRO file is not persisted to the SD card." "- The NRO file is not stored somewhere that the homebrew library knows how to access." "- The application does not exist as an NRO file at all." The ABI requires the NRO to located on SD in the first place... --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:34, 8 November 2018 (UTC)<br />
<br />
:Like yellows8 said, the homebrew ABI is designed around NRO files stored on SD card. If we ever support other filesystems (such as hostio access), we'd just add support for host:/ paths being passed through argv (as well as support code in libnx which would be trivial) - homebrew apps would need a recompile anyway with or without new ABI keys. Also, for that use case (hostio), romfs doesn't really make sense because you could just use assets in a folder inside the host filesystem instead of having to go through the trouble of building romfs (which can get pretty large). Finally, homebrew by definition is NRO formatted. Other formats should not be supported or promoted. --[[User:Fincs|Fincs]] ([[User talk:Fincs|talk]]) 19:47, 8 November 2018 (UTC)<br />
<br />
yellows8: It says nowhere in the homebrew ABI document that the NRO is required to be located on the SD card. If you are absolutely convinced that that should be an HBABI requirement, I would encourage you to add it to the document. I very much think that should not be an HBABI requirement though. The only things keeping homebrew on the SD card are libnx's behavior of reading its own executable combined with the small set of default-mounted filesystems that libnx understands. Aside from this behavior (which I'm trying to get changed), there is no reason to require that homebrew applications be located on the SD card.<br />
<br />
fincs: Apologies if I was unclear. When I said RomFS, I meant the filesystem that is visible to libnx applications under <code>romfs:/*</code> paths. For the hostio use case, if hostio were to be mounted under <code>hostio:</code>, the application would need to be written to tell whether it's on hostio or not and adjust its asset loading paths accordingly, whereas it would be significantly more convenient if the homebrew loader could override the <code>romfs:</code> mountpoint to use a hostio IFileSystem. I also disagree that homebrew is "by definition" NRO formatted. By convention, sure, and I'd even accept that this ABI does not apply to non-NRO formatted homebrew. I invite you to ignore that use case.<br />
<br />
Here's a different idea for you.<br />
<br />
==== Mount ====<br />
This is used to request that a filesystem be mounted by the homebrew application.<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Pointer to a NULL-terminated string representing the desired mountpoint.<br />
* '''Value[1]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]].<br />
<br />
The length of the mountpoint shall be no longer than 32 characters, including the NULL terminator.<br />
This key may be combined with the Argv key to specify the location of an application's executable.<br />
<br />
This way, we can still override <code>romfs:/</code> with Mount["romfs", <IFileSystem>], or we can mount an arbitrary filesystem (Mount["myfs", <IFileSystem>]) and set argv[0] to a path on that new mountpoint (<code>myfs:/application.nro</code>) so that the application can still find its NRO file and read it back to provide the <code>romfs:/</code> mount even if the NRO is not located on the SD card. I've even specified a length limit to match fsdev requirements.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 23:42, 9 November 2018 (UTC)<br />
<br />
[[Homebrew_ABI#NextLoadPath]] "NRO" "should start with "sdmc:/". Of course nx-hbloader doesn't enforce the latter besides only having sdmc mounted. --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 00:05, 10 November 2018 (UTC)<br />
<br />
For NextLoadPath? Sure, if you want to use NextLoadPath, it's best to give it a path to an NRO starting with "sdmc:/" ''because that's all that nx-hbloader understands'' and all that you want it to understand, which makes sense. But HBABI doesn't require that homebrew needs to be loaded by passing NextLoadPath back to the loader. After all, nx-hbmenu isn't loaded that way. That's besides the point, anyway. The point is that whether or not this restriction is actually documented on the HBABI page, I want you to evaluate why this restriction exists and whether it's necessary or not.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:27, 10 November 2018 (UTC)<br />
<br />
Where does this "IFilesystem" come from? --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 01:47, 10 November 2018 (CET)<br />
<br />
Doesn't much matter as far as the application is concerned. Could be some save data that the loader opened from FS, could be some BIS filesystem, or, in my case, a custom IFileSystem implementation that came from a custom service. Just as long as it implements the IFileSystem interface.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:57, 10 November 2018 (UTC)<br />
<br />
Workarounds (which only exist for a debugger) don't belong in the HBABI. --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:17, 12 February 2019 (UTC)<br />
<br />
Almost all of HBABI is workarounds to facilitate running homebrew applications in dirty environments:<br />
- bad entrypoint arguments (MainThreadHandle)<br />
- reusing the same process (OverrideHeap, Argv (can't use loader-args), AllocPages, LockRegion, RandomSeed)<br />
- legacy exploits (OverrideService, AppletWorkaround)<br />
- working around 0xffff8001 check in SVCs (ProcessHandle)<br />
<br />
And although it's not specified in the HBABI, reading back argv[0] for ASET is also a way to work around not being installed as a real application and being able to access romfs like official applications do.<br />
<br />
The only thing I'm working around here is the ASET workaround that needlessly ties homebrew to the SD card. Even if this is a workaround for a debugger, I don't think that's grounds for not belonging in the HBABI. It's not like Nintendo doesn't do anything similar ("Redirect*" commands in lr).<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 21:42, 12 February 2019 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Applet_Manager_services&diff=6185
Applet Manager services
2019-02-05T10:15:35Z
<p>Misson20000: /* idle:sys */ correct me if I'm wrong, but this is almost certainly a new command recycling an old ID and that was a gross way to notate that.</p>
<hr />
<div>AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.<br />
<br />
Contains multiple raw images, with at least the following: "NN_OMM_CHARGING_BIN_{begin|end}"(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.<br />
<br />
= appletAE =<br />
This is "nn::am::service::IAllSystemAppletProxiesService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].<br />
|-<br />
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].<br />
|-<br />
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].<br />
|-<br />
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].<br />
|-<br />
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.<br />
<br />
This service is used by all system non-regular-applications.<br />
<br />
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):<br />
* "qlaunch": SystemApplet<br />
* "overlay": OverlayApplet<br />
* "starter": SystemApplication<br />
* "maintenance": SystemApplet<br />
* All others: LibraryApplet<br />
<br />
== OpenLibraryAppletProxy ==<br />
Returns an [[#ILibraryAppletProxy]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.<br />
<br />
Official user-processes use the same retry loop with this as the other Open*Proxy commands.<br />
<br />
== ISystemAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].<br />
|-<br />
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].<br />
|-<br />
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].<br />
|-<br />
| 23 || [7.0.0+] || No input, returns an [[#IUnknown0]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IHomeMenuFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || RequestToGetForeground || <br />
|-<br />
| 11 || LockForeground ||<br />
|-<br />
| 12 || UnlockForeground || <br />
|-<br />
| 20 || [[#PopFromGeneralChannel]] || <br />
|-<br />
| 21 || [[#GetPopFromGeneralChannelEvent]] ||<br />
|-<br />
| 30 || [[#GetHomeButtonWriterLockAccessor]] || <br />
|-<br />
| 31 || [2.0.0+] [[#GetWriterLockAccessorEx]] || <br />
|-<br />
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
==== PopFromGeneralChannel ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopFromGeneralChannelEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetHomeButtonWriterLockAccessor ====<br />
No input, returns an output [[#ILockAccessor]].<br />
<br />
==== GetWriterLockAccessorEx ====<br />
Takes an input u32, returns an output [[#ILockAccessor]].<br />
<br />
==== ILockAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || TryLock<br />
|-<br />
| 2 || Unlock<br />
|-<br />
| 3 || [[#GetEvent]]<br />
|}<br />
<br />
===== GetEvent =====<br />
No input, returns an output handle.<br />
<br />
=== IGlobalStateController ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || RequestToEnterSleep || <br />
|-<br />
| 1 || EnterSleep || <br />
|-<br />
| 2 || StartSleepSequence || <br />
|-<br />
| 3 || StartShutdownSequence || <br />
|-<br />
| 4 || StartRebootSequence || <br />
|-<br />
| 9 || [7.0.0+] || No input, returns an output u8.<br />
|-<br />
| 10 || LoadAndApplyIdlePolicySettings || <br />
|-<br />
| 11 || [2.0.0+] NotifyCecSettingsChanged || <br />
|-<br />
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime || <br />
|-<br />
| 13 || [2.0.0+] UpdateDefaultDisplayResolution || <br />
|-<br />
| 14 || [2.0.0+] [[#ShouldSleepOnBoot]] || <br />
|-<br />
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent || <br />
|}<br />
<br />
==== ShouldSleepOnBoot ====<br />
No input, returns an output u8 bool.<br />
<br />
=== IApplicationCreator ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateApplication]] || <br />
|-<br />
| 1 || [[#PopLaunchRequestedApplication]] || <br />
|-<br />
| 10 || [[#CreateSystemApplication]] || <br />
|-<br />
| 100 || [[#PopFloatingApplicationForDevelopment]] || <br />
|}<br />
<br />
==== CreateApplication ====<br />
Takes an input u64 <code>nn::ncm::ApplicationId</code>(titleID), returns an [[#IApplicationAccessor]].<br />
<br />
==== PopLaunchRequestedApplication ====<br />
No input, returns an [[#IApplicationAccessor]].<br />
<br />
==== CreateSystemApplication ====<br />
Takes an input u64 <code>nn::ncm::SystemApplicationId</code>, returns an [[#IApplicationAccessor]].<br />
<br />
==== PopFloatingApplicationForDevelopment ====<br />
No input, returns an [[#IApplicationAccessor]].<br />
<br />
==== IApplicationAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]] ||<br />
|-<br />
| 1 || [[#IsCompleted]] ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit || <br />
|-<br />
| 25 || Terminate || <br />
|-<br />
| 30 || GetResult || <br />
|-<br />
| 101 || RequestForApplicationToGetForeground || <br />
|-<br />
| 110 || TerminateAllLibraryApplets || <br />
|-<br />
| 111 || AreAnyLibraryAppletsLeft || <br />
|-<br />
| 112 || [[#GetCurrentLibraryApplet]] || <br />
|-<br />
| 120 || GetApplicationId || <br />
|-<br />
| 121 || [[#PushLaunchParameter]] || <br />
|-<br />
| 122 || GetApplicationControlProperty || <br />
|-<br />
| 123 || [2.0.0+] GetApplicationLaunchProperty || <br />
|-<br />
| 124 || [6.0.0+] GetApplicationLaunchRequestInfo || <br />
|-<br />
| 130 || [6.0.0+] SetUsers || <br />
|-<br />
| 131 || [6.0.0+] CheckRightsEnvironmentAvailable || <br />
|-<br />
| 132 || [6.0.0+] GetNsRightsEnvironmentHandle || <br />
|-<br />
| 140 || [6.0.0+] GetDesirableUids || <br />
|-<br />
| 150 || [6.0.0+] ReportApplicationExitTimeout || <br />
|}<br />
<br />
Commands <=30 are inherited from [[#IAppletAccessor]].<br />
<br />
===== GetCurrentLibraryApplet =====<br />
No input, returns an output [[#IAppletAccessor]].<br />
<br />
===== PushLaunchParameter =====<br />
Takes an input u32 and an input [[#IStorage]], no output.<br />
<br />
===== IAppletAccessor =====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]]<br />
|-<br />
| 1 || [[#IsCompleted]]<br />
|-<br />
| 10 || [[#Start]]<br />
|-<br />
| 20 || [[#RequestExit]]<br />
|-<br />
| 25 || [[#Terminate]]<br />
|-<br />
| 30 || [[#GetResult]]<br />
|}<br />
<br />
==== GetAppletStateChangedEvent ====<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
==== IsCompleted ====<br />
No input, returns an output u8 bool.<br />
<br />
==== Start ====<br />
No input/output.<br />
<br />
==== RequestExit ====<br />
No input/output.<br />
<br />
==== Terminate ====<br />
No input/output.<br />
<br />
==== GetResult====<br />
No input/output.<br />
<br />
== IUnknown0 ==<br />
Added with [[7.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || || Takes a total of 8-bytes of input and a type-0x22 output buffer, returns a total of 8-bytes of output.<br />
|-<br />
| 11 || || Takes a total of 8-bytes of input and a type-0x21 input buffer, no output.<br />
|}<br />
<br />
== ILibraryAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || OpenLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].<br />
|-<br />
| 21 || [7.0.0+] || No input, returns an [[#IUnknown0]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== ILibraryAppletSelfAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#PopInData]] || <br />
|-<br />
| 1 || [[#PushOutData]] || <br />
|-<br />
| 2 || [[#PopInteractiveInData]] || <br />
|-<br />
| 3 || [[#PushInteractiveOutData]] || <br />
|-<br />
| 5 || [[#GetPopInDataEvent]] ||<br />
|-<br />
| 6 || [[#GetPopInteractiveInDataEvent]] ||<br />
|-<br />
| 10 || [[#ExitProcessAndReturn]] ||<br />
|-<br />
| 11 || [[#GetLibraryAppletInfo]] ||<br />
|-<br />
| 12 || GetMainAppletIdentityInfo ||<br />
|-<br />
| 13 || [[#CanUseApplicationCore]] ||<br />
|-<br />
| 14 || GetCallerAppletIdentityInfo ||<br />
|-<br />
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||<br />
|-<br />
| 16 || [2.0.0+] [[#GetMainAppletStorageId]] ||<br />
|-<br />
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||<br />
|-<br />
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||<br />
|-<br />
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||<br />
|-<br />
| 20 || [[#PopExtraStorage]] || <br />
|-<br />
| 25 || [[#GetPopExtraStorageEvent]] ||<br />
|-<br />
| 30 || [[#UnpopInData]] || <br />
|-<br />
| 31 || [[#UnpopExtraStorage]] || <br />
|-<br />
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||<br />
|-<br />
| 50 || [2.0.0+] ReportVisibleError ||<br />
|-<br />
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||<br />
|-<br />
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||<br />
|-<br />
| 80 || [6.0.0+] RequestExitToSelf ||<br />
|-<br />
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||<br />
|-<br />
| 100 || [4.0.0+] [[#CreateGameMovieTrimmer]] ||<br />
|-<br />
| 101 || [6.0.0+] ReserveResourceForMovieOperation ||<br />
|-<br />
| 102 || [6.0.0+] UnreserveResourceForMovieOperation ||<br />
|-<br />
| 110 || [6.0.0+] GetMainAppletAvailableUsers ||<br />
|}<br />
<br />
==== PopInData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushOutData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopInteractiveInData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushInteractiveOutData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== GetPopInDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetPopInteractiveInDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetMainAppletStorageId ====<br />
No input, returns an output u8 storageId.<br />
<br />
==== ExitProcessAndReturn ====<br />
No input/output.<br />
<br />
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).<br />
<br />
==== GetLibraryAppletInfo ====<br />
No input. Returns an output [[#LibraryAppletInfo]].<br />
<br />
==== CanUseApplicationCore ====<br />
No input, returns an output u8 bool.<br />
<br />
==== PopExtraStorage ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopExtraStorageEvent ====<br />
No input, returns an output handle.<br />
<br />
==== UnpopInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== UnpopExtraStorage ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== GetMainAppletApplicationDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== CreateGameMovieTrimmer ====<br />
Takes an input u64 and handle, returns a GRC [[GRC_services#IGameMovieTrimmer|IGameMovieTrimmer]].<br />
<br />
== IOverlayAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].<br />
|-<br />
| 21 || [7.0.0+] || No input, returns an [[#IUnknown0]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IOverlayFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || BeginToWatchShortHomeButtonMessage<br />
|-<br />
| 1 || EndToWatchShortHomeButtonMessage<br />
|-<br />
| 2 || GetApplicationIdForLogo<br />
|-<br />
| 3 || SetGpuTimeSliceBoost<br />
|-<br />
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled<br />
|-<br />
| 5 || [2.0.0+] TerminateApplicationAndSetReason<br />
|-<br />
| 6 || [2.0.0+] SetScreenShotPermissionGlobally<br />
|-<br />
| 10 || [6.0.0+] StartShutdownSequenceForOverlay<br />
|-<br />
| 11 || [6.0.0+] StartRebootSequenceForOverlay<br />
|-<br />
| 90 || [7.0.0+] || Takes an input u8, no output.<br />
|-<br />
| 101 || [6.0.0+] BeginToObserveHidInputForDevelop<br />
|}<br />
<br />
== IApplicationProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IApplicationFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || [[#PopLaunchParameter]] || <br />
|-<br />
| 10 || [[#CreateApplicationAndPushAndRequestToStart]] || <br />
|-<br />
| 11 || [2.0.0+] [[#CreateApplicationAndPushAndRequestToStartForQuest]] || <br />
|-<br />
| 12 || [4.0.0+] [[#CreateApplicationAndRequestToStart]] || <br />
|-<br />
| 13 || [4.0.0+] [[#CreateApplicationAndRequestToStartForQuest]] || <br />
|-<br />
| 14 || [7.0.0+] || Takes a total of 8-bytes and a type-0x15 input buffer, return an output [[#IStorage]].<br />
|-<br />
| 15 || [7.0.0+] || Takes a total of 8-bytes and a type-0x15 input buffer, no output.<br />
|-<br />
| 20 || EnsureSaveData ||<br />
|-<br />
| 21 || [[#GetDesiredLanguage]] ||<br />
|-<br />
| 22 || [[#SetTerminateResult]] ||<br />
|-<br />
| 23 || GetDisplayVersion ||<br />
|-<br />
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||<br />
|-<br />
| 25 || [2.0.0+] ExtendSaveData ||<br />
|-<br />
| 26 || [2.0.0+] GetSaveDataSize ||<br />
|-<br />
| 27 || [5.0.0+] CreateCacheStorage ||<br />
|-<br />
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 31 || [[#EndBlockingHomeButtonShortAndLongPressed]] ||<br />
|-<br />
| 32 || [[#BeginBlockingHomeButton]] ||<br />
|-<br />
| 33 || [[#EndBlockingHomeButton]] ||<br />
|-<br />
| 40 || [[#NotifyRunning]] ||<br />
|-<br />
| 50 || [2.0.0+] GetPseudoDeviceId ||<br />
|-<br />
| 60 || [2.0.0+] [[#SetMediaPlaybackStateForApplication]] ||<br />
|-<br />
| 65 || [3.0.0+] [[#IsGamePlayRecordingSupported]] ||<br />
|-<br />
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||<br />
|-<br />
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||<br />
|-<br />
| 68 || [4.0.0+] [[#RequestFlushGamePlayingMovieForDebug]] || <br />
|-<br />
| 70 || [3.0.0+] [[#RequestToShutdown]] ||<br />
|-<br />
| 71 || [3.0.0+] [[#RequestToReboot]] ||<br />
|-<br />
| 80 || [4.0.0+] [[#ExitAndRequestToShowThanksMessage]] || <br />
|-<br />
| 90 || [4.0.0+] [[#EnableApplicationCrashReport]] || <br />
|-<br />
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || <br />
|-<br />
| 101 || [5.0.0+] SetApplicationCopyrightImage || <br />
|-<br />
| 102 || [5.0.0+] [[#SetApplicationCopyrightVisibility]] || <br />
|-<br />
| 110 || [5.0.0+] [[#QueryApplicationPlayStatistics]] || <br />
|-<br />
| 111 || [6.0.0+] QueryApplicationPlayStatisticsByUid || <br />
|-<br />
| 120 || [5.0.0+] ExecuteProgram || <br />
|-<br />
| 121 || [5.0.0+] [[#ClearUserChannel]] || <br />
|-<br />
| 122 || [5.0.0+] UnpopToUserChannel || <br />
|-<br />
| 123 || [6.0.0+] GetPreviousProgramIndex || <br />
|-<br />
| 124 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash || <br />
|-<br />
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || <br />
|-<br />
| 1000 || [5.0.0+] [[#CreateMovieMaker]] || <br />
|-<br />
| 1001 || [5.0.0+] [[#PrepareForJit]] ||<br />
|}<br />
<br />
The BOTW game uses this GamePlayRecording functionality from the main-nso "nninitStartup" function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):<br />
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.<br />
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.<br />
* Closes the TransferMemory handle, + TransferMemory cleanup.<br />
* Uses [[#SetGamePlayRecordingState]] with value 0x1.<br />
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].<br />
<br />
==== PopLaunchParameter ====<br />
Takes an input u32 [[#LaunchParameterKind]], returns an output [[#IStorage]].<br />
<br />
Pops a LaunchParameter [[#IStorage]], the storage will be removed from sysmodule state during this.<br />
<br />
==== CreateApplicationAndPushAndRequestToStart ====<br />
Takes an input u64 titleID and an input [[#IStorage]], no output. titleID=0 can be used to relaunch the current application.<br />
<br />
==== CreateApplicationAndPushAndRequestToStartForQuest ====<br />
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest), an input u64 titleID, and an input [[#IStorage]], no output.<br />
<br />
==== CreateApplicationAndRequestToStart ====<br />
Takes an input u64 titleID, no output.<br />
<br />
Same as [[#CreateApplicationAndPushAndRequestToStart]] except without the input storage, official sw uses this when no input storage is specified.<br />
<br />
==== CreateApplicationAndRequestToStartForQuest ====<br />
Takes 2 input u32s (loaded from struct ApplicationAttributeForQuest) and an input u64 titleID, no output.<br />
<br />
Same as [[#CreateApplicationAndPushAndRequestToStartForQuest]] except without the input storage, official sw uses this when no input storage is specified.<br />
<br />
==== GetDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== SetTerminateResult ====<br />
Takes an input u32 '''Result''', no output.<br />
<br />
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.<br />
<br />
==== EndBlockingHomeButtonShortAndLongPressed ====<br />
No input/output.<br />
<br />
==== BeginBlockingHomeButton ====<br />
Takes an input s64 nanoseconds, no output. The input nanoseconds can be zero.<br />
<br />
==== EndBlockingHomeButton ====<br />
No input/output.<br />
<br />
==== NotifyRunning ====<br />
Takes no input. Returns an output u8 bool, which is ignored by official user-processes.<br />
<br />
==== SetMediaPlaybackStateForApplication ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== IsGamePlayRecordingSupported ====<br />
No input, returns an output u8 bool.<br />
<br />
==== InitializeGamePlayRecording ====<br />
Takes a TransferMemory handle and an u64 for the size of the TransferMemory. The size must match 0x6000000 otherwise an error is returned.<br />
<br />
==== SetGamePlayRecordingState ====<br />
Takes an input u32. 0 = disable/pause, 1 = enable/restart.<br />
<br />
==== RequestFlushGamePlayingMovieForDebug ====<br />
No input/output.<br />
<br />
==== RequestToShutdown ====<br />
No input/output.<br />
<br />
==== RequestToReboot ====<br />
No input/output.<br />
<br />
==== ExitAndRequestToShowThanksMessage ====<br />
No input/output.<br />
<br />
Used to exit the application and return to the kiosk menu. Official sw uses [[#UnlockExit]] immediately before this.<br />
<br />
==== EnableApplicationCrashReport ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== SetApplicationCopyrightVisibility ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== QueryApplicationPlayStatistics ====<br />
Takes a type-0x6 output buffer containing an array of ApplicationPlayStatistics and a type-0x5 input buffer containing an array of u64 titleIDs. Returns an output s32 (actual total output entries?).<br />
<br />
The number of entries in each array is the same. ApplicationPlayStatistics is a 8-byte struct.<br />
<br />
==== ClearUserChannel ====<br />
No input/output.<br />
<br />
==== CreateMovieMaker ====<br />
Takes an input u64 and handle, returns an [[#IMovieMaker]].<br />
<br />
==== PrepareForJit ====<br />
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.<br />
<br />
=== IMovieMaker ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetGrcMovieMaker]]<br />
|-<br />
| 1 || [[#GetLayerHandle]]<br />
|}<br />
<br />
==== GetGrcMovieMaker ====<br />
No input, returns a GRC [[GRC_services|IMovieMaker]].<br />
<br />
==== GetLayerHandle ====<br />
No input, returns an output u64.<br />
<br />
== ILibraryAppletCreator ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateLibraryApplet]] || <br />
|-<br />
| 1 || [[#TerminateAllLibraryApplets]] ||<br />
|-<br />
| 2 || [[#AreAnyLibraryAppletsLeft]] ||<br />
|-<br />
| 10 || [[#CreateStorage]] || <br />
|-<br />
| 11 || [[#CreateTransferMemoryStorage]] || <br />
|-<br />
| 12 || [2.0.0+] [[#CreateHandleStorage]] || <br />
|}<br />
<br />
=== CreateLibraryApplet ===<br />
Takes 2 input u32s [[#AppletId]] and [[#LibraryAppletMode]], returns an [[#ILibraryAppletAccessor]].<br />
<br />
=== TerminateAllLibraryApplets ===<br />
No input/output.<br />
<br />
=== AreAnyLibraryAppletsLeft ===<br />
No input, returns an output u8 bool.<br />
<br />
=== CreateStorage ===<br />
Takes an input s64 for the storage size, returns an [[#IStorage]].<br />
<br />
This allocates a buffer with the specified size which can then be accessed via [[#IStorageAccessor]].<br />
<br />
=== CreateTransferMemoryStorage ===<br />
Takes an input TransferMemory copy-handle, an input u8 bool, and an s64 size, returns an [[#IStorage]].<br />
<br />
The user-process creates the TransferMemory with permissions=0.<br />
<br />
The TransferMemory is mapped, which can then be accessed via [[#IStorageAccessor]]. The input bool controls whether writing to the storage is allowed: [[#Write]] will throw an error if this flag is not set.<br />
<br />
=== CreateHandleStorage ===<br />
Takes an input copy-handle and an input s64, returns an [[#IStorage]]. In some cases the s64 must not have the negative bit set.<br />
<br />
The input can be arbitrary, however official sw is only (?) known to use this for TransferMemory (with s64=size).<br />
<br />
=== ILibraryAppletAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetAppletStateChangedEvent]] ||<br />
|-<br />
| 1 || [[#IsCompleted]] ||<br />
|-<br />
| 10 || [[#Start]] ||<br />
|-<br />
| 20 || [[#RequestExit]] ||<br />
|-<br />
| 25 || [[#Terminate]] ||<br />
|-<br />
| 30 || [[#GetResult]] ||<br />
|-<br />
| 50 || [[#SetOutOfFocusApplicationSuspendingEnabled]] ||<br />
|-<br />
| 100 || [[#PushInData]] || <br />
|-<br />
| 101 || [[#PopOutData]] || <br />
|-<br />
| 102 || [[#PushExtraStorage]] || <br />
|-<br />
| 103 || [[#PushInteractiveInData]] || <br />
|-<br />
| 104 || [[#PopInteractiveOutData]] || <br />
|-<br />
| 105 || [[#GetPopOutDataEvent]] ||<br />
|-<br />
| 106 || [[#GetPopInteractiveOutDataEvent]] ||<br />
|-<br />
| 110 || [[#NeedsToExitProcess]] ||<br />
|-<br />
| 120 || [[#GetLibraryAppletInfo]] || <br />
|-<br />
| 150 || [[#RequestForAppletToGetForeground]] ||<br />
|-<br />
| 160 || [2.0.0+] [[#GetIndirectLayerConsumerHandle]] ||<br />
|}<br />
<br />
Commands <=30 are inherited from [[#IAppletAccessor]]. GetLibraryAppletInfo is identical to the [[#ILibraryAppletSelfAccessor]] cmd.<br />
<br />
==== SetOutOfFocusApplicationSuspendingEnabled ====<br />
Takes an input u8 bool, no output.<br />
<br />
==== PushInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopOutData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== PushExtraStorage ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PushInteractiveInData ====<br />
Takes an input [[#IStorage]], no output.<br />
<br />
==== PopInteractiveOutData ====<br />
No input, returns an output [[#IStorage]].<br />
<br />
==== GetPopOutDataEvent ====<br />
No input, returns an output handle.<br />
<br />
==== GetPopInteractiveOutDataEvent ====<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
==== NeedsToExitProcess ====<br />
No input, returns an output u8 bool.<br />
<br />
==== RequestForAppletToGetForeground ====<br />
No input/output.<br />
<br />
==== GetIndirectLayerConsumerHandle ====<br />
Takes an input PID and an input u64 AppletResourceUserId, returns an output u64 IndirectLayerConsumerHandle.<br />
<br />
Official sw uses this during LibraryApplet creation when [[#LibraryAppletMode]] is 0x3.<br />
<br />
== ICommonStateGetter ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetEventHandle]] ||<br />
|-<br />
| 1 || [[#ReceiveMessage]] ||<br />
|-<br />
| 2 || [[#GetThisAppletKind]] ||<br />
|-<br />
| 3 || AllowToEnterSleep ||<br />
|-<br />
| 4 || DisallowToEnterSleep ||<br />
|-<br />
| 5 || [[#GetOperationMode]] ||<br />
|-<br />
| 6 || [[#GetPerformanceMode]] ||<br />
|-<br />
| 7 || [[#GetCradleStatus]] ||<br />
|-<br />
| 8 || [[#GetBootMode]] ||<br />
|-<br />
| 9 || [[#GetCurrentFocusState]] ||<br />
|-<br />
| 10 || RequestToAcquireSleepLock ||<br />
|-<br />
| 11 || ReleaseSleepLock ||<br />
|-<br />
| 12 || ReleaseSleepLockTransiently ||<br />
|-<br />
| 13 || [[#GetAcquiredSleepLockEvent]] ||<br />
|-<br />
| 20 || [[#PushToGeneralChannel]] || <br />
|-<br />
| 30 || [[#GetHomeButtonReaderLockAccessor]] || <br />
|-<br />
| 31 || [2.0.0+] [[#GetReaderLockAccessorEx]] || <br />
|-<br />
| 32: || [7.0.0+] || Takes a total of 4-bytes of input, returns an output [[#ILockAccessor]].<br />
|-<br />
| 40 || [2.0.0+] GetCradleFwVersion ||<br />
|-<br />
| 50 || [3.0.0+] [[#IsVrModeEnabled]] ||<br />
|-<br />
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||<br />
|-<br />
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||<br />
|-<br />
| 53 || [7.0.0+] || No input/output.<br />
|-<br />
| 54 || [7.0.0+] || No input/output.<br />
|-<br />
| 55 || [3.0.0+] [[#IsInControllerFirmwareUpdateSection]] ||<br />
|-<br />
| 60 || [3.0.0+] GetDefaultDisplayResolution ||<br />
|-<br />
| 61 || [3.0.0+] [[#GetDefaultDisplayResolutionChangeEvent]] ||<br />
|-<br />
| 62 || [4.0.0+] GetHdcpAuthenticationState || <br />
|-<br />
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||<br />
|-<br />
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||<br />
|-<br />
| 65 || [6.0.0+] GetApplicationIdByContentActionName ||<br />
|-<br />
| 66 || [6.0.0+] SetCpuAndGpuBoostMode ||<br />
|-<br />
| 80 || [6.0.0+] PerformSystemButtonPressingIfInFocus ||<br />
|-<br />
| 90 || [7.0.0+] || Takes an input u8, no output.<br />
|-<br />
| 91 || [7.0.0+] || No input, returns a total of 4-bytes of output.<br />
|-<br />
| 200 || [7.0.0+] || No input, returns a total of 4-bytes of output.<br />
|}<br />
<br />
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).<br />
<br />
=== GetEventHandle ===<br />
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].<br />
<br />
=== ReceiveMessage ===<br />
No input. Returns an output u32. Error 0x680 indicates no message is available.<br />
<br />
=== GetThisAppletKind ===<br />
No input, returns an output [[#AppletKind]].<br />
<br />
=== GetOperationMode ===<br />
No input. Returns an output u8 for the current [[#OperationMode]].<br />
<br />
=== GetPerformanceMode ===<br />
No input. Returns an output u32 for the current PerformanceMode.<br />
<br />
=== GetCradleStatus ===<br />
No input, returns an output u8.<br />
<br />
=== GetBootMode ===<br />
No input, returns an output u8.<br />
<br />
=== GetCurrentFocusState ===<br />
No input. Returns an output u8:<br />
<br />
* 1: In focus.<br />
* 2/3: Out of focus(running in "background").<br />
<br />
=== GetAcquiredSleepLockEvent ===<br />
No input, returns an output handle.<br />
<br />
=== PushToGeneralChannel ===<br />
Takes an input [[#IStorage]], no output.<br />
<br />
This is not usable under an Application, however it is usable under a LibraryApplet.<br />
<br />
Used for sending requests to [[qlaunch]]. sdk-nso creates a 0x10-byte storage which is sent to this. The following are the functions which use this, with the data written to the storage:<br />
* <code>RequestHomeMenu</code> <code>5341 4d53 0100 0000 0200 0000 0100 0000</code> Returns to the main Home Menu, equivalent to pressing the HOME button.<br />
* <code>RequestJumpToSystemUpdate</code> <code>5341 4d53 0100 0000 0b00 0000 0100 0000</code> Equivalent to entering "System Update" under System Settings. When leaving this, it returns to the main Home Menu.<br />
<br />
=== GetHomeButtonReaderLockAccessor ===<br />
No input, returns an output [[#ILockAccessor]].<br />
<br />
=== GetReaderLockAccessorEx ===<br />
Takes an input u32, returns an output [[#ILockAccessor]].<br />
<br />
=== IsVrModeEnabled ===<br />
No input, returns an output u8 bool.<br />
<br />
=== SetVrModeEnabled ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
Updates internal AM state fields. If the new state doesn't match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.<br />
<br />
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the 'close' button. When this button is pressed, the console resets the vrMode to false.<br />
<br />
=== IsInControllerFirmwareUpdateSection ===<br />
No input, returns an output u8 bool.<br />
<br />
=== GetDefaultDisplayResolutionChangeEvent ===<br />
No input, returns an output handle.<br />
<br />
== ISelfController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#Exit]]<br />
|-<br />
| 1 || [[#LockExit]]<br />
|-<br />
| 2 || [[#UnlockExit]]<br />
|-<br />
| 3 || [2.0.0+] [[#EnterFatalSection]]<br />
|-<br />
| 4 || [2.0.0+] [[#LeaveFatalSection]]<br />
|-<br />
| 9 || [[#GetLibraryAppletLaunchableEvent]]<br />
|-<br />
| 10 || [[#SetScreenShotPermission]]<br />
|-<br />
| 11 || [[#SetOperationModeChangedNotification]]<br />
|-<br />
| 12 || [[#SetPerformanceModeChangedNotification]]<br />
|-<br />
| 13 || [[#SetFocusHandlingMode]]<br />
|-<br />
| 14 || SetRestartMessageEnabled<br />
|-<br />
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]<br />
|-<br />
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]<br />
|-<br />
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection<br />
|-<br />
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage<br />
|-<br />
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]<br />
|-<br />
| 20 || [4.0.0+] SetDesirableKeyboardLayout<br />
|-<br />
| 40 || [[#CreateManagedDisplayLayer]]<br />
|-<br />
| 41 || [4.0.0+] IsSystemBufferSharingEnabled<br />
|-<br />
| 42 || [4.0.0+] GetSystemSharedLayerHandle<br />
|-<br />
| 43 || [6.0.0+] GetSystemSharedBufferHandle<br />
|-<br />
| 50 || SetHandlesRequestToDisplay<br />
|-<br />
| 51 || ApproveToDisplay<br />
|-<br />
| 60 || OverrideAutoSleepTimeAndDimmingTime<br />
|-<br />
| 61 || [[#SetMediaPlaybackState]]<br />
|-<br />
| 62 || SetIdleTimeDetectionExtension<br />
|-<br />
| 63 || GetIdleTimeDetectionExtension<br />
|-<br />
| 64 || SetInputDetectionSourceSet<br />
|-<br />
| 65 || [2.0.0+] ReportUserIsActive<br />
|-<br />
| 66 || [3.0.0+] GetCurrentIlluminance<br />
|-<br />
| 67 || [3.0.0+] [[#IsIlluminanceAvailable]]<br />
|-<br />
| 68 || [4.0.0+] SetAutoSleepDisabled<br />
|-<br />
| 69 || [4.0.0+] IsAutoSleepDisabled<br />
|-<br />
| 70 || [5.0.0+] ReportMultimediaError<br />
|-<br />
| 71 || [6.0.0+] GetCurrentIlluminanceEx<br />
|-<br />
| 80 || [5.0.0+] SetWirelessPriorityMode<br />
|-<br />
| 90 || [6.0.0+] GetAccumulatedSuspendedTickValue<br />
|-<br />
| 91 || [6.0.0+] GetAccumulatedSuspendedTickChangedEvent<br />
|-<br />
| 100 || [7.0.0+] || Takes an input u8, no output.<br />
|-<br />
| 1000 || [7.0.0+] || No input, returns an output [[#IUnknown1]].<br />
|}<br />
<br />
=== Exit ===<br />
No input/output.<br />
<br />
=== LockExit ===<br />
No input/output.<br />
<br />
Locks exit process of pressing X to close in HOME Menu for an application or HOME button for an applet. When locked, it will show the "waiting for software to be closed dialog" until UnlockExit is called or a 15 seconds timeout (when the latter occurs, the process is force-terminated).<br />
<br />
=== UnlockExit ===<br />
No input/output.<br />
<br />
Unlocks exit process, if LockExit was previously used.<br />
<br />
=== EnterFatalSection ===<br />
No input/output.<br />
<br />
=== LeaveFatalSection ===<br />
No input/output.<br />
<br />
=== GetLibraryAppletLaunchableEvent ===<br />
No input, returns an output event handle with autoclear=false.<br />
<br />
=== SetScreenShotPermission ===<br />
Takes an input s32. No output.<br />
<br />
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.<br />
<br />
=== SetOperationModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetPerformanceModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetFocusHandlingMode ===<br />
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.<br />
<br />
=== SetScreenShotAppletIdentityInfo ===<br />
Takes an input 0x10-byte struct AppletIdentityInfo. No output.<br />
<br />
=== SetOutOfFocusSuspendingEnabled ===<br />
Takes an input u8(bool flag). No output.<br />
<br />
=== SetScreenShotImageOrientation ===<br />
Takes an input s32. No output.<br />
<br />
=== CreateManagedDisplayLayer ===<br />
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].<br />
<br />
=== SetMediaPlaybackState ===<br />
Takes an input u8 bool, no output.<br />
<br />
=== IsIlluminanceAvailable ===<br />
No input, returns an output u8 bool.<br />
<br />
== IUnknown1 ==<br />
Added with [[7.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || || No input, returns an output [[#IStorage]].<br />
|-<br />
| 1 || || No input, returns an output [[#IStorage]].<br />
|-<br />
| 2 || || No input, returns an output [[#IStorage]].<br />
|-<br />
| 3 || || No input, returns an output handle.<br />
|-<br />
| 4 || || No input/output.<br />
|}<br />
<br />
== IWindowController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#CreateWindow]] || <br />
|-<br />
| 1 || [[#GetAppletResourceUserId]] ||<br />
|-<br />
| 2 || [6.0.0+] GetAppletResourceUserIdOfCallerApplet ||<br />
|-<br />
| 10 || [[#AcquireForegroundRights]] ||<br />
|-<br />
| 11 || ReleaseForegroundRights ||<br />
|-<br />
| 12 || RejectToChangeIntoBackground ||<br />
|-<br />
| 20 || [7.0.0+] || Takes an input u8, no output.<br />
|-<br />
| 21 || [7.0.0+] || Takes a total of 8-bytes of input, no output.<br />
|}<br />
<br />
=== CreateWindow ===<br />
Takes an input u32, returns an output [[#IWindow]].<br />
<br />
=== GetAppletResourceUserId ===<br />
Returns an output u64: [[#AppletResourceUserId]].<br />
<br />
=== AcquireForegroundRights ===<br />
No input/output.<br />
<br />
== IAudioController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || SetExpectedMasterVolume<br />
|-<br />
| 1 || GetMainAppletExpectedMasterVolume<br />
|-<br />
| 2 || GetLibraryAppletExpectedMasterVolume<br />
|-<br />
| 3 || ChangeMainAppletMasterVolume<br />
|-<br />
| 4 || SetTransparentVolumeRate<br />
|}<br />
<br />
GetMainAppletExpectedMasterVolume/SetExpectedMasterVolume are used for saving/restoring state for LibraryApplet launching, with SetExpectedMasterVolume being used with new state prior to launching a LibraryApplet. With official sw these applet funcs are used directly in the main-codebin.<br />
<br />
== IDisplayController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetLastForegroundCaptureImage<br />
|-<br />
| 1 || UpdateLastForegroundCaptureImage<br />
|-<br />
| 2 || GetLastApplicationCaptureImage<br />
|-<br />
| 3 || GetCallerAppletCaptureImage<br />
|-<br />
| 4 || UpdateCallerAppletCaptureImage<br />
|-<br />
| 5 || GetLastForegroundCaptureImageEx<br />
|-<br />
| 6 || GetLastApplicationCaptureImageEx<br />
|-<br />
| 7 || GetCallerAppletCaptureImageEx<br />
|-<br />
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer<br />
|-<br />
| 9 || [5.0.0+] CopyBetweenCaptureBuffers<br />
|-<br />
| 10 || [[#AcquireLastApplicationCaptureBuffer]]<br />
|-<br />
| 11 || ReleaseLastApplicationCaptureBuffer<br />
|-<br />
| 12 || [[#AcquireLastForegroundCaptureBuffer]]<br />
|-<br />
| 13 || ReleaseLastForegroundCaptureBuffer<br />
|-<br />
| 14 || [[#AcquireCallerAppletCaptureBuffer]]<br />
|-<br />
| 15 || ReleaseCallerAppletCaptureBuffer<br />
|-<br />
| 16 || AcquireLastApplicationCaptureBufferEx<br />
|-<br />
| 17 || AcquireLastForegroundCaptureBufferEx<br />
|-<br />
| 18 || AcquireCallerAppletCaptureBufferEx<br />
|-<br />
| 20 || [2.0.0+] ClearCaptureBuffer<br />
|-<br />
| 21 || [2.0.0+] ClearAppletTransitionBuffer<br />
|-<br />
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer<br />
|-<br />
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer<br />
|-<br />
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer<br />
|-<br />
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer<br />
|-<br />
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer<br />
|-<br />
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer<br />
|-<br />
| 28 || [6.0.0+] TakeScreenShotOfOwnLayerEx<br />
|}<br />
<br />
=== AcquireLastApplicationCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
=== AcquireLastForegroundCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
=== AcquireCallerAppletCaptureBuffer ===<br />
No input, returns an output handle.<br />
<br />
== ISystemAppletControllerForDebug ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || RequestLaunchApplicationForDebug || <br />
|-<br />
| 2 || [7.0.0+] || No input, returns an output [[#IUnknown1]].<br />
|-<br />
| 3 || [7.0.0+] || Takes a total of 8-bytes of input, returns an [[#IStorage]].<br />
|}<br />
<br />
== IProcessWindingController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetLaunchReason]] ||<br />
|-<br />
| 11 || [[#OpenCallingLibraryApplet]] || <br />
|-<br />
| 21 || [[#PushContext]] || <br />
|-<br />
| 22 || [[#PopContext]] || <br />
|-<br />
| 23 || CancelWindingReservation ||<br />
|-<br />
| 30 || WindAndDoReserved ||<br />
|-<br />
| 40 || [[#ReserveToStartAndWaitAndUnwindThis]] || <br />
|-<br />
| 41 || [4.0.0+] ReserveToStartAndWait ||<br />
|}<br />
<br />
=== GetLaunchReason ===<br />
No input. Returns an u32 AppletProcessLaunchReason.<br />
<br />
Used by LibraryApplets.<br />
<br />
=== OpenCallingLibraryApplet ===<br />
No input, returns an output [[#ILibraryAppletAccessor]].<br />
<br />
=== PushContext ===<br />
Takes an input [[#IStorage]], no output.<br />
<br />
=== PopContext ===<br />
No input, returns an output [[#IStorage]].<br />
<br />
=== ReserveToStartAndWaitAndUnwindThis ===<br />
Takes an input [[#ILibraryAppletAccessor]], no output.<br />
<br />
== IDebugFunctions ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || NotifyMessageToHomeMenuForDebug ||<br />
|-<br />
| 1 || [[#OpenMainApplication]] || <br />
|-<br />
| 10 || EmulateButtonEvent ||<br />
|-<br />
| 20 || InvalidateTransitionLayer ||<br />
|-<br />
| 30 || [6.0.0+] RequestLaunchApplicationWithUserAndArgumentForDebug ||<br />
|-<br />
| 40 || [6.0.0+] GetAppletResourceUsageInfo ||<br />
|}<br />
<br />
=== OpenMainApplication ===<br />
No input, returns an output [[#IApplicationAccessor]].<br />
<br />
== IStorage ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Open || No input. Returns an [[#IStorageAccessor]].<br />
|-<br />
| 1 || [2.0.0+] OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].<br />
|}<br />
<br />
Open can only be used when the IStorage was created by [[#CreateStorage]] or [[#CreateTransferMemoryStorage]]. OpenTransferStorage can only be used when the IStorage was created by [[#CreateHandleStorage]].<br />
<br />
Only 1 *Accessor session can be open for each IStorage at a time.<br />
<br />
== IStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an s64.<br />
|-<br />
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.<br />
|-<br />
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.<br />
|}<br />
<br />
== ITransferStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an output s64.<br />
|-<br />
| 1 || GetHandle || No input. Returns an output s64 and handle.<br />
|}<br />
<br />
These commands return the data originally from [[#CreateHandleStorage]] input, both return the same s64.<br />
<br />
= appletOE =<br />
This is "nn::am::service::IApplicationProxyService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#OpenApplicationProxy]] || <br />
|}<br />
<br />
This is used by all regular-applications, including [[flog]] and "Retail Interactive Display Menu". Only one session can be open for this service at a time.<br />
<br />
== OpenApplicationProxy ==<br />
Returns an [[#IApplicationProxy]]. See [[#appletAE]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).<br />
<br />
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.<br />
<br />
= idle:sys =<br />
This is "nn::idle::detail::IPolicyManagerSystem"<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAutoPowerDownEvent<br />
|-<br />
|rowspan="2"| 1 || [1.0.0-3.0.2]<br />
|-<br />
| [7.0.0+]<br />
|-<br />
| 2 || [1.0.0-3.0.2]<br />
|-<br />
| 3 || SetHandlingContext<br />
|-<br />
| 4 || LoadAndApplySettings<br />
|-<br />
| 5 || ReportUserIsActive<br />
|}<br />
<br />
= omm =<br />
This is "nn::omm::detail::IOperationModeManager"<br />
<br />
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.<br />
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetOperationMode || <br />
|-<br />
| 1 || GetOperationModeChangeEvent || <br />
|-<br />
| 2 || EnableAudioVisual || <br />
|-<br />
| 3 || DisableAudioVisual || <br />
|-<br />
| 4 || EnterSleepAndWait || <br />
|-<br />
| 5 || GetCradleStatus || <br />
|-<br />
| 6 || FadeInDisplay || <br />
|-<br />
| 7 || FadeOutDisplay || <br />
|-<br />
| 8 || [2.0.0+] GetCradleFwVersion || <br />
|-<br />
| 9 || [2.0.0+] NotifyCecSettingsChanged || <br />
|-<br />
| 10 || [3.0.0+] SetOperationModePolicy || <br />
|-<br />
| 11 || [3.0.0+] GetDefaultDisplayResolution || <br />
|-<br />
| 12 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent || <br />
|-<br />
| 13 || [3.0.0+] UpdateDefaultDisplayResolution || <br />
|-<br />
| 14 || [3.0.0+] ShouldSleepOnBoot || <br />
|-<br />
| 15 || [4.0.0+] NotifyHdcpApplicationExecutionStarted || <br />
|-<br />
| 16 || [4.0.0+] NotifyHdcpApplicationExecutionFinished || <br />
|-<br />
| 17 || [4.0.0+] NotifyHdcpApplicationDrawingStarted || <br />
|-<br />
| 18 || [4.0.0+] NotifyHdcpApplicationDrawingFinished || <br />
|-<br />
| 19 || [4.0.0+] GetHdcpAuthenticationFailedEvent || <br />
|-<br />
| 20 || [4.0.0+] GetHdcpAuthenticationFailedEmulationEnabled || <br />
|-<br />
| 21 || [4.0.0+] SetHdcpAuthenticationFailedEmulation || <br />
|-<br />
| 22 || [4.0.0+] GetHdcpStateChangeEvent || <br />
|-<br />
| 23 || [4.0.0+] GetHdcpState || <br />
|-<br />
| 24 || [5.0.0+] ShowCardUpdateProcessing || <br />
|-<br />
| 25 || [5.0.0+] SetApplicationCecSettingsAndNotifyChanged || <br />
|-<br />
| 26 || [7.0.0+] || No input, returns a total of 4-bytes of output.<br />
|}<br />
<br />
= spsm =<br />
This is "nn::spsm::detail::IPowerStateInterface".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetState<br />
|-<br />
| 1 || SleepSystemAndWaitAwake<br />
|-<br />
| 2 || <br />
|-<br />
| 3 || <br />
|-<br />
| 4 || GetNotificationMessageEventHandle<br />
|-<br />
| 5 || <br />
|-<br />
| 6 || <br />
|-<br />
| 7 || <br />
|-<br />
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence<br />
|-<br />
| 9 || ChangeHomeButtonLongPressingTime<br />
|-<br />
| 10 || <br />
|-<br />
| 11 || [1.0.0-3.0.2]<br />
|}<br />
<br />
= tcap =<br />
This is "nn::tcap::server::IManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetContinuousHighSkinTemperatureEvent<br />
|-<br />
| 1 || SetOperationMode<br />
|-<br />
| 2 || LoadAndApplySettings<br />
|}<br />
<br />
= caps:su =<br />
This was added with [[6.0.0]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 32 || [7.0.0+] || Takes a total of 0x10-bytes of input and a PID, no output.<br />
|-<br />
| 201 || || Takes a total of 0x10-bytes of input, a PID, and a type-0x45 input buffer. Returns a total of 0x20-bytes of output.<br />
|-<br />
| 203 || || Takes a total of 0x50-bytes of input, a PID, and a type-0x45 input buffer. Returns a total of 0x20-bytes of output.<br />
|-<br />
| 210 || || Takes a total of 0x50-bytes of input, a type-0x15 input buffer, and a type-0x45 input buffer. Returns a total of 0x20-bytes of output.<br />
|}<br />
<br />
= Library Applets =<br />
This section documents library applet launching.<br />
<br />
Before starting the applet, [[#IStorage]]s are [[#ILibraryAppletCreator|created]] and written, then passed to [[#ILibraryAppletAccessor]] PushInData. The [[#IStorage]] session is closed afterwards. The first [[#IStorage]] is [[#CommonArguments]], followed by any applet-specific [[#IStorage]]s.<br />
<br />
Once the applet finishes running successfully, [[#ILibraryAppletAccessor]] PopOutData can be used to get the applet-specific [[#IStorage]] containing the applet output data.<br />
<br />
== CommonArguments ==<br />
The first [[#CreateStorage|IStorage]] passed to applets should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format.<br />
<br />
This struct is 0x20-bytes.<br />
<br />
Official sw handles the first 8-bytes separately, which is a header. With CommonArguments version 0x0, the header is 4-bytes, while starting with version 0x1 it's 8-bytes.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 1 || Common Arguments version<br />
|-<br />
| 0x4 || 4 || 0x20 || Common Arguments size<br />
|-<br />
| 0x8 || 4 || || Library applet version (API version)<br />
|-<br />
| 0xC || 4 || 0 || Theme color<br />
|-<br />
| 0x10 || 1 || 0 || Play startup sound<br />
|-<br />
| 0x18 || 8 || N/A || System tick (see [[SVC#svcGetSystemTick|svcGetSystemTick]])<br />
|-<br />
|}<br />
<br />
= Enums =<br />
=== AppletId ===<br />
See also [[:Category:Library Applets]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Title-id<br />
! Description<br />
|-<br />
| 0x02<br />
| 010000000000100C<br />
| "overlayDisp"<br />
|-<br />
| 0x03<br />
| 0100000000001000<br />
| "qlaunch"<br />
|-<br />
| 0x04<br />
| 0100000000001012<br />
| "starter"<br />
|-<br />
| 0x0A<br />
| 0100000000001001<br />
| "auth"<br />
|-<br />
| 0x0B<br />
| 0100000000001002<br />
| "cabinet"<br />
|-<br />
| 0x0C<br />
| 0100000000001003<br />
| "controller"<br />
|-<br />
| 0x0D<br />
| 0100000000001004<br />
| "dataErase"<br />
|-<br />
| 0x0E<br />
| 0100000000001005<br />
| "error"<br />
|-<br />
| 0x0F<br />
| 0100000000001006<br />
| "netConnect"<br />
|-<br />
| 0x10<br />
| 0100000000001007<br />
| [[Profile_Selector|"playerSelect"]]<br />
|-<br />
| 0x11<br />
| 0100000000001008<br />
| [[Software_Keyboard|"swkbd"]]<br />
|-<br />
| 0x12<br />
| 0100000000001009<br />
| "miiEdit"<br />
|-<br />
| 0x13<br />
| 010000000000100A<br />
| "LibAppletWeb" [[Internet_Browser#010000000000100A|WebApplet]] applet<br />
|-<br />
| 0x14<br />
| 010000000000100B<br />
| "LibAppletShop" [[Internet_Browser#ShopN|ShopN]] applet<br />
|-<br />
| 0x15<br />
| 010000000000100D<br />
| "photoViewer"<br />
|-<br />
| 0x16<br />
| 010000000000100E<br />
| "set"<br />
|-<br />
| 0x17<br />
| 010000000000100F<br />
| "LibAppletOff" [[Internet_Browser#Offline_Applet|Offline]] applet<br />
|-<br />
| 0x18<br />
| 0100000000001010<br />
| "LibAppletLns" [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet<br />
|-<br />
| 0x19<br />
| 0100000000001011<br />
| "LibAppletAuth" [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet<br />
|-<br />
| 0x1A<br />
| 0100000000001013<br />
| "myPage"<br />
|}<br />
<br />
=== LibraryAppletMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x0<br />
| AllForeground<br />
|-<br />
| 0x1<br />
| Background<br />
|-<br />
| 0x2<br />
| Unknown<br />
|-<br />
| 0x3<br />
| Unknown, see also [[#GetIndirectLayerConsumerHandle]]. Only used by swkbd InlineKeyboard.<br />
|-<br />
|}<br />
<br />
=== ShimKind ===<br />
This is from strings and code in the [[Internet_Browser| web-applets]].<br />
<br />
This indicates the type of web-applet.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! shimKind value<br />
! Description<br />
|-<br />
| 2<br />
| LoginApplet<br />
|-<br />
| 4<br />
| ShareApplet<br />
|-<br />
| 5<br />
| WebApplet<br />
|-<br />
| 6<br />
| WifiWebAuthApplet<br />
|-<br />
| 7<br />
| LobbyApplet<br />
|}<br />
<br />
=== NotificationMessage ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x4 || Exit requested<br />
|-<br />
| 0xF || [[#GetCurrentFocusState|FocusState]] changed<br />
|-<br />
| 0x10 || ?<br />
|-<br />
| 0x1E || OperationMode changed<br />
|-<br />
| 0x1F || PerformanceMode changed<br />
|}<br />
<br />
=== OperationMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Handheld<br />
|-<br />
| 1 || Docked<br />
|}<br />
<br />
=== LaunchParameterKind ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 1 || Application-specific LaunchParameter<br />
|-<br />
| 2 || account PreselectedUser<br />
|-<br />
| 3 || Unknown if used by anything?<br />
|}<br />
<br />
=== LibraryAppletExitReason ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Normal<br />
|-<br />
| 1 || Canceled<br />
|-<br />
| 2 || Abnormal<br />
|-<br />
| 10 || Unexpected<br />
|}<br />
<br />
= AppletResourceUserId =<br />
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.<br />
<br />
= LibraryAppletInfo =<br />
This struct is 8-bytes: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].<br />
<br />
= AppletKind =<br />
This is 8-bytes.<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=6089
SVC
2019-01-28T08:26:15Z
<p>Misson20000: fix svcSetDebugThreadContext args</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano ||<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || [[#svcCreateInterruptEvent]] || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || [[#svcContinueDebugEvent]] || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, X1=thread_id, X2=ThreadContext*, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=is_light, X4=name_ptr || W0=result, W1=clientport_handle, W2=serverport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || svcCallSecureMonitor || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || s64 || Nanoseconds<br />
|-<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nanoseconds to 0, -1, or -2 indicates a yielding type.<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Value || Type<br />
|-<br />
| 0 || Yielding without core migration<br />
|-<br />
| -1 || Yielding with core migration<br />
|-<br />
| -2 || Yielding to any other thread<br />
|-<br />
|}<br />
</div><br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40.<br />
<br />
When zero handles are passed, this will wait forever until either timeout or cancellation occurs.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''KDebug:''' signals when there is a new [[#DebugEventInfo|DebugEvent]] (retrievable via [[#svcGetDebugEvent]]).<br />
<br />
'''KClientPort:''' signals when the number of sessions is less than the maximum allowed.<br />
<br />
'''KProcess:''' signals when the process undergoes a state change (retrievable via [[#svcGetProcessInfo]]).<br />
<br />
'''KReadableEvent:''' signals when the event's corresponding KWritableEvent has been signaled via svcSignalEvent.<br />
<br />
'''KServerPort:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''KServerSession:''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
'''KThread:''' signals when the thread has exited.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signaled before the timeout expired, or one of the objects is a Session with a closed remote. Handle index is updated to indicate which object signaled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xe601:''' Invalid address. Returned when the handles pointer is not a readable address. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signaled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xee01:''' Too many handles. Returned when the number of handles passed is > 0x40.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Thread || 0xF0000002 || 0 || Performance counter related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
<br />
== svcCreateInterruptEvent ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || IrqNum<br />
|-<br />
| (In) W2 || bool || Flags<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<ReadableEvent> || ReadableEventHandle<br />
|}<br />
</div><br />
<br />
Create an event handle for the given IRQ number. Waiting on this handle will wait until the IRQ is triggered. The flags argument configures the triggering. If it is false, the IRQ is active HIGH level sensitive, if it is true it is rising-edge sensitive.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xF001:''' Flags was > 1<br />
<br />
'''0xF201:''' IRQ above 0x3FF or outside the [[NPDM#Kernel_Access_Control|IRQ access mask]] was given.<br />
<br />
'''0xCE01:''' A SlabHeap was exhausted (too many interrupts created).<br />
<br />
'''0xF401:''' IRQ already has an event registered.<br />
<br />
'''0xD201:''' The handle table is full. Try closing some handles.<br />
<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcContinueDebugEvent ==<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The process has been resumed.<br />
<br />
'''0xe401:''' Invalid debug handle.<br />
<br />
'''0xf401:''' Process has debug events queued.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u32* || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
CapabilitiesPtr points to an array of [[NPDM#Kernel_Access_Control|kernel capabilities]].<br />
CapabilitiesNum is a number of capabilities in the CapabilitiesPtr array (number of element, not number of bytes).<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xCA01:''' Attempted to map more code pages than available in address space.<br />
<br />
'''0xCC01:''' Provided CodeAddr is invalid (make sure it's in range?)<br />
<br />
'''0xE401:''' The resource handle passed is invalid.<br />
<br />
'''0xE601:''' Attempt to copy procinfo from user-supplied pointer failed. Attempt to copy capabilities_num from user-supplied pointer failed.<br />
<br />
'''0xE801:''' Attempted to create a 32-bit process with a 36-bit address space.<br />
<br />
'''0xF001:''' Unused bits are set in mmuflags. Unknown address space type used.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextRequestFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name<br />
|-<br />
| 0 || 1 || NormalContext<br />
|-<br />
| 1 || 2 ||<br />
|-<br />
| 2 || 4 ||<br />
|-<br />
| 3 || 8 ||<br />
|}<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0x0C || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle or zero<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
On [6.0.0] (maybe lower?) a zero ResourceLimitHandle defaults to sysmodule limits and 0x12300000 bytes of memory.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcMapped: when IpcRefCount > 0.<br />
|-<br />
| 2 || IsDeviceMapped: when DeviceRefCount > 0.<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed_Type0<br />
|-<br />
| 11 || IpcSendAllowed_Type3<br />
|-<br />
| 12 || IpcSendAllowed_Type1<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_IpcBuffer0]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_IpcBuffer1]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_IpcBuffer3]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
<nowiki>*</nowiki> Undefined instructions, software breakpoints, some other traps.<br />
<br />
<nowiki>**</nowiki> Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* FAR doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this is one of the following exceptions (it particular, that doesn't include FP exceptions occurring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, proceed to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creport attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || ExceptionFrameA64<br />
|}<br />
<br />
ExceptionFrameA64:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x48 (8*9) || GPRs 0..8.<br />
|-<br />
| 0x48 || 0x8 || lr<br />
|-<br />
| 0x50 || 0x8 || sp<br />
|-<br />
| 0x58 || 0x8 || pc (elr_el1)<br />
|-<br />
| 0x60 || 0x4 || pstate & 0xFF0FFE20<br />
|-<br />
| 0x64 || 0x4 || afsr0<br />
|-<br />
| 0x68 || 0x4 || afsr1<br />
|-<br />
| 0x6C || 0x4 || esr<br />
|-<br />
| 0x70 || 0x8 || far<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x44 || ExceptionFrameA32<br />
|}<br />
<br />
ExceptionFrameA32:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x20 (8*4) || GPRs 0..7.<br />
|-<br />
| 0x20 || 0x4 || sp<br />
|-<br />
| 0x24 || 0x4 || lr<br />
|-<br />
| 0x28 || 0x4 || pc (elr_el1)<br />
|-<br />
| 0x2C || 0x4 || tpidr_el0 = 1<br />
|-<br />
| 0x30 || 0x4 || cpsr & 0xFF0FFE20<br />
|-<br />
| 0x34 || 0x4 || afsr0<br />
|-<br />
| 0x38 || 0x4 || afsr1<br />
|-<br />
| 0x3C || 0x4 || esr<br />
|-<br />
| 0x40 || 0x4 || far<br />
|}<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
If an exception occurs from the above user handler, the entire exception handling process will repeat with the new exception.<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception<br />
<br />
Note that [[SMC|IsDebugMode]] is not used during exception-handling, except for enabling printing a message to UART-A. This UART code causes a system-hang on retail (likely due to a loop that doesn't exit). This printing doesn't seem to run when the process is attached for debugging?</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=6085
SVC
2019-01-25T07:33:35Z
<p>Misson20000: add some result codes for svcContinueDebugEvent</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano ||<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || [[#svcCreateInterruptEvent]] || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || [[#svcContinueDebugEvent]] || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, W1=[[#ThreadContextFlags]], X2=ThreadContext*, X3=thread_id || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=is_light, X4=name_ptr || W0=result, W1=clientport_handle, W2=serverport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || svcCallSecureMonitor || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || s64 || Nanoseconds<br />
|-<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nanoseconds to 0, -1, or -2 indicates a yielding type.<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Value || Type<br />
|-<br />
| 0 || Yielding without core migration<br />
|-<br />
| -1 || Yielding with core migration<br />
|-<br />
| -2 || Yielding to any other thread<br />
|-<br />
|}<br />
</div><br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40.<br />
<br />
When zero handles are passed, this will wait forever until either timeout or cancellation occurs.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''KDebug:''' signals when there is a new [[#DebugEventInfo|DebugEvent]] (retrievable via [[#svcGetDebugEvent]]).<br />
<br />
'''KClientPort:''' signals when the number of sessions is less than the maximum allowed.<br />
<br />
'''KProcess:''' signals when the process undergoes a state change (retrievable via [[#svcGetProcessInfo]]).<br />
<br />
'''KReadableEvent:''' signals when the event's corresponding KWritableEvent has been signaled via svcSignalEvent.<br />
<br />
'''KServerPort:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''KServerSession:''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
'''KThread:''' signals when the thread has exited.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signaled before the timeout expired, or one of the objects is a Session with a closed remote. Handle index is updated to indicate which object signaled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xe601:''' Invalid address. Returned when the handles pointer is not a readable address. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signaled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xee01:''' Too many handles. Returned when the number of handles passed is > 0x40.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Thread || 0xF0000002 || 0 || Performance counter related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
<br />
== svcCreateInterruptEvent ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || IrqNum<br />
|-<br />
| (In) W2 || bool || Flags<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<ReadableEvent> || ReadableEventHandle<br />
|}<br />
</div><br />
<br />
Create an event handle for the given IRQ number. Waiting on this handle will wait until the IRQ is triggered. The flags argument configures the triggering. If it is false, the IRQ is active HIGH level sensitive, if it is true it is rising-edge sensitive.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xF001:''' Flags was > 1<br />
<br />
'''0xF201:''' IRQ above 0x3FF or outside the [[NPDM#Kernel_Access_Control|IRQ access mask]] was given.<br />
<br />
'''0xCE01:''' A SlabHeap was exhausted (too many interrupts created).<br />
<br />
'''0xF401:''' IRQ already has an event registered.<br />
<br />
'''0xD201:''' The handle table is full. Try closing some handles.<br />
<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcContinueDebugEvent ==<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The process has been resumed.<br />
<br />
'''0xe401:''' Invalid debug handle.<br />
<br />
'''0xf401:''' Process has debug events queued.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u32* || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
CapabilitiesPtr points to an array of [[NPDM#Kernel_Access_Control|kernel capabilities]].<br />
CapabilitiesNum is a number of capabilities in the CapabilitiesPtr array (number of element, not number of bytes).<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xCA01:''' Attempted to map more code pages than available in address space.<br />
<br />
'''0xCC01:''' Provided CodeAddr is invalid (make sure it's in range?)<br />
<br />
'''0xE401:''' The resource handle passed is invalid.<br />
<br />
'''0xE601:''' Attempt to copy procinfo from user-supplied pointer failed. Attempt to copy capabilities_num from user-supplied pointer failed.<br />
<br />
'''0xE801:''' Attempted to create a 32-bit process with a 36-bit address space.<br />
<br />
'''0xF001:''' Unused bits are set in mmuflags. Unknown address space type used.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextRequestFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name<br />
|-<br />
| 0 || 1 || NormalContext<br />
|-<br />
| 1 || 2 ||<br />
|-<br />
| 2 || 4 ||<br />
|-<br />
| 3 || 8 ||<br />
|}<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0x0C || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle or zero<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
On [6.0.0] (maybe lower?) a zero ResourceLimitHandle defaults to sysmodule limits and 0x12300000 bytes of memory.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcMapped: when IpcRefCount > 0.<br />
|-<br />
| 2 || IsDeviceMapped: when DeviceRefCount > 0.<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed_Type0<br />
|-<br />
| 11 || IpcSendAllowed_Type3<br />
|-<br />
| 12 || IpcSendAllowed_Type1<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_IpcBuffer0]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_IpcBuffer1]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_IpcBuffer3]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
<nowiki>*</nowiki> Undefined instructions, software breakpoints, some other traps.<br />
<br />
<nowiki>**</nowiki> Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* FAR doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this is one of the following exceptions (it particular, that doesn't include FP exceptions occurring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, proceed to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creport attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || ExceptionFrameA64<br />
|}<br />
<br />
ExceptionFrameA64:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x48 (8*9) || GPRs 0..8.<br />
|-<br />
| 0x48 || 0x8 || lr<br />
|-<br />
| 0x50 || 0x8 || sp<br />
|-<br />
| 0x58 || 0x8 || pc (elr_el1)<br />
|-<br />
| 0x60 || 0x4 || pstate & 0xFF0FFE20<br />
|-<br />
| 0x64 || 0x4 || afsr0<br />
|-<br />
| 0x68 || 0x4 || afsr1<br />
|-<br />
| 0x6C || 0x4 || esr<br />
|-<br />
| 0x70 || 0x8 || far<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x44 || ExceptionFrameA32<br />
|}<br />
<br />
ExceptionFrameA32:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x20 (8*4) || GPRs 0..7.<br />
|-<br />
| 0x20 || 0x4 || sp<br />
|-<br />
| 0x24 || 0x4 || lr<br />
|-<br />
| 0x28 || 0x4 || pc (elr_el1)<br />
|-<br />
| 0x2C || 0x4 || tpidr_el0 = 1<br />
|-<br />
| 0x30 || 0x4 || cpsr & 0xFF0FFE20<br />
|-<br />
| 0x34 || 0x4 || afsr0<br />
|-<br />
| 0x38 || 0x4 || afsr1<br />
|-<br />
| 0x3C || 0x4 || esr<br />
|-<br />
| 0x40 || 0x4 || far<br />
|}<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
If an exception occurs from the above user handler, the entire exception handling process will repeat with the new exception.<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception<br />
<br />
Note that [[SMC|IsDebugMode]] is not used during exception-handling, except for enabling printing a message to UART-A. This UART code causes a system-hang on retail (likely due to a loop that doesn't exit). This printing doesn't seem to run when the process is attached for debugging?</div>
Misson20000
https://switchbrew.org/w/index.php?title=Title_list&diff=6075
Title list
2019-01-21T23:14:51Z
<p>Misson20000: /* System Data Archives: 0100000000000818 */ add link to System Settings page</p>
<hr />
<div>== System Modules ==<br />
Note: Unlike 3DS, Switch doesn't have a dedicated HTTP-sysmodule. Instead, processes using HTTP(S) just use libcurl + socket/ssl services.<br />
<br />
As of [[2.0.0]], the only sysmodule with a RomFS is [[HID_services|hid-sysmodule]].<br />
<br />
Decimal versions use the format:<br />
* Bit31-Bit26: Major<br />
* Bit25-Bit20: Minor<br />
* Bit19-Bit16: Micro<br />
* Bit15-Bit0: Bugfix<br />
<br />
{| class=wikitable<br />
! Title-id || Versions || Description<br />
|-<br />
| 0100000000000000 || [bundled with kernel] || [[Filesystem_services|fs]]<br />
|-<br />
| 0100000000000001 || [bundled with kernel] || [[Loader_services|ldr (Loader)]]<br />
|-<br />
| 0100000000000002 || [bundled with kernel] || [[NCM_services|ncm]]<br />
|-<br />
| 0100000000000003 || [bundled with kernel] || [[Process_Manager_services|pm (ProcessMana)]]<br />
|-<br />
| 0100000000000004 || [bundled with kernel] || [[Services_API|sm]]<br />
|-<br />
| 0100000000000005 || [bundled with kernel] || [[boot]]<br />
|-<br />
| 0100000000000006 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[USB_services|usb]]<br />
|-<br />
| 0100000000000007 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[TMA_services|tma]]<br />
|-<br />
| 0100000000000008 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Boot2|boot2]] (debug)<br/>[[Boot2|boot2.prodBoot]] (retail)<br/>[[Boot2|boot2.manuBoot]] (factory)<br />
|-<br />
| 0100000000000009 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Settings_services|settings]]<br />
|-<br />
| 010000000000000A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Bus_services|bus]]<br />
|-<br />
| 010000000000000B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Bluetooth_Driver_services|bluetooth]]<br />
|-<br />
| 010000000000000C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[BCAT_services|bcat]]<br />
|-<br />
| 010000000000000D || || dmnt (currently not present on retail devices)<br />
|-<br />
| 010000000000000E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Friend_services|friends]]<br />
|-<br />
| 010000000000000F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Network_Interface_services|nifm]]<br />
|-<br />
| 0100000000000010 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[PTM_services|ptm]]<br />
|-<br />
| 0100000000000011 || || shell (currently not present on retail devices)<br />
|-<br />
| 0100000000000012 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.3.0|v131092]] (0.0.2.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Sockets_services|bsdsockets]]<br />
|-<br />
| 0100000000000013 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.0.1|v402718730]] (6.0.1.10)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[HID_services|hid]]<br />
|-<br />
| 0100000000000014 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.0.1|v402718730]] (6.0.1.10)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Audio_services|audio]]<br />
|-<br />
| 0100000000000015 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Log_services|LogManager]] (debug)<br/>[[Log_services|LogManager.Prod]] (retail)<br />
|-<br />
| 0100000000000016 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[2.2.0|v196608]] (0.0.3.0)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[WLAN_services|wlan]]<br />
|-<br />
| 0100000000000017 || || cs (currently not present on retail devices)<br />
|-<br />
| 0100000000000018 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[LDN_services|ldn]]<br />
|-<br />
| 0100000000000019 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[2.3.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[NV_services|nvservices]]<br />
|-<br />
| 010000000000001A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[PCV_services|pcv]]<br />
|-<br />
| 010000000000001B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[PPC_services|ppc]]<br />
|-<br />
| 010000000000001C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Nvnflinger_services|nvnflinger]]<br />
|-<br />
| 010000000000001D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[PCIe_services|pcie]] (debug)<br/>[[PCIe_services|pcie.withoutHb]] (retail)<br />
|-<br />
| 010000000000001E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Account_services|account]]<br />
|-<br />
| 010000000000001F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[NS_Services|ns]]<br />
|-<br />
| 0100000000000020 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.2.0|v131072]] (0.0.2.0)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[NFC_services|nfc]]<br />
|-<br />
| 0100000000000021 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[PSC_services|psc]]<br />
|-<br />
| 0100000000000022 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Capture_services|capsrv]]<br />
|-<br />
| 0100000000000023 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[AM_services|am]]<br />
|-<br />
| 0100000000000024 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[SSL_services|ssl]]<br />
|-<br />
| 0100000000000025 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[NIM_services|nim]]<br />
|-<br />
| 0100000000000026 || || cec (currently not present on retail devices)<br />
|-<br />
| 0100000000000027 || || tspm (currently not present on retail devices)<br />
|-<br />
| 0100000000000028 || [bundled with kernel] || [[SPL_services|spl]]<br />
|-<br />
| 0100000000000029 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Backlight_services|lbl]]<br />
|-<br />
| 010000000000002A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[BTM_services|btm]]<br />
|-<br />
| 010000000000002B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Error_Report_services|erpt]]<br />
|-<br />
| 010000000000002C || || time (currently not present on retail devices)<br />
|-<br />
| 010000000000002D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Display_services|vi]]<br />
|-<br />
| 010000000000002E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Parental_Control_services|pctl]]<br />
|-<br />
| 010000000000002F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[NPNS_services|npns]]<br />
|-<br />
| 0100000000000030 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Error_Upload_services|eupld]]<br />
|-<br />
| 0100000000000031 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [1.0.0] arp<br/>[2.0.0+] [[Glue_services|glue]]<br />
|-<br />
| 0100000000000032 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || eclct<br />
|-<br />
| 0100000000000033 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[ETicket_services|es]]<br />
|-<br />
| 0100000000000034 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Fatal_services|fatal]]<br />
|-<br />
| 0100000000000035 || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [4.0.0+] [[GRC_services|grc]]<br />
|-<br />
| 0100000000000036 || [[2.0.0|v260]] (0.0.0.260)<br/> [[2.1.0|v65596]] (0.0.1.60)<br/> [[2.3.0|v131092]] (0.0.2.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[creport]]<br />
|-<br />
| 0100000000000037 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [3.0.0+] [[Loader_services#ldr:ro|ro]]<br />
|-<br />
| 0100000000000038 || || [[Profiler services|profiler]] (currently not present on retail devices)<br />
|-<br />
| 0100000000000039 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [3.0.0+] [[Shared_Database_services|sdb]]<br />
|-<br />
| 010000000000003A || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [4.0.0+] [[Migration_services|migration]]<br />
|-<br />
| 010000000000003B || || [[JIT_services|jit]] (currently not present on retail devices)<br />
|-<br />
| 010000000000003C || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [4.0.0+] [[Jpegdec_services|jpegdec]]<br />
|-<br />
| 010000000000003D || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [4.0.0+] [[safemode]]<br />
|-<br />
| 010000000000003E || [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [6.0.0+] [[OLSC_services|olsc]]<br />
|-<br />
| 010000000000003F || || dt (currently not present on retail devices)<br />
|-<br />
| 0100000000000040 || || nd (currently not present on retail devices)<br />
|}<br />
<br />
== System Data Archives ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000000800 || [[1.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || CertStore || SSL trusted certificates.<br />
|-<br />
| 0100000000000801 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || ErrorMessage || Stores the message strings for Support Error Codes. There's "/DatabaseInfo" at FS root, then the rest is stored at "/{first 4 error digits}/{last 4 error digits}/".<br />
|-<br />
| 0100000000000802 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || MiiModel ||<br />
|-<br />
| 0100000000000803 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || BrowserDll || Mounted as "shareddata:/". Contains various browser data: emojis, OSS NROs, "buildinfo/buildinfo.dat", ...<br />
|-<br />
| 0100000000000804 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || Help || HTML resources: Open-source licenses ("Intellectual Property Notices") and seizure warnings("Health & Safety Information"). The former is stored at FS "/legallines.htdocs/"<br/> while the latter is at "/safe.htdocs/".<br />
|-<br />
| 0100000000000805 || [[1.0.0|v450]] (0.0.0.450)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || SharedFont || Chinese and Korean dictionaries.<br />
|-<br />
| 0100000000000806 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || NgWord || Bad words.<br />
|-<br />
| 0100000000000807 || [[1.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || SsidList || [[Hotspot List]].<br />
|-<br />
| 0100000000000808 || [[1.0.0|v450]] (0.0.0.450)<br/> [[6.2.0|v404750376]] (6.2.0.40) || Dictionary || European, English, and Japanese dictionaries.<br />
|-<br />
| 0100000000000809 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v196628]] (0.0.3.20)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[2.3.0|v262164]] (0.0.4.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.0.1|v402718730]] (6.0.1.10)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || SystemVersion || [[System Version Title]].<br />
|-<br />
| 010000000000080A || [[1.0.0|v450]] (0.0.0.450)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || AvatarImage || Background and Character images for user avatars (RGBA format & Yaz0 compression).<br />
|-<br />
| 010000000000080B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || LocalNews || Tutorial images and strings. Used for the offline news by the News applet.<br />
|-<br />
| 010000000000080C || [[1.0.0|v450]] (0.0.0.450) || Eula (Eura) || Accessed by [[NS_Services|NS]].<br />
|-<br />
| 010000000000080D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.2.0|v404750376]] (6.2.0.40) || UrlBlackList ||<br />
|-<br />
| 010000000000080E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || TimeZoneBinary ||<br />
|-<br />
| 010000000000080F || || CertStoreCruiser (BrowserCertStore) || Currently not present on retail devices.<br />
|-<br />
| 0100000000000810 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FontNintendoExtension ||<br />
|-<br />
| 0100000000000811 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FontStandard ||<br />
|-<br />
| 0100000000000812 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FontKorean ||<br />
|-<br />
| 0100000000000813 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FontChineseTraditional ||<br />
|-<br />
| 0100000000000814 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FontChineseSimple ||<br />
|-<br />
| 0100000000000815 || || FontBfcpx || Currently not present on retail devices.<br />
|-<br />
| 0100000000000816 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[2.3.0|v262164]] (0.0.4.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.0.1|v402718730]] (6.0.1.10)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || SystemUpdate || Contains the title-listing for the associated sysupdate in the [[NCA]]-type0 .cnmt.<br />
|-<br />
| 0100000000000818 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.3.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FirmwareDebugSettings || [[System Settings|System config]].<br />
|-<br />
| 0100000000000819 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || BootImagePackage || Firmware Package A: Normal Firmware.<br />
|-<br />
| 010000000000081A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || BootImagePackageSafe || Firmware Package B: SafeMode Firmware. See [[Boot_Modes#Safe_Mode|Safe Mode]].<br />
|-<br />
| 010000000000081B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || BootImagePackageExFat || Firmware Package C: Normal Firmware (exFAT variant). Identical to 0100000000000819 with different FS sysmodule. Requires a device ID to download from CDN.<br />
|-<br />
| 010000000000081C || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || BootImagePackageExFatSafe || Firmware Package D: SafeMode Firmware (exFAT variant). Identical to 010000000000081A with different FS sysmodule. Requires a device ID to download from CDN.<br />
|-<br />
| 010000000000081D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || FatalMessage || Errdisp strings.<br />
|-<br />
| 010000000000081E || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || ControllerIcon || Controller gfx/icon data + dummy file.<br />
|-<br />
| 010000000000081F || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || PlatformConfigIcosa || Icosa system config.<br />
|-<br />
| 0100000000000820 || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || PlatformConfigCopper || Copper system config.<br />
|-<br />
| 0100000000000821 || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.2.0|v404750376]] (6.2.0.40) || PlatformConfigHoag || Hoag system config.<br />
|-<br />
| 0100000000000822 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || ControllerFirmware || Firmware binaries for peripherals (hardware within Joy-Cons/etc).<br />
|-<br />
| 0100000000000823 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || NgWord2 || Contains version.dat and ac_*_nx files. All of the *_nx files stored under here are compressed with gzip.<br />
|-<br />
| 0100000000000824 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || PlatformConfigIcosaMariko || IcosaMariko system config.<br />
|-<br />
| 0100000000000825 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || ApplicationBlackList || Used by [[NS_Services|NS]] for restricting application installation and updates.<br />
|-<br />
| 0100000000000826 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || RebootlessSystemUpdateVersion || Rebootless system update version file.<br />
|-<br />
| 0100000000000827 || [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || ContentActionTable || Used by [[AM_services|AM]].<br />
|}<br />
<br />
== System Applets ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000001000 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.0.1|v402718730]] (6.0.1.10)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || qlaunch (SystemAppletMenu) || [[qlaunch]] system applet, launched by NS with TID loaded from system-config-title.<br />
|-<br />
| 0100000000001001 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || auth (LibraryAppletAuth)|| <br />
|-<br />
| 0100000000001002 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.2.0|v404750376]] (6.2.0.40) || cabinet (LibraryAppletCabinet) ||<br />
|-<br />
| 0100000000001003 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || controller (LibraryAppletController) || <br />
|-<br />
| 0100000000001004 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || dataErase (LibraryAppletDataErase) ||<br />
|-<br />
| 0100000000001005 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.2.0|v404750376]] (6.2.0.40) || error (LibraryAppletError) ||<br />
|-<br />
| 0100000000001006 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || netConnect (LibraryAppletNetConnect) || <br />
|-<br />
| 0100000000001007 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Profile Selector|playerSelect (LibraryAppletPlayerSelect)]] || <br />
|-<br />
| 0100000000001008 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[Software Keyboard|swkbd (LibraryAppletSwkbd)]] || <br />
|-<br />
| 0100000000001009 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || miiEdit (LibraryAppletMiiEdit) || <br />
|-<br />
| 010000000000100A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || web (LibraryAppletWeb) || [[Internet_Browser|WebApplet]].<br />
|-<br />
| 010000000000100B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || shop (LibraryAppletShop) || [[Internet_Browser|ShopN]] applet.<br />
|-<br />
| 010000000000100C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || overlayDisp (OverlayApplet) || TID is loaded by NS from system-config-title.<br />
|-<br />
| 010000000000100D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || photoViewer (LibraryAppletPhotoViewer)<br />
|-<br />
| 010000000000100E || || set (LibraryAppletSet) || Currently not present on retail devices.<br />
|-<br />
| 010000000000100F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || offlineWeb (LibraryAppletOfflineWeb) || [[Internet_Browser|Offline]] web-applet.<br />
|-<br />
| 0100000000001010 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || loginShare (LibraryAppletLoginShare) || [[Internet_Browser|Whitelisted]] applet. (LoginApplet+ShareApplet+LobbyApplet)<br />
|-<br />
| 0100000000001011 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.1.0|v403701850]] (6.1.0.90)<br/> [[6.2.0|v404750376]] (6.2.0.40) || wifiWebAuth (LibraryAppletWifiWebAuth) || [[Internet_Browser|WifiWebAuth]] applet.<br />
|-<br />
| 0100000000001012 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || starter (DummyStarter) ||<br />
|-<br />
| 0100000000001013 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || myPage (LibraryAppletMyPage) ||<br />
|-<br />
| 0100000000001014 || || PlayReport || Currently not present on retail devices.<br />
|-<br />
| 0100000000001015 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360)<br/> [[6.2.0|v404750376]] (6.2.0.40) || MaintenanceMenu || Initial applet displayed when booting into [[Recovery_Mode]]. This title is launched by [[NS_Services|NS]] when a state flag is val1 indicating that this title should be launched instead of the above "SystemAppletMenu" title.<br />
|-<br />
| 0100000000001016 || || || TitleID used by [[NS_Services|NS]] when a certain flag is non-zero, in multiple places including around code using string "application_install". This title doesn't seem to exist for retail.<br />
|-<br />
| 010000000000101B || || DummyECApplet (DummyAppletShop) || Currently not present on retail devices.<br />
|-<br />
| 010000000000101D || || encounter || Currently not present on retail devices.<br />
|-<br />
| 010000000000101E || || || This title is referenced by [5.0.0+] [[NIM_services|NIM]] when it accesses the [[Network#pearljam|pearljam]] server, but does not exist on retail systems currently.<br />
|-<br />
| 0100000000001020 || || story || Currently not present on retail devices.<br />
|-<br />
| 0100000000001FFF || || EndOceanProgramId || Placeholder for the last valid applet ID.<br />
|}<br />
<br />
== System Debug Applets ==<br />
Note: No 01000000000020XX titles exist on retail systems.<br />
<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000002000 || || A2BoardFunction ||<br />
|-<br />
| 0100000000002001 || || A3Wireless ||<br />
|-<br />
| 0100000000002002 || || C1LcdAndKey (LcdAndKey) || LCD/Keyboard testing.<br />
|-<br />
| 0100000000002003 || || C2UsbHpmic (UsbAndHPMicTest) || USB and audio testing.<br />
|-<br />
| 0100000000002004 || || C3Aging (Aging) || Graphics/Framerate testing.<br />
|-<br />
| 0100000000002005 || || C4SixAxis (6axisTest) || Sixaxis (controller peripheral) testing.<br />
|-<br />
| 0100000000002006 || || C5Wireless (AssembledWireless) || Wireless testing.<br />
|-<br />
| 0100000000002007 || || C7FinalCheck (FinalCheck) ||<br />
|-<br />
| 010000000000203F || || AutoCapture ||<br />
|-<br />
| 0100000000002040 || || DevMenuCommandSystem ||<br />
|-<br />
| 0100000000002041 || || recovery ||<br />
|-<br />
| 0100000000002042 || || DevMenuSystem ||<br />
|-<br />
| 0100000000002044 || || HB-TBIntegrationTest ||<br />
|-<br />
| 010000000000204D || || BackupSaveData ||<br />
|-<br />
| 010000000000204E || || A4BoardCalWriti (BoardCalWriting) || Writes calibration data to NAND.<br />
|-<br />
| 0100000000002054 || || RepairSslCertificate ||<br />
|-<br />
| 0100000000002055 || || GameCardWriter ||<br />
|-<br />
| 0100000000002056 || || UsbPdTestTool ||<br />
|-<br />
| 0100000000002057 || || RepairDeletePctl ||<br />
|-<br />
| 0100000000002058 || || RepairBackup ||<br />
|-<br />
| 0100000000002059 || || RepairRestore ||<br />
|-<br />
| 010000000000205A || || RepairAccountTransfer ||<br />
|-<br />
| 010000000000205B || || RepairAutoNetworkUpdater ||<br />
|-<br />
| 010000000000205C || || RefurbishReset ||<br />
|-<br />
| 010000000000205D || || RepairAssistCup ||<br />
|-<br />
| 010000000000205E || || RepairPairingCutter ||<br />
|-<br />
| 0100000000002064 || || DevMenu ||<br />
|-<br />
| 0100000000002065 || || DevMenuApp ||<br />
|-<br />
| 0100000000002066 || || GetGameCardAsicInfo ||<br />
|-<br />
| 0100000000002068 || || NfpDebugToolSystem ||<br />
|-<br />
| 0100000000002069 || || AlbumSynchronizer ||<br />
|-<br />
| 0100000000002071 || || SnapShotDumper || Used by [[NS_Services|NS]].<br />
|-<br />
| 0100000000002073 || || DevMenuSystemApp ||<br />
|-<br />
| 0100000000002099 || || DevOverlayDisp ||<br />
|-<br />
| 010000000000209A || || NandVerifier ||<br />
|-<br />
| 010000000000209B || || GpuCoreDumper || Used by [[AM_services|AM]].<br />
|-<br />
| 010000000000209C || || TestApplication (TestApplicationLauncher) || Factory qlaunch replacement, used to launch other tests.<br />
|-<br />
| 010000000000209E || || HelloWorld ||<br />
|-<br />
| 01000000000020A0 || || XcieWriter ||<br />
|-<br />
| 01000000000020A1 || || GpuOverrunNotifier ||<br />
|-<br />
| 01000000000020C8 || || NfpDebugTool ||<br />
|-<br />
| 01000000000020CA || || NoftWriter ||<br />
|-<br />
| 01000000000020D0 || || BcatSystemDebugTool ||<br />
|-<br />
| 01000000000020D1 || || DevSafeModeUpdater ||<br />
|-<br />
| 01000000000020D3 || || ControllerConnectionAnalyzer ||<br />
|-<br />
| 01000000000020D4 || || DevKitUpdater ||<br />
|-<br />
| 01000000000020D6 || || RepairTimeReviser ||<br />
|-<br />
| 01000000000020D7 || || RepairReinitializeFuelGauge ||<br />
|-<br />
| 01000000000020DA || || RepairAbortMigration ||<br />
|-<br />
| 01000000000020E1 || || AlbumDownloader ||<br />
|-<br />
| 01000000000020E3 || || FuelGaugeDumper ||<br />
|-<br />
| 01000000000020E4 || || UnsafeExtract ||<br />
|-<br />
| 01000000000020E5 || || UnsafeEngrave ||<br />
|-<br />
| 01000000000020EE || || BluetoothSettingTool ||<br />
|-<br />
| 01000000000020F0 || || ApplicationInstallerRomfs (devmenuapp_installer) || Launched by [[Boot2|boot2]].<br />
|-<br />
| 0100000000002100 || || DevMenuLotcheckDownloader ||<br />
|-<br />
| 0100000000002101 || || DevMenuCommand ||<br />
|-<br />
| 0100000000002102 || || ExportPartition ||<br />
|-<br />
| 0100000000002103 || || [[Factory Setup|SystemInitializer]] (SystemInitializ) ||<br />
|-<br />
| 0100000000002104 || || SystemUpdaterHostFs ||<br />
|-<br />
| 0100000000002105 || || WriteToStorage ||<br />
|-<br />
| 0100000000002106 || || [[Factory Setup|CalWriter]] (CalWriterManu) ||<br />
|-<br />
| 0100000000002107 || || SettingsManager ||<br />
|-<br />
| 0100000000002109 || || testBuildSystemIris ||<br />
|-<br />
| 010000000000210A || || SystemUpdater ||<br />
|-<br />
| 010000000000210B || || nvnflinger_util ||<br />
|-<br />
| 010000000000210C || || ControllerFirmwareUpdater ||<br />
|-<br />
| 010000000000210D || || testBuildSystemNintendoWare (Test) ||<br />
|-<br />
| 0100000000002110 || || TestSaveDataCreator ||<br />
|-<br />
| 0100000000002111 || || C9LcdSpker ||<br />
|-<br />
| 0100000000002114 || || RankTurn ||<br />
|-<br />
| 0100000000002116 || || BleTestTool ||<br />
|-<br />
| 010000000000211A || || PreinstallAppWriter ||<br />
|-<br />
| 010000000000211C || || ControllerSerialFlashTool ||<br />
|-<br />
| 010000000000211D || || ControllerFlashWriter ||<br />
|-<br />
| 0100000000002120 || || ControllerTestApp ||<br />
|-<br />
| 0100000000002121 || || HidInspectionTool ||<br />
|-<br />
| 0100000000002124 || || BatteryCyclesEditor ||<br />
|-<br />
| 0100000000002125 || || UsbFirmwareUpdater ||<br />
|-<br />
| 0100000000002126 || || PalmaSerialCodeTool ||<br />
|-<br />
| 0100000000002127 || || renderdoccmd ||<br />
|}<br />
<br />
== System Debug Modules ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000003002 || || DummyProcess ||<br />
|-<br />
| 0100000000003003 || || DebugMonitor0 ||<br />
|-<br />
| 0100000000003004 || || SystemHelloWorld ||<br />
|}<br />
<br />
== Target Tools ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 1000000000000001 || || [[Factory Setup|SystemInitializer]] (SystemInitializ) ||<br />
|-<br />
| 1000000000000004 || || [[Factory Setup|CalWriter]] (CalWriterManu) ||<br />
|-<br />
| 1000000000000005 || || DevMenuCommand ||<br />
|-<br />
| 1000000000000006 || || SettingsManager ||<br />
|-<br />
| 1000000000000007 || || ApplicationLauncer ||<br />
|-<br />
| 100000000000000B || || SnapShotDumper ||<br />
|-<br />
| 100000000000000C || || SystemUpdater ||<br />
|-<br />
| 100000000000000E || || ControllerFirmwareUpdater ||<br />
|}<br />
<br />
== Factory System Modules ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 010000000000B120 || || nvdbgsvc || Launched by maintenance mode [[Boot2|boot2.manuBoot]], but not present in retail or [[Factory Setup|factory firmware]].<br />
|-<br />
| 010000000000B14A || || [[Manu Services|manu]] || Installed in [[Factory Setup|factory firmware]].<br />
|-<br />
| 010000000000B14B || || ManuUsbLoopBack ||<br />
|-<br />
| 010000000000B1B8 || || DevFwdbgHbPackage ||<br />
|-<br />
| 010000000000B1B9 || || DevFwdbgUsbPackage ||<br />
|-<br />
| 010000000000B1BA || || ProdFwdbgPackage ||<br />
|-<br />
| 010000000000B22A || || scs ||<br />
|-<br />
| 010000000000B22B || || ControllerFirmwareDebug ||<br />
|-<br />
| 010000000000B240 || || htc ||<br />
|-<br />
| 010000000000C600 || || BdkSample01 ||<br />
|-<br />
| 010000000000C601 || || BdkSample02 ||<br />
|-<br />
| 010000000000C602 || || BdkSample03 ||<br />
|-<br />
| 010000000000C603 || || BdkSample04 ||<br />
|}<br />
<br />
== System Applications ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 01008BB00013C000 || [[1.0.0|v450]] (0.0.0.450)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[6.2.0|v404750376]] (6.2.0.40) || [[flog]] || NES emulator.<br />
|-<br />
| 0100069000078000 || v0 || RetailInteractiveDisplayMenu (DevQuestMenu) || This title can be launched by [[qlaunch]], but is not normally installed on retail systems.<br />
|-<br />
| 010000B003486000 || || AudioUsbMicDebugTool ||<br />
|-<br />
| 0100458001E04000 || || BcatTestApp01 ||<br />
|-<br />
| 0100F910020F8000 || || BcatTestApp02 ||<br />
|-<br />
| 0100B7D0020FC000 || || BcatTestApp03 ||<br />
|-<br />
| 0100132002100000 || || BcatTestApp04 ||<br />
|-<br />
| 0100935002116000 || || BcatTestApp05 ||<br />
|-<br />
| 0100DA4002130000 || || BcatTestApp06 ||<br />
|-<br />
| 0100B0F002104000 || || BcatTestApp07 ||<br />
|-<br />
| 010051E002132000 || || BcatTestApp08 ||<br />
|-<br />
| 01004CB0015C8000 || || BcatTestApp09 ||<br />
|-<br />
| 01009720015CA000 || || BcatTestApp10 ||<br />
|-<br />
| 01002F20015C6000 || || BcatTestApp11 ||<br />
|-<br />
| 0100204001F90000 || || BcatTestApp12 ||<br />
|-<br />
| 0100060001F92000 || || BcatTestApp13 ||<br />
|-<br />
| 0100C26001F94000 || || BcatTestApp14 ||<br />
|-<br />
| 0100462001F96000 || || BcatTestApp15 ||<br />
|-<br />
| 01005C6001F98000 || || BcatTestApp16 ||<br />
|-<br />
| 0100810002D5A000 || || ShopMonitaringTool ||<br />
|}<br />
<br />
== eShop Games / Applications ==<br />
Note: Nintendo Switch game and application titles follow a higher entropy TitleID scheme than previous generation consoles. <br/> Refer to the [[Title_list/Games|Games List]] for more information.</div>
Misson20000
https://switchbrew.org/w/index.php?title=System_Settings&diff=6074
System Settings
2019-01-21T23:13:40Z
<p>Misson20000: add data source</p>
<hr />
<div>__NOTOC__<br />
<br />
Data sourced from 0100000000000818 archive.<br />
<br />
= account =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |na_license_verification_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |na_required_for_network_service<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_qualification_verification_enabled<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= account.daemon =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_awaking_periodicity<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="3" |na_info_refresh_interval<br />
| 2.0.0-5.0.0<br />
| 46800 (0xb6d0)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 72000 (0x11940)<br />
|-<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
|-<br />
| rowspan="3" |profile_sync_interval<br />
| 2.0.0-5.0.0<br />
| 18000 (0x4650)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 172800 (0x2a300)<br />
|-<br />
| 6.0.0+<br />
| 18000 (0x4650)<br />
|-<br />
| rowspan="1" |schedule_periodicity<br />
| 2.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.debug =<br />
<br />
This class does not exist on retail firmware.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dev_function<br />
|<br />
|<br />
| rowspan="1" |Not set on retail firmware. Enables a few IPC commands and allows OpenSystem/OverlayAppletProxy when there is already a system/overlay applet.<br />
|}<br />
<br />
= am.display =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_immediate_update_caller_applet_capture<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |frame_buffer_sharing_level<br />
| 4.0.0-4.1.0<br />
| 0 (0x0)<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| 2 (0x2)<br />
|-<br />
| rowspan="1" |transition_layer_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.gpu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |gpu_scheduling_bg_app_us<br />
| 1.0.0<br />
| 4834 (0x12e2)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 104500 (0x19834)<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_la_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_sa_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_fg_app_us<br />
| 1.0.0<br />
| 16500 (0x4074)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116166 (0x1c5c6)<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_la_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_sa_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_frame_time_us<br />
| 1.0.0<br />
| 17000 (0x4268)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116666 (0x1c7ba)<br />
|-<br />
| rowspan="1" |gpu_scheduling_oa_us<br />
| 1.0.0+<br />
| 500 (0x1f4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_partial_fg_la_us<br />
| 1.0.0+<br />
| 2000 (0x7d0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= apm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |battery_draining_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |performance_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_cpu_overclock_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_additional_delay_us<br />
| 1.0.0+<br />
| 16000 (0x3e80)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= audio =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |adsp_log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audin_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audout_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audren_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwopus_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |suppress_additional_mic_check<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |suspend_for_debugger_enabled<br />
| 1.0.0-3.0.2<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |uac_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |uac_speaker_enabled<br />
| 3.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bcat =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bgtc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |battery_threshold_save<br />
| 2.0.0-2.3.0<br />
| 30 (0x1e)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="2" |battery_threshold_stop<br />
| 2.0.0-2.3.0<br />
| 15 (0xf)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="1" |enable_battery_saver<br />
| 2.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_halfawake<br />
| 3.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |leaving_halfawake_margin<br />
| 2.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_normal<br />
| 2.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_save<br />
| 2.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= bluetooth_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= boot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |boot_devmenuapp_installer<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_maintenance<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bpc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_quasi_off<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bsp0 =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |tm_transport<br />
| 1.0.0+<br />
| "USB"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb<br />
| 1.0.0+<br />
| "UDS"<br />
| rowspan="1" |<br />
|}<br />
<br />
= capsrv =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |album_directory_path<br />
| 5.0.0+<br />
| "d:/Album"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_directory_change<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filehash_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filesign_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_filedata_verification<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |screenshot_layerstack<br />
| 1.0.0+<br />
| "screenshot"<br />
| rowspan="1" |<br />
|}<br />
<br />
= contents_delivery =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |acceptable_application_delivery_protocol_version<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_debug_api<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |required_system_version_to_deliver_application<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|}<br />
<br />
= dauth =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |_dummy<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= devmenu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_update_requried<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |development_mode<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_foreground_at_sleep_finish<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_update<br />
| 2.0.0-5.1.0<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_exhibition_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_resume_all<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_index_at_launch<br />
| 6.0.0+<br />
| -1 (0xffffffff)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eclct =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |analytics_override<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |analytics_pollperiod<br />
| 1.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= erpt =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= err =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |applet_auto_close<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= eupld =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |upload_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= fatal =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |quest_reboot_interval_second<br />
| 4.1.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |show_extra_info<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_to_fatal<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= friends =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= gpu_core_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hdcp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |authentication_timeout_ms<br />
| 4.0.0+<br />
| 12000 (0x2ee0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |stub_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hid_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ble_disabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |dscale_disabled<br />
| 6.0.0-6.0.1<br />
| true<br />
| rowspan="2" |<br />
|-<br />
| 6.1.0+<br />
| false<br />
|-<br />
| rowspan="1" |emulate_firmware_update_failure<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_future_device<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_mcu_hardware_error<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_debugpad<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |firmware_update_failure_emulation_mode<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_handheld<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_devices<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_touch_ic_i2c<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= htc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disconnection_emulation<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= idle =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dim_level_percent_lcd<br />
| 1.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dim_level_percent_tv<br />
| 1.0.0+<br />
| 70 (0x46)<br />
| rowspan="1" |<br />
|}<br />
<br />
= jit_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_jit_debug<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= lbl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_1st_coefficient<br />
| 4.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_2nd_coefficient<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_3rd_coefficient<br />
| 4.0.0+<br />
| 20 (0x14)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_disable_als<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vr_brightness_transition_frame<br />
| 5.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|}<br />
<br />
= lm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_sd_card_logging<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sd_card_log_output_directory<br />
| 1.0.0+<br />
| "NxBinLogs"<br />
| rowspan="1" |<br />
|}<br />
<br />
= migration =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ldn_connection_timeout_seconds<br />
| 4.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_large_data_timeout_seconds<br />
| 4.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_low_speed_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_messaging_timeout_seconds<br />
| 4.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_small_data_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ui_acceptance_wait_timeout_seconds<br />
| 4.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|}<br />
<br />
= mii =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_db_test_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_img_db_test_mode_enabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |development_function_enabled<br />
| 5.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= news =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="5" |system_version<br />
| 2.0.0-2.3.0<br />
| 1 (0x1)<br />
| rowspan="5" |<br />
|-<br />
| 3.0.0-3.0.2<br />
| 2 (0x2)<br />
|-<br />
| 4.0.0-4.1.0<br />
| 3 (0x3)<br />
|-<br />
| 5.0.0-5.1.0<br />
| 4 (0x4)<br />
|-<br />
| 6.0.0+<br />
| 5 (0x5)<br />
|}<br />
<br />
= nfp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |not_locked_tag<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |play_report<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nifm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_config_timeout<br />
| 3.0.0+<br />
| 30000 (0x7530)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_test_timeout<br />
| 3.0.0+<br />
| 45000 (0xafc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ethernet_adapter_standby_time<br />
| 3.0.0+<br />
| 10000 (0x2710)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_communication_control_enabled_for_test<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nim.install =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_delta_stress_storage<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after_second<br />
| 6.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |prefer_delta_evenif_inefficient<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_delay_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_still_unavailable_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= npns =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |logmanager_redirection<br />
| 1.0.0<br />
| "false;"<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |sleep_max_try_count<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_periodic_interval<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_processing_timeout<br />
| 2.0.0+<br />
| 30 (0x1e)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.applet =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |overlay_applet_id<br />
| 1.0.0+<br />
| "0x010000000000100c"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shop_applet_id<br />
| 3.0.0+<br />
| "0x010000000000100b"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_applet_id<br />
| 1.0.0+<br />
| "0x0100000000001000"<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.application =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_id_on_blacklist<br />
| 5.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_version_on_blacklist<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assign_all_device_linked_elicenses<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_add_on_content_with_no_rights_result_value<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_cache_storage_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_account_restricted_rights<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |max_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 90000 (0x15f90)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wait_time_after_signal_for_dynamic_rights_observer<br />
| 6.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.autoboot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.gamecard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |mount_gamecard_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |try_gamecard_access_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_waiting_limit<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_task_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_ticket<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_network_update<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_random_wait<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_request_on_cold_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_send_rights_usage_status_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_sync_elicense_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_version_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |result_value_to_register_nt_for_dynamic_rights<br />
| 6.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 2.0.0-4.1.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_max<br />
| 5.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_min<br />
| 5.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit<br />
| 4.0.0-5.1.0<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_bias<br />
| 6.0.0+<br />
| 48 (0x30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_min<br />
| 6.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.pseudodeviceid =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |reset_pseudo_device_id<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.sdcard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cleanup_sdcard_result_value<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |compare_sdcard<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_sdcard<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.ticket =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |next_available_time_of_unexpected_error<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= nsd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |environment_identifier<br />
| 1.0.0+<br />
| "lp1"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ntc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |autonomic_correction_failed_retry_interval_seconds<br />
| 1.0.0-2.3.0<br />
| 3600 (0xe10)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 1800 (0x708)<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_count_max<br />
| 1.0.0+<br />
| 4 (0x4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_interval_milliseconds<br />
| 1.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |autonomic_correction_interval_seconds<br />
| 1.0.0-2.1.0<br />
| 864000 (0xd2f00)<br />
| rowspan="2" |<br />
|-<br />
| 2.2.0+<br />
| 432000 (0x69780)<br />
|-<br />
| rowspan="1" |is_autonomic_correction_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nv =<br />
<br />
{| class="wikitable mw-collapsible mw-collapsed" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_filename<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_major_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_minor_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_boost<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_cut<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_enc_target_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_heavy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_reference_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cast.on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cde<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_auto_boost<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_disable<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_maxsize<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_devcode_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_max_connections<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_order<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_waits_on_exception<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_fast_ecc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_process_error_mode<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_enable_p2p_no_uva<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_force_ptx_jit<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_launch_blocking<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_managed_force_device_alloc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_set_watchdog<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_va_reservation_chunk_size<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_visible_devices<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noaud<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noavs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-sxesmode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-ulld<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_debug_mode<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_stay_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_timeout_ms_max<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |libandroid_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |media.aac_51_output_enabled<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_decompression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_dvfs_test<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_init_rate_hz<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_page_split<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_graphics_firmware_memory_margin<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_memory_profiler<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_always_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_safe_div<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_usb_plls_hw_ctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_winsys<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.profile<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.twod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvddk_vic_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_bl_ctrl<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_enable_ts<br />
| 2.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhdcp_max_retries<br />
| 3.0.0-3.0.2<br />
| "5"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="2" |nvhdcp_timeout_ms<br />
| 3.0.0-3.0.2<br />
| "12000"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="1" |nvhost_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhost_vic_memory_policy<br />
| 5.0.0-5.1.0<br />
| "0"<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |nvidia.hwc.control_modeset<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_config<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_layerlist<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_windows<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.enable_disp_trans<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.ftrace_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hdcp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.immediate_modeset<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.imp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_egl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_scratchblit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.null_display<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.war_1515812<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvmap_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_no_vsync_capability<br />
| 2.2.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_through_opengl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_flip_policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_hotplug_autoswitch<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_prefer_primary_layer<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_threads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_track_perf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_virtualdisplay_policy<br />
| 1.0.0+<br />
| "60hz"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_36lvajow<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_554expuw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_59ct6eds<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6aqelj8y<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6trs9rwi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_apapy18r<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_interleave<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_timeslice<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ci4wetrn<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_default_device_index<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_disable_compression<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dm7xllka<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dummy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_eepyr4lp<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gjwknsbf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gt1cb8jb<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_help<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_isewvh0s<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_lfkct7ht<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_liy1nc6l<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_m5qebtld<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_maiapsxj<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nbbeyqfm<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_disable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_do_nfa_partial_map<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_ecc_overrides<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_immediate_unmap<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_scg<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_as_get_va_regions<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_channel_abort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_cyclestats<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_fixed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_gpu_characteristics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_ioctl_mutex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_l3<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_map_buffer_ex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_dgpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_igpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_robustness<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_sparse<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_syncpoints<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_tsg<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zbc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zcull<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_wrap_channels_in_tsgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_omdtirby<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ometcz6b<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_osawipsf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_trace<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_uzfvtuhi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_v5tz4s00<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_vgeey2dw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xatkicfl<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xzoebcw9<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_yrghr5g6<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_zugirozd<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_log<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_fill<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.sys.display.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.fallb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor.virt<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.cursor.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.normal<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.video<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.disp.heads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gamma_correction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gpu_mapping_cache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.grlayout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.10<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.autorotate<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.hdr.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.ignore_ratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.limit.clock<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.only_16_9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.underscan<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.422<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.444<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hwc.nvdc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.idle.minimum_fps<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.panel.rotation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.stb.mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.zbc_override<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_set_production_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tegra.refresh<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.avp.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.buffer.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dec.prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.deint.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dfs.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ffprof.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.game.stream<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.general.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.input.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.seeking.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ts_pulldown<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_debug_ip<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_verbose_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |viccomposer.filter<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |videostats-enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= olsc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |autonomy_registration_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |default_auto_upload_global_setting<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_global_transfer_task_autonomy_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_on_event_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_periodic_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |postponed_transfer_task_processing_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_scale<br />
| 6.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_unit_seconds<br />
| 6.0.0+<br />
| 127 (0x7f)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_lost_connection_interval_seconds<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_offset_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= omm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |backlight_off_ms_on_handheld_switch<br />
| 1.0.0+<br />
| 150 (0x96)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |charging_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hdcp_failed_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |low_battery_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |operation_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_in_ms<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_wait_layer_visible_ms<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_fade_in_ms<br />
| 1.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |sleep_fade_out_ms<br />
| 1.0.0<br />
| 200 (0xc8)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 100 (0x64)<br />
|-<br />
| rowspan="1" |sleep_on_ac_ok_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_in_ms<br />
| 1.0.0+<br />
| 200 (0xc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pcm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= pctl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |intermittent_task_interval_seconds<br />
| 2.0.0+<br />
| 21600 (0x5460)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |post_event_interval_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pdm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_migrate_account_database<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_production<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_playlog<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= prepo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_prepo_page_view<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_save_log<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |statistics_post_interval<br />
| 6.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |statistics_save_interval_min<br />
| 5.0.0-5.1.0<br />
| 10 (0xa)<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
|-<br />
| rowspan="1" |transmission_interval_in_sleep<br />
| 6.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_interval_min<br />
| 3.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval<br />
| 3.0.0-5.1.0<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_max<br />
| 6.0.0+<br />
| 7200 (0x1c20)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_min<br />
| 6.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= productinfo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cec_osd_name<br />
| 1.0.0+<br />
| "NintendoSwitch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |product_name<br />
| 1.0.0+<br />
| "Nintendo Switch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vendor_name<br />
| 4.0.0+<br />
| "Nintendo"<br />
| rowspan="1" |<br />
|}<br />
<br />
= psm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |charge_current_limit_milli_ampere<br />
| 4.0.0+<br />
| 2048 (0x800)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |evaluation_log_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= push_notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |nup_notification_topic_id<br />
| 1.0.0<br />
| "nx_nup"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 1.0.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |subscribe_nup_notification<br />
| 1.0.0<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ro =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ease_nro_restriction<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= settings_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_debug_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_hdmi_cec_suppression_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= snap_shot_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |full_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_all_log<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_dir<br />
| 1.0.0+<br />
| "%USERPROFILE%/Documents/Nintendo/NXDMP"<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemconfig =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |exhivision<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |field_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systempowerstate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |always_reboot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_emulation_trigger_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_to_emulate<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemreport =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemsleep =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disable_auto_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disable_tma_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dummy_event_auto_wake<br />
| 2.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sc7<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sleep<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hush_time_after_brief_power_button_press_ms<br />
| 1.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |keep_vdd_core<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |override_auto_sleep_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_pending_time_ms<br />
| 1.0.0+<br />
| 15000 (0x3a98)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_timeout_sec<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wake_pin_debug_mode<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemstartup =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_psc_wait<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemupdate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |assumed_system_applet_version<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bgnup_retry_seconds<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id<br />
| 1.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id_for_content_delivery<br />
| 3.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_for_content_delivery<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_background_download_stress_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |enable_network_service<br />
| 1.0.0<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0-2.3.0<br />
| true<br />
|}<br />
<br />
= target_manager =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |device_name<br />
| 2.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= tc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |iir_filter_gain_pcb<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |iir_filter_gain_soc<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rate_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_console<br />
| 1.0.0-4.1.0<br />
| "[6182, 112480]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[6396, 119440]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6396, 119440]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_handheld<br />
| 1.0.0-4.1.0<br />
| "[5464, 174190]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[5817, 129580]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5817, 129580]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_rate_table_console<br />
| 1.0.0-4.1.0<br />
| "[[-1000000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
|-<br />
| rowspan="1" |tskin_rate_table_handheld<br />
| 1.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console<br />
| 1.0.0-5.1.0<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld<br />
| 1.0.0-5.1.0<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |use_configurations_on_fwdbg<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= tcap =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |continuous_high_skin_temperature_milli_seconds<br />
| 5.0.0+<br />
| 28800000 (0x1b77400)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |thermal_burn_prevention_mode_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= time =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |notify_time_to_fs_interval_seconds<br />
| 4.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_network_clock_sufficient_accuracy_minutes<br />
| 3.0.0+<br />
| 43200 (0xa8c0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_rtc_update_interval_minutes<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_test_offset_minutes<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_user_clock_initial_year<br />
| 5.0.0+<br />
| 2018 (0x7e2)<br />
| rowspan="1" |<br />
|}<br />
<br />
= usb =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |show_pdc_boot_fatal<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb30_force_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= vulnerability =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_debug<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |needs_update_vulnerability_policy<br />
| 2.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= wlan_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_wlan_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=System_Settings&diff=6073
System Settings
2019-01-21T23:10:51Z
<p>Misson20000: add am.debug!dev_function</p>
<hr />
<div>__NOTOC__<br />
<br />
= account =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |na_license_verification_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |na_required_for_network_service<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_qualification_verification_enabled<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= account.daemon =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_awaking_periodicity<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="3" |na_info_refresh_interval<br />
| 2.0.0-5.0.0<br />
| 46800 (0xb6d0)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 72000 (0x11940)<br />
|-<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
|-<br />
| rowspan="3" |profile_sync_interval<br />
| 2.0.0-5.0.0<br />
| 18000 (0x4650)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 172800 (0x2a300)<br />
|-<br />
| 6.0.0+<br />
| 18000 (0x4650)<br />
|-<br />
| rowspan="1" |schedule_periodicity<br />
| 2.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.debug =<br />
<br />
This class does not exist on retail firmware.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dev_function<br />
|<br />
|<br />
| rowspan="1" |Not set on retail firmware. Enables a few IPC commands and allows OpenSystem/OverlayAppletProxy when there is already a system/overlay applet.<br />
|}<br />
<br />
= am.display =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_immediate_update_caller_applet_capture<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |frame_buffer_sharing_level<br />
| 4.0.0-4.1.0<br />
| 0 (0x0)<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| 2 (0x2)<br />
|-<br />
| rowspan="1" |transition_layer_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.gpu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |gpu_scheduling_bg_app_us<br />
| 1.0.0<br />
| 4834 (0x12e2)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 104500 (0x19834)<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_la_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_sa_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_fg_app_us<br />
| 1.0.0<br />
| 16500 (0x4074)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116166 (0x1c5c6)<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_la_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_sa_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_frame_time_us<br />
| 1.0.0<br />
| 17000 (0x4268)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116666 (0x1c7ba)<br />
|-<br />
| rowspan="1" |gpu_scheduling_oa_us<br />
| 1.0.0+<br />
| 500 (0x1f4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_partial_fg_la_us<br />
| 1.0.0+<br />
| 2000 (0x7d0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= apm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |battery_draining_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |performance_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_cpu_overclock_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_additional_delay_us<br />
| 1.0.0+<br />
| 16000 (0x3e80)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= audio =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |adsp_log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audin_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audout_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audren_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwopus_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |suppress_additional_mic_check<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |suspend_for_debugger_enabled<br />
| 1.0.0-3.0.2<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |uac_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |uac_speaker_enabled<br />
| 3.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bcat =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bgtc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |battery_threshold_save<br />
| 2.0.0-2.3.0<br />
| 30 (0x1e)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="2" |battery_threshold_stop<br />
| 2.0.0-2.3.0<br />
| 15 (0xf)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="1" |enable_battery_saver<br />
| 2.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_halfawake<br />
| 3.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |leaving_halfawake_margin<br />
| 2.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_normal<br />
| 2.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_save<br />
| 2.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= bluetooth_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= boot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |boot_devmenuapp_installer<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_maintenance<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bpc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_quasi_off<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bsp0 =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |tm_transport<br />
| 1.0.0+<br />
| "USB"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb<br />
| 1.0.0+<br />
| "UDS"<br />
| rowspan="1" |<br />
|}<br />
<br />
= capsrv =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |album_directory_path<br />
| 5.0.0+<br />
| "d:/Album"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_directory_change<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filehash_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filesign_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_filedata_verification<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |screenshot_layerstack<br />
| 1.0.0+<br />
| "screenshot"<br />
| rowspan="1" |<br />
|}<br />
<br />
= contents_delivery =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |acceptable_application_delivery_protocol_version<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_debug_api<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |required_system_version_to_deliver_application<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|}<br />
<br />
= dauth =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |_dummy<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= devmenu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_update_requried<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |development_mode<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_foreground_at_sleep_finish<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_update<br />
| 2.0.0-5.1.0<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_exhibition_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_resume_all<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_index_at_launch<br />
| 6.0.0+<br />
| -1 (0xffffffff)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eclct =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |analytics_override<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |analytics_pollperiod<br />
| 1.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= erpt =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= err =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |applet_auto_close<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= eupld =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |upload_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= fatal =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |quest_reboot_interval_second<br />
| 4.1.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |show_extra_info<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_to_fatal<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= friends =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= gpu_core_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hdcp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |authentication_timeout_ms<br />
| 4.0.0+<br />
| 12000 (0x2ee0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |stub_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hid_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ble_disabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |dscale_disabled<br />
| 6.0.0-6.0.1<br />
| true<br />
| rowspan="2" |<br />
|-<br />
| 6.1.0+<br />
| false<br />
|-<br />
| rowspan="1" |emulate_firmware_update_failure<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_future_device<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_mcu_hardware_error<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_debugpad<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |firmware_update_failure_emulation_mode<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_handheld<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_devices<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_touch_ic_i2c<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= htc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disconnection_emulation<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= idle =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dim_level_percent_lcd<br />
| 1.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dim_level_percent_tv<br />
| 1.0.0+<br />
| 70 (0x46)<br />
| rowspan="1" |<br />
|}<br />
<br />
= jit_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_jit_debug<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= lbl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_1st_coefficient<br />
| 4.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_2nd_coefficient<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_3rd_coefficient<br />
| 4.0.0+<br />
| 20 (0x14)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_disable_als<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vr_brightness_transition_frame<br />
| 5.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|}<br />
<br />
= lm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_sd_card_logging<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sd_card_log_output_directory<br />
| 1.0.0+<br />
| "NxBinLogs"<br />
| rowspan="1" |<br />
|}<br />
<br />
= migration =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ldn_connection_timeout_seconds<br />
| 4.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_large_data_timeout_seconds<br />
| 4.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_low_speed_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_messaging_timeout_seconds<br />
| 4.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_small_data_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ui_acceptance_wait_timeout_seconds<br />
| 4.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|}<br />
<br />
= mii =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_db_test_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_img_db_test_mode_enabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |development_function_enabled<br />
| 5.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= news =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="5" |system_version<br />
| 2.0.0-2.3.0<br />
| 1 (0x1)<br />
| rowspan="5" |<br />
|-<br />
| 3.0.0-3.0.2<br />
| 2 (0x2)<br />
|-<br />
| 4.0.0-4.1.0<br />
| 3 (0x3)<br />
|-<br />
| 5.0.0-5.1.0<br />
| 4 (0x4)<br />
|-<br />
| 6.0.0+<br />
| 5 (0x5)<br />
|}<br />
<br />
= nfp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |not_locked_tag<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |play_report<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nifm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_config_timeout<br />
| 3.0.0+<br />
| 30000 (0x7530)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_test_timeout<br />
| 3.0.0+<br />
| 45000 (0xafc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ethernet_adapter_standby_time<br />
| 3.0.0+<br />
| 10000 (0x2710)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_communication_control_enabled_for_test<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nim.install =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_delta_stress_storage<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after_second<br />
| 6.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |prefer_delta_evenif_inefficient<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_delay_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_still_unavailable_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= npns =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |logmanager_redirection<br />
| 1.0.0<br />
| "false;"<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |sleep_max_try_count<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_periodic_interval<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_processing_timeout<br />
| 2.0.0+<br />
| 30 (0x1e)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.applet =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |overlay_applet_id<br />
| 1.0.0+<br />
| "0x010000000000100c"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shop_applet_id<br />
| 3.0.0+<br />
| "0x010000000000100b"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_applet_id<br />
| 1.0.0+<br />
| "0x0100000000001000"<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.application =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_id_on_blacklist<br />
| 5.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_version_on_blacklist<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assign_all_device_linked_elicenses<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_add_on_content_with_no_rights_result_value<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_cache_storage_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_account_restricted_rights<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |max_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 90000 (0x15f90)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wait_time_after_signal_for_dynamic_rights_observer<br />
| 6.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.autoboot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.gamecard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |mount_gamecard_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |try_gamecard_access_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_waiting_limit<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_task_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_ticket<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_network_update<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_random_wait<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_request_on_cold_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_send_rights_usage_status_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_sync_elicense_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_version_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |result_value_to_register_nt_for_dynamic_rights<br />
| 6.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 2.0.0-4.1.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_max<br />
| 5.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_min<br />
| 5.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit<br />
| 4.0.0-5.1.0<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_bias<br />
| 6.0.0+<br />
| 48 (0x30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_min<br />
| 6.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.pseudodeviceid =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |reset_pseudo_device_id<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.sdcard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cleanup_sdcard_result_value<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |compare_sdcard<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_sdcard<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.ticket =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |next_available_time_of_unexpected_error<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= nsd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |environment_identifier<br />
| 1.0.0+<br />
| "lp1"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ntc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |autonomic_correction_failed_retry_interval_seconds<br />
| 1.0.0-2.3.0<br />
| 3600 (0xe10)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 1800 (0x708)<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_count_max<br />
| 1.0.0+<br />
| 4 (0x4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_interval_milliseconds<br />
| 1.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |autonomic_correction_interval_seconds<br />
| 1.0.0-2.1.0<br />
| 864000 (0xd2f00)<br />
| rowspan="2" |<br />
|-<br />
| 2.2.0+<br />
| 432000 (0x69780)<br />
|-<br />
| rowspan="1" |is_autonomic_correction_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nv =<br />
<br />
{| class="wikitable mw-collapsible mw-collapsed" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_filename<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_major_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_minor_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_boost<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_cut<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_enc_target_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_heavy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_reference_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cast.on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cde<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_auto_boost<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_disable<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_maxsize<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_devcode_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_max_connections<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_order<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_waits_on_exception<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_fast_ecc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_process_error_mode<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_enable_p2p_no_uva<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_force_ptx_jit<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_launch_blocking<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_managed_force_device_alloc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_set_watchdog<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_va_reservation_chunk_size<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_visible_devices<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noaud<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noavs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-sxesmode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-ulld<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_debug_mode<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_stay_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_timeout_ms_max<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |libandroid_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |media.aac_51_output_enabled<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_decompression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_dvfs_test<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_init_rate_hz<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_page_split<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_graphics_firmware_memory_margin<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_memory_profiler<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_always_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_safe_div<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_usb_plls_hw_ctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_winsys<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.profile<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.twod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvddk_vic_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_bl_ctrl<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_enable_ts<br />
| 2.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhdcp_max_retries<br />
| 3.0.0-3.0.2<br />
| "5"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="2" |nvhdcp_timeout_ms<br />
| 3.0.0-3.0.2<br />
| "12000"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="1" |nvhost_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhost_vic_memory_policy<br />
| 5.0.0-5.1.0<br />
| "0"<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |nvidia.hwc.control_modeset<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_config<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_layerlist<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_windows<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.enable_disp_trans<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.ftrace_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hdcp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.immediate_modeset<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.imp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_egl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_scratchblit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.null_display<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.war_1515812<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvmap_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_no_vsync_capability<br />
| 2.2.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_through_opengl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_flip_policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_hotplug_autoswitch<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_prefer_primary_layer<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_threads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_track_perf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_virtualdisplay_policy<br />
| 1.0.0+<br />
| "60hz"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_36lvajow<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_554expuw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_59ct6eds<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6aqelj8y<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6trs9rwi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_apapy18r<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_interleave<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_timeslice<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ci4wetrn<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_default_device_index<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_disable_compression<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dm7xllka<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dummy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_eepyr4lp<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gjwknsbf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gt1cb8jb<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_help<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_isewvh0s<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_lfkct7ht<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_liy1nc6l<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_m5qebtld<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_maiapsxj<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nbbeyqfm<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_disable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_do_nfa_partial_map<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_ecc_overrides<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_immediate_unmap<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_scg<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_as_get_va_regions<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_channel_abort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_cyclestats<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_fixed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_gpu_characteristics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_ioctl_mutex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_l3<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_map_buffer_ex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_dgpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_igpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_robustness<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_sparse<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_syncpoints<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_tsg<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zbc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zcull<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_wrap_channels_in_tsgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_omdtirby<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ometcz6b<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_osawipsf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_trace<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_uzfvtuhi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_v5tz4s00<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_vgeey2dw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xatkicfl<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xzoebcw9<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_yrghr5g6<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_zugirozd<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_log<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_fill<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.sys.display.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.fallb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor.virt<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.cursor.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.normal<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.video<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.disp.heads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gamma_correction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gpu_mapping_cache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.grlayout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.10<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.autorotate<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.hdr.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.ignore_ratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.limit.clock<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.only_16_9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.underscan<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.422<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.444<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hwc.nvdc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.idle.minimum_fps<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.panel.rotation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.stb.mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.zbc_override<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_set_production_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tegra.refresh<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.avp.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.buffer.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dec.prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.deint.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dfs.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ffprof.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.game.stream<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.general.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.input.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.seeking.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ts_pulldown<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_debug_ip<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_verbose_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |viccomposer.filter<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |videostats-enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= olsc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |autonomy_registration_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |default_auto_upload_global_setting<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_global_transfer_task_autonomy_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_on_event_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_periodic_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |postponed_transfer_task_processing_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_scale<br />
| 6.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_unit_seconds<br />
| 6.0.0+<br />
| 127 (0x7f)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_lost_connection_interval_seconds<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_offset_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= omm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |backlight_off_ms_on_handheld_switch<br />
| 1.0.0+<br />
| 150 (0x96)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |charging_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hdcp_failed_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |low_battery_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |operation_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_in_ms<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_wait_layer_visible_ms<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_fade_in_ms<br />
| 1.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |sleep_fade_out_ms<br />
| 1.0.0<br />
| 200 (0xc8)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 100 (0x64)<br />
|-<br />
| rowspan="1" |sleep_on_ac_ok_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_in_ms<br />
| 1.0.0+<br />
| 200 (0xc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pcm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= pctl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |intermittent_task_interval_seconds<br />
| 2.0.0+<br />
| 21600 (0x5460)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |post_event_interval_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pdm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_migrate_account_database<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_production<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_playlog<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= prepo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_prepo_page_view<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_save_log<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |statistics_post_interval<br />
| 6.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |statistics_save_interval_min<br />
| 5.0.0-5.1.0<br />
| 10 (0xa)<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
|-<br />
| rowspan="1" |transmission_interval_in_sleep<br />
| 6.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_interval_min<br />
| 3.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval<br />
| 3.0.0-5.1.0<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_max<br />
| 6.0.0+<br />
| 7200 (0x1c20)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_min<br />
| 6.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= productinfo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cec_osd_name<br />
| 1.0.0+<br />
| "NintendoSwitch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |product_name<br />
| 1.0.0+<br />
| "Nintendo Switch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vendor_name<br />
| 4.0.0+<br />
| "Nintendo"<br />
| rowspan="1" |<br />
|}<br />
<br />
= psm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |charge_current_limit_milli_ampere<br />
| 4.0.0+<br />
| 2048 (0x800)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |evaluation_log_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= push_notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |nup_notification_topic_id<br />
| 1.0.0<br />
| "nx_nup"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 1.0.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |subscribe_nup_notification<br />
| 1.0.0<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ro =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ease_nro_restriction<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= settings_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_debug_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_hdmi_cec_suppression_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= snap_shot_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |full_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_all_log<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_dir<br />
| 1.0.0+<br />
| "%USERPROFILE%/Documents/Nintendo/NXDMP"<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemconfig =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |exhivision<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |field_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systempowerstate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |always_reboot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_emulation_trigger_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_to_emulate<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemreport =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemsleep =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disable_auto_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disable_tma_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dummy_event_auto_wake<br />
| 2.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sc7<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sleep<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hush_time_after_brief_power_button_press_ms<br />
| 1.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |keep_vdd_core<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |override_auto_sleep_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_pending_time_ms<br />
| 1.0.0+<br />
| 15000 (0x3a98)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_timeout_sec<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wake_pin_debug_mode<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemstartup =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_psc_wait<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemupdate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |assumed_system_applet_version<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bgnup_retry_seconds<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id<br />
| 1.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id_for_content_delivery<br />
| 3.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_for_content_delivery<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_background_download_stress_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |enable_network_service<br />
| 1.0.0<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0-2.3.0<br />
| true<br />
|}<br />
<br />
= target_manager =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |device_name<br />
| 2.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= tc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |iir_filter_gain_pcb<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |iir_filter_gain_soc<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rate_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_console<br />
| 1.0.0-4.1.0<br />
| "[6182, 112480]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[6396, 119440]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6396, 119440]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_handheld<br />
| 1.0.0-4.1.0<br />
| "[5464, 174190]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[5817, 129580]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5817, 129580]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_rate_table_console<br />
| 1.0.0-4.1.0<br />
| "[[-1000000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
|-<br />
| rowspan="1" |tskin_rate_table_handheld<br />
| 1.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console<br />
| 1.0.0-5.1.0<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld<br />
| 1.0.0-5.1.0<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |use_configurations_on_fwdbg<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= tcap =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |continuous_high_skin_temperature_milli_seconds<br />
| 5.0.0+<br />
| 28800000 (0x1b77400)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |thermal_burn_prevention_mode_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= time =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |notify_time_to_fs_interval_seconds<br />
| 4.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_network_clock_sufficient_accuracy_minutes<br />
| 3.0.0+<br />
| 43200 (0xa8c0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_rtc_update_interval_minutes<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_test_offset_minutes<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_user_clock_initial_year<br />
| 5.0.0+<br />
| 2018 (0x7e2)<br />
| rowspan="1" |<br />
|}<br />
<br />
= usb =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |show_pdc_boot_fatal<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb30_force_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= vulnerability =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_debug<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |needs_update_vulnerability_policy<br />
| 2.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= wlan_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_wlan_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=System_Settings&diff=6072
System Settings
2019-01-21T23:06:43Z
<p>Misson20000: firmware debug settings list</p>
<hr />
<div>__NOTOC__<br />
<br />
= account =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |na_license_verification_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |na_required_for_network_service<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_qualification_verification_enabled<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= account.daemon =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_awaking_periodicity<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="3" |na_info_refresh_interval<br />
| 2.0.0-5.0.0<br />
| 46800 (0xb6d0)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 72000 (0x11940)<br />
|-<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
|-<br />
| rowspan="3" |profile_sync_interval<br />
| 2.0.0-5.0.0<br />
| 18000 (0x4650)<br />
| rowspan="3" |<br />
|-<br />
| 5.0.1-5.1.0<br />
| 172800 (0x2a300)<br />
|-<br />
| 6.0.0+<br />
| 18000 (0x4650)<br />
|-<br />
| rowspan="1" |schedule_periodicity<br />
| 2.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.display =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_immediate_update_caller_applet_capture<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |frame_buffer_sharing_level<br />
| 4.0.0-4.1.0<br />
| 0 (0x0)<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| 2 (0x2)<br />
|-<br />
| rowspan="1" |transition_layer_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= am.gpu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |gpu_scheduling_bg_app_us<br />
| 1.0.0<br />
| 4834 (0x12e2)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 104500 (0x19834)<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_la_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_bg_sa_us<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_fg_app_us<br />
| 1.0.0<br />
| 16500 (0x4074)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116166 (0x1c5c6)<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_la_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_fg_sa_us<br />
| 1.0.0+<br />
| 11666 (0x2d92)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |gpu_scheduling_frame_time_us<br />
| 1.0.0<br />
| 17000 (0x4268)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 116666 (0x1c7ba)<br />
|-<br />
| rowspan="1" |gpu_scheduling_oa_us<br />
| 1.0.0+<br />
| 500 (0x1f4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_scheduling_partial_fg_la_us<br />
| 1.0.0+<br />
| 2000 (0x7d0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= apm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |battery_draining_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |performance_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_cpu_overclock_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_additional_delay_us<br />
| 1.0.0+<br />
| 16000 (0x3e80)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sdev_throttling_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= audio =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |adsp_log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audin_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audout_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |audren_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwopus_log_enabled<br />
| 1.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |suppress_additional_mic_check<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |suspend_for_debugger_enabled<br />
| 1.0.0-3.0.2<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |uac_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |uac_speaker_enabled<br />
| 3.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bcat =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bgtc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |battery_threshold_save<br />
| 2.0.0-2.3.0<br />
| 30 (0x1e)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="2" |battery_threshold_stop<br />
| 2.0.0-2.3.0<br />
| 15 (0xf)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 20 (0x14)<br />
|-<br />
| rowspan="1" |enable_battery_saver<br />
| 2.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_halfawake<br />
| 3.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |leaving_halfawake_margin<br />
| 2.0.0+<br />
| 3 (0x3)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_normal<br />
| 2.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |minimum_interval_save<br />
| 2.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= bluetooth_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= boot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |boot_devmenuapp_installer<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_maintenance<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= bpc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_quasi_off<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= bsp0 =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |tm_transport<br />
| 1.0.0+<br />
| "USB"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb<br />
| 1.0.0+<br />
| "UDS"<br />
| rowspan="1" |<br />
|}<br />
<br />
= capsrv =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |album_directory_path<br />
| 5.0.0+<br />
| "d:/Album"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_directory_change<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filehash_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_movie_filesign_verification<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_file_support<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_album_screenshot_filedata_verification<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |screenshot_layerstack<br />
| 1.0.0+<br />
| "screenshot"<br />
| rowspan="1" |<br />
|}<br />
<br />
= contents_delivery =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |acceptable_application_delivery_protocol_version<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_debug_api<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |required_system_version_to_deliver_application<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_delivery_protocol_version<br />
| 4.0.0+<br />
| 1 (0x1)<br />
| rowspan="1" |<br />
|}<br />
<br />
= dauth =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |_dummy<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= devmenu =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_update_requried<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |development_mode<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_foreground_at_sleep_finish<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_application_update<br />
| 2.0.0-5.1.0<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_exhibition_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_resume_all<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |user_index_at_launch<br />
| 6.0.0+<br />
| -1 (0xffffffff)<br />
| rowspan="1" |<br />
|}<br />
<br />
= eclct =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |analytics_override<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |analytics_pollperiod<br />
| 1.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|}<br />
<br />
= erpt =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |production_mode<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= err =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |applet_auto_close<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= eupld =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |upload_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= fatal =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |quest_reboot_interval_second<br />
| 4.1.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |show_extra_info<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_to_fatal<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= friends =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= gpu_core_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hdcp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |authentication_timeout_ms<br />
| 4.0.0+<br />
| 12000 (0x2ee0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |stub_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= hid_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ble_disabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |dscale_disabled<br />
| 6.0.0-6.0.1<br />
| true<br />
| rowspan="2" |<br />
|-<br />
| 6.1.0+<br />
| false<br />
|-<br />
| rowspan="1" |emulate_firmware_update_failure<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_future_device<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |emulate_mcu_hardware_error<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enables_debugpad<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |firmware_update_failure_emulation_mode<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_handheld<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_devices<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |manages_touch_ic_i2c<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= htc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disconnection_emulation<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= idle =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |dim_level_percent_lcd<br />
| 1.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dim_level_percent_tv<br />
| 1.0.0+<br />
| 70 (0x46)<br />
| rowspan="1" |<br />
|}<br />
<br />
= jit_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_jit_debug<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= lbl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_1st_coefficient<br />
| 4.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_2nd_coefficient<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_3rd_coefficient<br />
| 4.0.0+<br />
| 20 (0x14)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_brightness_mapping_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |force_disable_als<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vr_brightness_transition_frame<br />
| 5.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|}<br />
<br />
= lm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_sd_card_logging<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sd_card_log_output_directory<br />
| 1.0.0+<br />
| "NxBinLogs"<br />
| rowspan="1" |<br />
|}<br />
<br />
= migration =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ldn_connection_timeout_seconds<br />
| 4.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_large_data_timeout_seconds<br />
| 4.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_low_speed_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_messaging_timeout_seconds<br />
| 4.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transfer_small_data_timeout_seconds<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ui_acceptance_wait_timeout_seconds<br />
| 4.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|}<br />
<br />
= mii =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_db_test_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_img_db_test_mode_enabled<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |development_function_enabled<br />
| 5.0.0-5.1.0<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= news =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="5" |system_version<br />
| 2.0.0-2.3.0<br />
| 1 (0x1)<br />
| rowspan="5" |<br />
|-<br />
| 3.0.0-3.0.2<br />
| 2 (0x2)<br />
|-<br />
| 4.0.0-4.1.0<br />
| 3 (0x3)<br />
|-<br />
| 5.0.0-5.1.0<br />
| 4 (0x4)<br />
|-<br />
| 6.0.0+<br />
| 5 (0x5)<br />
|}<br />
<br />
= nfp =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |not_locked_tag<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |play_report<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nifm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_config_timeout<br />
| 3.0.0+<br />
| 30000 (0x7530)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |connection_test_timeout<br />
| 3.0.0+<br />
| 45000 (0xafc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ethernet_adapter_standby_time<br />
| 3.0.0+<br />
| 10000 (0x2710)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_communication_control_enabled_for_test<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= nim.install =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |apply_delta_stress_storage<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_come_back_after_second<br />
| 6.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |prefer_delta_evenif_inefficient<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_delay_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |simulate_eci_still_unavailable_response<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= npns =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |logmanager_redirection<br />
| 1.0.0<br />
| "false;"<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| true<br />
|-<br />
| rowspan="1" |sleep_max_try_count<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_periodic_interval<br />
| 2.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_processing_timeout<br />
| 2.0.0+<br />
| 30 (0x1e)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.applet =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |overlay_applet_id<br />
| 1.0.0+<br />
| "0x010000000000100c"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shop_applet_id<br />
| 3.0.0+<br />
| "0x010000000000100b"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |system_applet_id<br />
| 1.0.0+<br />
| "0x0100000000001000"<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.application =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |application_id_on_blacklist<br />
| 5.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |application_version_on_blacklist<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assign_all_device_linked_elicenses<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_add_on_content_with_no_rights_result_value<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleanup_cache_storage_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_account_restricted_rights<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |initial_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |max_waiting_time_of_assigning_elicenses_for_device<br />
| 6.0.0+<br />
| 90000 (0x15f90)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wait_time_after_signal_for_dynamic_rights_observer<br />
| 6.0.0+<br />
| 15 (0xf)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.autoboot =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.gamecard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |mount_gamecard_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |try_gamecard_access_result_value<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |debug_waiting_limit<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_task_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_download_ticket<br />
| 4.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_network_update<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_random_wait<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_request_on_cold_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_send_rights_usage_status_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_sync_elicense_request<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_version_list<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |result_value_to_register_nt_for_dynamic_rights<br />
| 6.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 2.0.0-4.1.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_max<br />
| 5.0.0+<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval_min<br />
| 5.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit<br />
| 4.0.0-5.1.0<br />
| 900 (0x384)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_bias<br />
| 6.0.0+<br />
| 48 (0x30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |version_list_waiting_limit_min<br />
| 6.0.0+<br />
| 1800 (0x708)<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.pseudodeviceid =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |reset_pseudo_device_id<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.sdcard =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cleanup_sdcard_result_value<br />
| 5.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |compare_sdcard<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mount_sdcard<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ns.ticket =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |next_available_time_of_unexpected_error<br />
| 4.0.0+<br />
| 300 (0x12c)<br />
| rowspan="1" |<br />
|}<br />
<br />
= nsd =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |environment_identifier<br />
| 1.0.0+<br />
| "lp1"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |test_mode<br />
| 2.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= ntc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="2" |autonomic_correction_failed_retry_interval_seconds<br />
| 1.0.0-2.3.0<br />
| 3600 (0xe10)<br />
| rowspan="2" |<br />
|-<br />
| 3.0.0+<br />
| 1800 (0x708)<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_count_max<br />
| 1.0.0+<br />
| 4 (0x4)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |autonomic_correction_immediate_try_interval_milliseconds<br />
| 1.0.0+<br />
| 5000 (0x1388)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |autonomic_correction_interval_seconds<br />
| 1.0.0-2.1.0<br />
| 864000 (0xd2f00)<br />
| rowspan="2" |<br />
|-<br />
| 2.2.0+<br />
| 432000 (0x69780)<br />
|-<br />
| rowspan="1" |is_autonomic_correction_enabled<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= nv =<br />
<br />
{| class="wikitable mw-collapsible mw-collapsed" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_00008600<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0007b25e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0083e1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_01621887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_03134743<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_094313<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x04dc09<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x111133<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1aa483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1cf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1cb1d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x1e3221<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x300fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x301fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x302fc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x3eec59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x46b3ed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x523dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x5344bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x555237<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x58a234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x7b4428<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xaaa36c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb09da5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xb0b349<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbb558f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xc32ad3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xcfd81f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe0036b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe01f2d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xe17212<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xeae966<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xed4f82<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12335<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_0xf12336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__gl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_filename<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_major_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |__glslc_version_minor_override<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_boost<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_cut<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_enc_target_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_heavy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aac_drc_reference_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cast.on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cde<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_auto_boost<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_disable<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_maxsize<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_cache_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_devcode_path<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_max_connections<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_order<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_device_waits_on_exception<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_fast_ecc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_disable_process_error_mode<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_enable_p2p_no_uva<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_force_ptx_jit<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_launch_blocking<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_managed_force_device_alloc<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_set_watchdog<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_va_reservation_chunk_size<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |cuda_visible_devices<br />
| 4.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noaud<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-noavs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-sxesmode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable-ulld<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_debug_mode<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_stay_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gpu_timeout_ms_max<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |libandroid_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |media.aac_51_output_enabled<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_decompression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_dvfs_test<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_emc_init_rate_hz<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_page_split<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_gmmu_va_range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_graphics_firmware_memory_margin<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_memory_profiler<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_always_on<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_pllcx_safe_div<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_usb_plls_hw_ctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nv_winsys<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.profile<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.twod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvblit.vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvddk_vic_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_bl_ctrl<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvdisp_enable_ts<br />
| 2.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhdcp_max_retries<br />
| 3.0.0-3.0.2<br />
| "5"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="2" |nvhdcp_timeout_ms<br />
| 3.0.0-3.0.2<br />
| "12000"<br />
| rowspan="2" |<br />
|-<br />
| 4.0.0+<br />
| ""<br />
|-<br />
| rowspan="1" |nvhost_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |nvhost_vic_memory_policy<br />
| 5.0.0-5.1.0<br />
| "0"<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| "1"<br />
|-<br />
| rowspan="1" |nvidia.hwc.control_modeset<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_config<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_layerlist<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.dump_windows<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.enable_disp_trans<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.ftrace_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hdcp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.hidden_window_mask1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.immediate_modeset<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.imp_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_egl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_scratchblit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.no_vic<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.null_display<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvidia.hwc.war_1515812<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvmap_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_no_vsync_capability<br />
| 2.2.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvn_through_opengl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_enable_log<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_flip_policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_hotplug_autoswitch<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_prefer_primary_layer<br />
| 1.0.0+<br />
| "0"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_service_threads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_swap_interval<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_track_perf<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvnflinger_virtualdisplay_policy<br />
| 1.0.0+<br />
| "60hz"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_36lvajow<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_554expuw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_59ct6eds<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6aqelj8y<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_6trs9rwi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_apapy18r<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_interleave<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_priority<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_channel_timeslice<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ci4wetrn<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_default_device_index<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_disable_compression<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dm7xllka<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_dummy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_eepyr4lp<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gjwknsbf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_gt1cb8jb<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_help<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_isewvh0s<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_lfkct7ht<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_liy1nc6l<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_m5qebtld<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_maiapsxj<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nbbeyqfm<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_disable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_do_nfa_partial_map<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_ecc_overrides<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_immediate_unmap<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_force_scg<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_as_get_va_regions<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_channel_abort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_cyclestats<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_fixed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_gpu_characteristics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_ioctl_mutex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_l3<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_map_buffer_ex<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_dgpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_probe_igpu<br />
| 5.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_robustness<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_sparse<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_syncpoints<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_tsg<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zbc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_no_zcull<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_nvgpu_wrap_channels_in_tsgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_omdtirby<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_ometcz6b<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_osawipsf<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_prevent_use<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_trace<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_uzfvtuhi<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_v5tz4s00<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_vgeey2dw<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xatkicfl<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_xzoebcw9<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_yrghr5g6<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvrm_gpu_zugirozd<br />
| 6.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvsched_force_log<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |nvwsi_fill<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0356afd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x923dd3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0x9abdc6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xbd10fb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_0xce2348<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10261989<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1042d483<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_10572898<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_115631<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_12950094<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1314f312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13279512<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_13813496<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_14507179<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_15694569<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_16936964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_17aa230c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_182054<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273275<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18273276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1854d03b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_18add00d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19156670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_19286545<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1a298e9f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1acf43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1bda43fe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_1c3b92<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21509920<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_215323457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ad<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2165ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_21be9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_233264316<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_234557580<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_23cd0e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_24189123<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2443266<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_25025519<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_255e39<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2583364<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2888c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_28ca3e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_29871243<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2a1f64<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2dc432<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2de437<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2f3bb89c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_2fd652<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3001ac<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31298772<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_313233<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_31f7d603<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_320ce4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153248<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_32153249<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_335bca<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_342abb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_34dfe9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_35201578<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_359278<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_37f53a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38144972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_38542646<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3b74c9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3c136f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3cf72823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3d7af029<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_3ff34782<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4129618<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4189fac3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_420bd4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_42a699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_441369<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4458713e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4554b6<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_457425<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4603b207<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574957<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46574958<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46813529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_46f1e13d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_47534c43<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48550336<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576893<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_48576894<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4889ac02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49005740<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49867584<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_49960973<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4a5341<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f4e48<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_4f8a0a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299698<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50299699<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_50361291<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5242ae<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_53d30c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_56347a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_563a95f1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_573823<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_58027529<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5d2d63<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_5f7e3b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60461793<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_60d355<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_616627aa<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_62317182<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6253fa2e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100768<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100769<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_64100770<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_647395<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_66543234<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67674763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_67739784<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_68fb9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_69801276<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa2f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa3f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6af9fa4f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6bd8c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6c7691<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6d4296ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6dd7e8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_6fe11ec1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_716511763<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_72504593<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73304097<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_73314098<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095213b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_74095214<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_748f9649<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_75494732<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78452832<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_784561<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_78e16b9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_79251225<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7c128b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7ccd93<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_7df8d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_800c2310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80546710<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_80772310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_808ee280<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81131154<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_81274457<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8292291f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_83498426<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84993794<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84995585<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_84a0a0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_852142<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612309<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612310<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612311<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_85612312<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8623ff27<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87364952<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_87f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_886748<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_89894423<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8a75<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8ad8ad00<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb815<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb817<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb818<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8bb819<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8e640cd1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f34971a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f773984<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_8f7a7d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_902486209<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_90482571<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_91214835<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_912848290<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_915e56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92179066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92350358<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809063<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809064<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92809066<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_92920143<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89b12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_93a89c0b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_94812574<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95282304<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_95394027<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_959b1f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9638af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_96fd59<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275667<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275668<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275669<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f627566f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f6275671<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_97f727566e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480775<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480776<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_98480777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_992431<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9aa29065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9af32e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9c108b71<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_9f279065<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a01bc728<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a13b46c80<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a22eb0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a2fb451e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a3456abe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7044887<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a7149200<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_a766215670<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinegamma<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_aalinetweaks<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee02<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ab34ee03<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ac0274<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63e<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af73c63f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_af9927<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_afoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_allocdeviceevents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_softimage<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_app_supportbits2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_applicationkey<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_appreturnonlybasicglsltype<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_assumetextureismipmappedatcreation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b1fb0f01<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b3edd5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b40d9e03d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b7f6275666<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_b812c1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ba14ba1b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd7559<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_bd755d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be58bb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_be92cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_beefcba4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c023777f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c09dc8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c0d340<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c2ff374c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7a4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c5e9d7b4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_c618f9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ca345840<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cachedisable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_channelpriorityoverride<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cleardatastorevidmem<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufminwords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cmdbufsizewords<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantblitframebufferscissor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_conformantincompletetextures<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_copybuffermethod<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapaniso<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_cubemapfiltering<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d0e9a4d7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d13733f12<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d1b399<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c32<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2983c33<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d2e71b<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d377dd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d489f4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d4bce1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518cd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518ce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d0<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d1<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d518d5<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d59eda<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d83cbd<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_d8e777<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_debug_options<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_devshmpageableallocations<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df1f9812<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_df783c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_diagenable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowcemask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_disallowz16<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_dlmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e0bfec<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e433456d<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e435563f<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e4cd9c<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e5c972<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e639ef<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_e802af<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eae964<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_earlytexturehwallocation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_eb92a3<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ebca56<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_detail_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_output_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_expert_report_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringnvarch<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_extensionstringversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f00f1938<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f10736<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f1846870<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f33bc370<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f392a874<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_f49ae8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa345cce<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fa35cc4<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faa14a<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_faf8a723<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fastgs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbf4ac45<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fbo_blit_ignore_srgb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_fc64c7<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec97<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_ff54ec98<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forceexitprocessdetach<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_forcerequestedesversion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_glsynctovblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_gvitimeoutcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hcctrl<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_hwstate_per_ctx<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_machinecachelimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_maxframesallowed<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrcachedalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrsysheapalloclimitratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_memmgrvidheapalloclimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_h_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_mosaic_clip_to_subdev_v_overlap<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |ogl_zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |overlaymergeblittimerms<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |perfmon_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.sys.display.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.fallb<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.policy<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.composite.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compositor.virt<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.compression<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.cursor.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.normal<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.didim.video<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.disp.heads<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gamma_correction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.gpu_mapping_cache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.grlayout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.10<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.2020.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.autorotate<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.hdr.fake<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.ignore_ratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.limit.clock<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.only_16_9<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.range<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.resolution<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.underscan<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.422<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.444<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hdmi.yuv.force<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.hwc.nvdc<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.idle.minimum_fps<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.panel.rotation<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.scan_props<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.stb.mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |persist.tegra.zbc_override<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |pixbar_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |qualityenhancements<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r27s18q28<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |r2d7c1d8<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderer<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |renderqualityflags<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_debug_mask<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rmos_set_production_mode<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |s3tcquality<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_path<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shader_disk_cache_read_only<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderatomics<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shadercacheinitsize<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderobjects<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderportabilitywarnings<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |shaderwarningsaserrors<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |skiptexturehostcopies<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sli_dli_control<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sparsetexture<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |spinlooptimeout<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sync_to_vblank<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sysmemtexturepromotion<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |targetflushcount<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tearingfreeswappresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tegra.refresh<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texclampbehavior<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texlodbias<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |texmemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |textureprecache<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |threadcontrol2<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.avp.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.buffer.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dec.prof<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.deint.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.dfs.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ffprof.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.game.stream<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.general.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.input.dump<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.seeking.logs<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tvmr.ts_pulldown<br />
| 3.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usegvievents<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vbomemoryspaceenables<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_debug_ip<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vcc_verbose_level<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vertexlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |viccomposer.filter<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |videostats-enable<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vidheapreuseratio<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vpipeformatbloatlimit<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wglmessageboxonabort<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeinfolog<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectassembly<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |writeprogramobjectsource<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |xnvadapterpresent<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yield<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunction<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionfast<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionslow<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitfordcqueue<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforframe<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |yieldfunctionwaitforgpu<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |zbctableaddhysteresis<br />
| 1.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= olsc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |autonomy_registration_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |default_auto_upload_global_setting<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_global_transfer_task_autonomy_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_on_event_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_periodic_transfer_task_registration_enabled<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |postponed_transfer_task_processing_interval_seconds<br />
| 6.0.0+<br />
| 46800 (0xb6d0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_scale<br />
| 6.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_backoff_unit_seconds<br />
| 6.0.0+<br />
| 127 (0x7f)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_lost_connection_interval_seconds<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_offset_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= omm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |backlight_off_ms_on_handheld_switch<br />
| 1.0.0+<br />
| 150 (0x96)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |charging_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hdcp_failed_emulation<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |low_battery_sign_ms<br />
| 1.0.0+<br />
| 3000 (0xbb8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |operation_mode_policy<br />
| 1.0.0+<br />
| "auto"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_in_ms<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sign_wait_layer_visible_ms<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_fade_in_ms<br />
| 1.0.0+<br />
| 50 (0x32)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |sleep_fade_out_ms<br />
| 1.0.0<br />
| 200 (0xc8)<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0+<br />
| 100 (0x64)<br />
|-<br />
| rowspan="1" |sleep_on_ac_ok_boot<br />
| 3.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_in_ms<br />
| 1.0.0+<br />
| 200 (0xc8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |startup_fade_out_ms<br />
| 1.0.0+<br />
| 400 (0x190)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pcm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= pctl =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |intermittent_task_interval_seconds<br />
| 2.0.0+<br />
| 21600 (0x5460)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |post_event_interval_seconds<br />
| 6.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|}<br />
<br />
= pdm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |force_migrate_account_database<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_production<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |save_playlog<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= prepo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |background_processing<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |devmenu_prepo_page_view<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_save_log<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |statistics_post_interval<br />
| 6.0.0+<br />
| 86400 (0x15180)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |statistics_save_interval_min<br />
| 5.0.0-5.1.0<br />
| 10 (0xa)<br />
| rowspan="2" |<br />
|-<br />
| 6.0.0+<br />
| 60 (0x3c)<br />
|-<br />
| rowspan="1" |transmission_interval_in_sleep<br />
| 6.0.0+<br />
| 10800 (0x2a30)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_interval_min<br />
| 3.0.0+<br />
| 10 (0xa)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval<br />
| 3.0.0-5.1.0<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_max<br />
| 6.0.0+<br />
| 7200 (0x1c20)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transmission_retry_interval_min<br />
| 6.0.0+<br />
| 3600 (0xe10)<br />
| rowspan="1" |<br />
|}<br />
<br />
= productinfo =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |cec_osd_name<br />
| 1.0.0+<br />
| "NintendoSwitch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |product_name<br />
| 1.0.0+<br />
| "Nintendo Switch"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |vendor_name<br />
| 4.0.0+<br />
| "Nintendo"<br />
| rowspan="1" |<br />
|}<br />
<br />
= psm =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |charge_current_limit_milli_ampere<br />
| 4.0.0+<br />
| 2048 (0x800)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |evaluation_log_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= push_notification =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |nup_notification_topic_id<br />
| 1.0.0<br />
| "nx_nup"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |retry_interval<br />
| 1.0.0<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |subscribe_nup_notification<br />
| 1.0.0<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= ro =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |ease_nro_restriction<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= settings_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |is_debug_mode_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |is_hdmi_cec_suppression_enabled<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= snap_shot_dump =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |auto_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |full_dump<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_all_log<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |output_dir<br />
| 1.0.0+<br />
| "%USERPROFILE%/Documents/Nintendo/NXDMP"<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemconfig =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |exhivision<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |field_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systempowerstate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |always_reboot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_emulation_trigger_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |power_state_message_to_emulate<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemreport =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemsleep =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |disable_auto_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |disable_tma_sleep<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |dummy_event_auto_wake<br />
| 2.0.0-3.0.2<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sc7<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enter_sleep<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |hush_time_after_brief_power_button_press_ms<br />
| 1.0.0+<br />
| 1000 (0x3e8)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |keep_vdd_core<br />
| 1.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |override_auto_sleep_time<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_pending_time_ms<br />
| 1.0.0+<br />
| 15000 (0x3a98)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |transition_timeout_sec<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |wake_pin_debug_mode<br />
| 4.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemstartup =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_psc_wait<br />
| 5.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= systemupdate =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |assumed_system_applet_version<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |bgnup_retry_seconds<br />
| 1.0.0+<br />
| 60 (0x3c)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id<br />
| 1.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_id_for_content_delivery<br />
| 3.0.0+<br />
| "0x0000000000000000"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |debug_version_for_content_delivery<br />
| 3.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |enable_background_download_stress_testing<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |enable_network_service<br />
| 1.0.0<br />
| false<br />
| rowspan="2" |<br />
|-<br />
| 2.0.0-2.3.0<br />
| true<br />
|}<br />
<br />
= target_manager =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |device_name<br />
| 2.0.0+<br />
| ""<br />
| rowspan="1" |<br />
|}<br />
<br />
= tc =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |iir_filter_gain_pcb<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |iir_filter_gain_soc<br />
| 1.0.0+<br />
| 100 (0x64)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |log_enabled<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |rate_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |sleep_enabled<br />
| 2.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_console<br />
| 1.0.0-4.1.0<br />
| "[6182, 112480]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[6396, 119440]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6396, 119440]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_pcb_coefficients_handheld<br />
| 1.0.0-4.1.0<br />
| "[5464, 174190]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0-5.1.0<br />
| "[5817, 129580]"<br />
|-<br />
| rowspan="1" |tskin_pcb_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5817, 129580]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="2" |tskin_rate_table_console<br />
| 1.0.0-4.1.0<br />
| "[[-1000000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
| rowspan="2" |<br />
|-<br />
| 5.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 53000, 51, 153], [53000, 58000, 153, 255], [58000, 1000000, 255, 255]]"<br />
|-<br />
| rowspan="1" |tskin_rate_table_handheld<br />
| 1.0.0+<br />
| "[[-1000000, 40000, 0, 0], [36000, 43000, 51, 51], [43000, 48000, 51, 102], [48000, 53000, 102, 153], [53000, 1000000, 153, 153], [48000, 1000000, 153, 153]]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_select<br />
| 1.0.0+<br />
| "both"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console<br />
| 1.0.0-5.1.0<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_console_on_fwdbg<br />
| 6.0.0+<br />
| "[6182, 112480]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld<br />
| 1.0.0-5.1.0<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |tskin_soc_coefficients_handheld_on_fwdbg<br />
| 6.0.0+<br />
| "[5464, 174190]"<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |use_configurations_on_fwdbg<br />
| 6.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= tcap =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |continuous_high_skin_temperature_milli_seconds<br />
| 5.0.0+<br />
| 28800000 (0x1b77400)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |thermal_burn_prevention_mode_enabled<br />
| 5.0.0+<br />
| true<br />
| rowspan="1" |<br />
|}<br />
<br />
= time =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |notify_time_to_fs_interval_seconds<br />
| 4.0.0+<br />
| 600 (0x258)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_network_clock_sufficient_accuracy_minutes<br />
| 3.0.0+<br />
| 43200 (0xa8c0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_rtc_update_interval_minutes<br />
| 3.0.0+<br />
| 5 (0x5)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_steady_clock_test_offset_minutes<br />
| 1.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |standard_user_clock_initial_year<br />
| 5.0.0+<br />
| 2018 (0x7e2)<br />
| rowspan="1" |<br />
|}<br />
<br />
= usb =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |show_pdc_boot_fatal<br />
| 6.0.0+<br />
| true<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |usb30_force_enabled<br />
| 3.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}<br />
<br />
= vulnerability =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |enable_debug<br />
| 4.0.0+<br />
| false<br />
| rowspan="1" |<br />
|-<br />
| rowspan="1" |needs_update_vulnerability_policy<br />
| 2.0.0+<br />
| 0 (0x0)<br />
| rowspan="1" |<br />
|}<br />
<br />
= wlan_debug =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Name || Versions || Default Values || Description<br />
|-<br />
| rowspan="1" |skip_wlan_boot<br />
| 1.0.0+<br />
| false<br />
| rowspan="1" |<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=Error_applet&diff=6040
Error applet
2019-01-14T00:44:25Z
<p>Misson20000: add to Library Applets category</p>
<hr />
<div>The error applet is used to display an error result by several titles and applets. (AppletId 0xE)<br />
<br />
Depending on the type, the applet will display the error in several ways.<br />
<br />
It takes two input storages: common arguments and a custom storage.<br />
<br />
== Error applet types ==<br />
<br />
=== Common ===<br />
<br />
For all of the following structures, the first two bytes are common and identify mode.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes<br />
|-<br />
| 0x0 || 1 || 0 || Error Applet Mode<br />
|-<br />
| 0x1 || 1 || 1 || Whether or not to use 'jump' mode<br />
|}<br />
<br />
In SDK, the jump mode byte is always one, except for nn::err::ShowErrorWithoutJump. HW-Testing has shown this to have no visual impact on error applet.<br />
<br />
=== Error (common one) ===<br />
<br />
Takes a CommonArgs storage with version 0.<br />
Uses a mode byte of 0 in the above struct.<br />
<br />
==== Custom storage ====<br />
<br />
Unknown exact size, using size 20 seems to work fine.<br />
<br />
The type (byte 0 of this storage) is 0.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x10 || 4 (u32) || 0 (2000-0000) || Result code, same Result type used everywhere in HOS.<br />
|}<br />
<br />
The error will display error code 2000-0000 if the Result is not set. The text is the default one.<br />
<br />
=== SystemError ===<br />
<br />
Takes a CommonArgs storage with version 0.<br />
Uses a mode byte of 1 in the above struct.<br />
<br />
==== Custom storage ====<br />
<br />
SDK uses size 4120 for this storage.<br />
<br />
The type (byte 0 of this storage) is 1.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes<br />
|-<br />
| 0x8 || 8 (u64) || 0 (0000-0000) || ErrorCode (not Result like in normal errors) of the error to use.<br />
|-<br />
| 0x18 || 0x800 || - || String of the text to be shown as a short description of the error.<br />
|-<br />
| 0x818 || 0x800 || - || String of the text to be shown as a more detailed description of the error.<br />
|}<br />
<br />
If the first text is not specified but the second one is, the applet will directly load the "Details" display with the second error text.<br />
<br />
If both texts are set, the applet will load the dialog with "Close" and "Details" options, and will load the display mentiones above after selecting "Details".<br />
<br />
If no ErrorCode is supplied, the applet will use 0000-0000.<br />
<br />
=== ApplicationError ===<br />
<br />
Allows an application to show a custom-defined error text.<br />
Uses a mode byte of 2 in the above struct.<br />
<br />
The SDK uses size 4116 (0x1014) for this storage.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes<br />
|-<br />
| 0x8 || 4 (u32) || 0 (0000-0000) || ErrorCode of the error to use.<br />
|-<br />
| 0xC || 8 (u64) || 'en-US\0' || The Language of the following text. This uses the same language names as settings service.<br />
|-<br />
| 0x14 || 0x800 || - || String of the text to be shown as a short description of the error.<br />
|-<br />
| 0x814 || 0x800 || - || String of the text to be shown as a more detailed description of the error.<br />
|}<br />
<br />
On hardware, the short description will be displayed initially in a dialog box with the error code. There is a details button that when clicked will display the detailed description.<br />
<br />
=== ShowErrorRecord (ShowError with Timestamp) ===<br />
<br />
Uses common arguments version 0 and a mode byte of 5.<br />
<br />
Performs the same function as ShowError, but also displays the date and time of error.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes<br />
|-<br />
| 0x8 || 8 (u64) || 0 (0000-0000) || Result code to use. This is formatted with the first u32 = description and second u32 = module + 2000.<br />
|-<br />
| 0x10 || 8 (u64) || 0 (Jan 1, 1970 00:00:00 AM) || POSIX time of the error to be displayed (as seconds since epoch).<br />
|}<br />
<br />
Unlike ShowError, this is fullscreen and not a dialog.<br />
<br />
[[Category:Library Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=PSC_services&diff=5878
PSC services
2018-12-25T10:06:49Z
<p>Misson20000: add power management states</p>
<hr />
<div>PSC (Power State Control) provides services related to power state changes in the system.<br />
<br />
= Concept =<br />
<br />
psc:m allows a process to register a module that depends on power management in some way. A client calls GetPmModule to receive an IPmModule (Power Managed Module), and then calls IPmModule->Initialize(module_id, module_dependency_list) where module_id is the ModuleId enum member for the client, and the dependency list is an array of module IDs for the modules that this depends on. Initialize() returns an event handle that the client can wait on to be notified of a power state change.<br />
<br />
psc:c allows a module to the power state controller for the system (in practice, AM is the only client to the controller). IPmControl->DispatchRequest() is used notify all IPmModules of a state change.<br />
<br />
For example, FS registers itself as an IPmModule with dependencies on pinmux, gpio, pcv, tma, and initializes the SD card once those dependencies have registered.. <br />
<br />
It then does (basically) the following pseudocode (actual code located at .text + 0xB2DB0 in 6.0.0 FS):<br />
<br />
while (true) {<br />
Fs_IPmModule->WaitSignaled();<br />
<br />
Fs_IPmModule->GetRequest(&state);<br />
switch (state) {<br />
case WakingUp:<br />
/* hardware devices are woken up here */<br />
case GoingToSleep:<br />
/* hardware devices are put to sleep here */<br />
case ShuttingDown:<br />
/* hardware devices are turned off here */<br />
}<br />
<br />
Fs_IPmModule->Acknowledge(state);<br />
}<br />
<br />
= psc:c =<br />
This is "nn::psc::sf::IPmControl".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || Initialize<br />
|-<br />
| 1 || DispatchRequest<br />
|-<br />
| 2 || GetResult<br />
|-<br />
| 3 || GetState<br />
|-<br />
| 4 || Cancel<br />
|-<br />
| 5 || PrintModuleInformation<br />
|-<br />
| 6 || GetModuleInformation<br />
|}<br />
<br />
= psc:m =<br />
This is "nn::psc::sf::IPmService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetPmModule || Returns an [[#IPmModule]].<br />
|}<br />
<br />
== IPmModule ==<br />
This is "nn::psc::sf::IPmModule".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || Initialize<br />
|-<br />
| 1 || GetRequest<br />
|-<br />
| 2 || Acknowledge<br />
|-<br />
| 3 || Finalize<br />
|-<br />
| 4 || [6.0.0+] AcknowledgeEx<br />
|}<br />
<br />
= srepo:u, srepo:a =<br />
These are "nn::srepo::detail::ipc::ISrepoService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 10100 ||<br />
|-<br />
| 10101 || [6.0.0+]<br />
|-<br />
| 10200 || [6.0.0+]<br />
|-<br />
| 10201 || [6.0.0+]<br />
|-<br />
| 11000 || [6.0.0+]<br />
|-<br />
| 11001 || [6.0.0+]<br />
|-<br />
| 11002 || [6.0.0+]<br />
|-<br />
| 11003 || [6.0.0+]<br />
|-<br />
| 11004 || [6.0.0+]<br />
|-<br />
| 11100 || [6.0.0+]<br />
|-<br />
| 11200 || [6.0.0+]<br />
|-<br />
| 11300 || [6.0.0+]<br />
|-<br />
| 11400 || [6.0.0+]<br />
|-<br />
| 11500 || [6.0.0+]<br />
|-<br />
| 11600 || [6.0.0+]<br />
|-<br />
| 11601 || [6.0.0+]<br />
|-<br />
| 11602 || [6.0.0+]<br />
|-<br />
| 11700 || [6.0.0+]<br />
|-<br />
| 11800 || [6.0.0+]<br />
|-<br />
| 11801 || [6.0.0+]<br />
|-<br />
| 20100 ||<br />
|-<br />
| 20200 ||<br />
|-<br />
| 20300 || [6.0.0+]<br />
|-<br />
| 20400 || [6.0.0+]<br />
|-<br />
| 20401 || [6.0.0+]<br />
|}<br />
<br />
= PSC Module IDs =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID || Module<br />
|-<br />
| 0x13 || [[PCIe services|PCIe]]<br />
|-<br />
| 0x1B ||<br />
|-<br />
| 0x1E ||<br />
|-<br />
| 0x29 || [[Log services|nn::psc::PmModuleId_Lm]]<br />
|}<br />
<br />
[[Category:Services]]<br />
<br />
= Power Management States =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID || Name || Description<br />
|-<br />
| Awake || 0 || Everything is awake.<br />
|-<br />
| ReadyAwaken || 1 || Preparing to transition to awake.<br />
|-<br />
| ReadySleep || 2 || Preparing to transition to sleep.<br />
|-<br />
| ReadySleepCritical || 3 || Critical services are ready to sleep.<br />
|-<br />
| ReadyAwakenCritical || 4 || Critical services are ready to wake up.<br />
|-<br />
| ReadyShutdown || 5 || Preparing to transition to shutdown.<br />
|}</div>
Misson20000
https://switchbrew.org/w/index.php?title=PSC_services&diff=5835
PSC services
2018-12-20T07:22:29Z
<p>Misson20000: add module id table (incomplete)</p>
<hr />
<div>PSC (Power State Control) provides services related to power state changes in the system.<br />
<br />
= Concept =<br />
<br />
psc:m allows a process to register a module that depends on power management in some way. A client calls GetPmModule to receive an IPmModule (Power Managed Module), and then calls IPmModule->Initialize(module_id, module_dependency_list) where module_id is the ModuleId enum member for the client, and the dependency list is an array of module IDs for the modules that this depends on. Initialize() returns an event handle that the client can wait on to be notified of a power state change.<br />
<br />
psc:c allows a module to the power state controller for the system (in practice, AM is the only client to the controller). IPmControl->DispatchRequest() is used notify all IPmModules of a state change.<br />
<br />
For example, FS registers itself as an IPmModule with dependencies on pinmux, gpio, pcv, tma, and initializes the SD card once those dependencies have registered.. <br />
<br />
It then does (basically) the following pseudocode (actual code located at .text + 0xB2DB0 in 6.0.0 FS):<br />
<br />
while (true) {<br />
Fs_IPmModule->WaitSignaled();<br />
<br />
Fs_IPmModule->GetRequest(&state);<br />
switch (state) {<br />
case WakingUp:<br />
/* hardware devices are woken up here */<br />
case GoingToSleep:<br />
/* hardware devices are put to sleep here */<br />
case ShuttingDown:<br />
/* hardware devices are turned off here */<br />
}<br />
<br />
Fs_IPmModule->Acknowledge(state);<br />
}<br />
<br />
= psc:c =<br />
This is "nn::psc::sf::IPmControl".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || Initialize<br />
|-<br />
| 1 || DispatchRequest<br />
|-<br />
| 2 || GetResult<br />
|-<br />
| 3 || GetState<br />
|-<br />
| 4 || Cancel<br />
|-<br />
| 5 || PrintModuleInformation<br />
|-<br />
| 6 || GetModuleInformation<br />
|}<br />
<br />
= psc:m =<br />
This is "nn::psc::sf::IPmService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetPmModule || Returns an [[#IPmModule]].<br />
|}<br />
<br />
== IPmModule ==<br />
This is "nn::psc::sf::IPmModule".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || Initialize<br />
|-<br />
| 1 || GetRequest<br />
|-<br />
| 2 || Acknowledge<br />
|-<br />
| 3 || Finalize<br />
|-<br />
| 4 || [6.0.0+] AcknowledgeEx<br />
|}<br />
<br />
= srepo:u, srepo:a =<br />
These are "nn::srepo::detail::ipc::ISrepoService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 10100 ||<br />
|-<br />
| 10101 || [6.0.0+]<br />
|-<br />
| 10200 || [6.0.0+]<br />
|-<br />
| 10201 || [6.0.0+]<br />
|-<br />
| 11000 || [6.0.0+]<br />
|-<br />
| 11001 || [6.0.0+]<br />
|-<br />
| 11002 || [6.0.0+]<br />
|-<br />
| 11003 || [6.0.0+]<br />
|-<br />
| 11004 || [6.0.0+]<br />
|-<br />
| 11100 || [6.0.0+]<br />
|-<br />
| 11200 || [6.0.0+]<br />
|-<br />
| 11300 || [6.0.0+]<br />
|-<br />
| 11400 || [6.0.0+]<br />
|-<br />
| 11500 || [6.0.0+]<br />
|-<br />
| 11600 || [6.0.0+]<br />
|-<br />
| 11601 || [6.0.0+]<br />
|-<br />
| 11602 || [6.0.0+]<br />
|-<br />
| 11700 || [6.0.0+]<br />
|-<br />
| 11800 || [6.0.0+]<br />
|-<br />
| 11801 || [6.0.0+]<br />
|-<br />
| 20100 ||<br />
|-<br />
| 20200 ||<br />
|-<br />
| 20300 || [6.0.0+]<br />
|-<br />
| 20400 || [6.0.0+]<br />
|-<br />
| 20401 || [6.0.0+]<br />
|}<br />
<br />
= PSC Module IDs =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID || Module<br />
|-<br />
| 0x1B ||<br />
|-<br />
| 0x1E ||<br />
|-<br />
| 0x29 || [[Log services|nn::psc::PmModuleId_Lm]]<br />
|}<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=AM_services&diff=5691
AM services
2018-11-30T21:07:53Z
<p>Misson20000: Misson20000 moved page AM services to Applet Manager services: makes it easier to search for</p>
<hr />
<div>#REDIRECT [[Applet Manager services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Applet_Manager_services&diff=5690
Applet Manager services
2018-11-30T21:07:52Z
<p>Misson20000: Misson20000 moved page AM services to Applet Manager services: makes it easier to search for</p>
<hr />
<div>AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.<br />
<br />
Contains multiple raw images, with at least the following: "NN_OMM_CHARGING_BIN_{begin|end}"(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.<br />
<br />
= appletAE =<br />
This is "nn::am::service::IAllSystemAppletProxiesService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].<br />
|-<br />
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].<br />
|-<br />
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].<br />
|-<br />
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].<br />
|-<br />
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.<br />
<br />
This service is used by all system non-regular-applications.<br />
<br />
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):<br />
* "qlaunch": SystemApplet<br />
* "overlay": OverlayApplet<br />
* "starter": SystemApplication<br />
* "maintenance": SystemApplet<br />
* All others: LibraryApplet<br />
<br />
== OpenLibraryAppletProxy ==<br />
Returns an [[#ILibraryAppletProxy]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.<br />
<br />
Official user-processes use the same retry loop with this as the other Open*Proxy commands.<br />
<br />
== ISystemAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].<br />
|-<br />
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].<br />
|-<br />
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IHomeMenuFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || RequestToGetForeground || <br />
|-<br />
| 11 || LockForeground ||<br />
|-<br />
| 12 || UnlockForeground || <br />
|-<br />
| 20 || PopFromGeneralChannel || Returns an [[#IStorage]].<br />
|-<br />
| 21 || GetPopFromGeneralChannelEvent ||<br />
|-<br />
| 30 || GetHomeButtonWriterLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetWriterLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
==== ILockAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || TryLock<br />
|-<br />
| 2 || Unlock<br />
|-<br />
| 3 || GetEvent<br />
|}<br />
<br />
=== IGlobalStateController ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || RequestToEnterSleep<br />
|-<br />
| 1 || EnterSleep<br />
|-<br />
| 2 || StartSleepSequence<br />
|-<br />
| 3 || StartShutdownSequence<br />
|-<br />
| 4 || StartRebootSequence<br />
|-<br />
| 10 || LoadAndApplyIdlePolicySettings<br />
|-<br />
| 11 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime<br />
|-<br />
| 13 || [2.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [2.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|}<br />
<br />
=== IApplicationCreator ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 1 || PopLaunchRequestedApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || CreateSystemApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 100 || PopFloatingApplicationForDevelopment || Returns an [[#IApplicationAccessor]].<br />
|}<br />
<br />
==== IApplicationAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit || <br />
|-<br />
| 25 || Terminate || <br />
|-<br />
| 30 || GetResult || <br />
|-<br />
| 101 || RequestForApplicationToGetForeground || <br />
|-<br />
| 110 || TerminateAllLibraryApplets || <br />
|-<br />
| 111 || AreAnyLibraryAppletsLeft || <br />
|-<br />
| 112 || GetCurrentLibraryApplet || Returns an [[#IAppletAccessor]].<br />
|-<br />
| 120 || GetApplicationId || <br />
|-<br />
| 121 || PushLaunchParameter || Takes an [[#IStorage]].<br />
|-<br />
| 122 || GetApplicationControlProperty || <br />
|-<br />
| 123 || [2.0.0+] GetApplicationLaunchProperty || <br />
|-<br />
| 124 || [6.0.0+] GetApplicationLaunchRequestInfo || <br />
|-<br />
| 130 || [6.0.0+] SetUsers || <br />
|-<br />
| 131 || [6.0.0+] CheckRightsEnvironmentAvailable || <br />
|-<br />
| 132 || [6.0.0+] GetNsRightsEnvironmentHandle || <br />
|-<br />
| 140 || [6.0.0+] GetDesirableUids || <br />
|-<br />
| 150 || [6.0.0+] ReportApplicationExitTimeout || <br />
|}<br />
<br />
===== IAppletAccessor =====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAppletStateChangedEvent<br />
|-<br />
| 1 || IsCompleted<br />
|-<br />
| 10 || Start<br />
|-<br />
| 20 || RequestExit<br />
|-<br />
| 25 || Terminate<br />
|-<br />
| 30 || GetResult<br />
|}<br />
<br />
== ILibraryAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || OpenLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== ILibraryAppletSelfAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || PopInData || Returns an [[#IStorage]].<br />
|-<br />
| 1 || PushOutData || Takes an [[#IStorage]].<br />
|-<br />
| 2 || PopInteractiveInData || Returns an [[#IStorage]].<br />
|-<br />
| 3 || PushInteractiveOutData || Takes an [[#IStorage]].<br />
|-<br />
| 5 || GetPopInDataEvent ||<br />
|-<br />
| 6 || GetPopInteractiveInDataEvent ||<br />
|-<br />
| 10 || [[#ExitProcessAndReturn]] ||<br />
|-<br />
| 11 || [[#GetLibraryAppletInfo]] ||<br />
|-<br />
| 12 || GetMainAppletIdentityInfo ||<br />
|-<br />
| 13 || CanUseApplicationCore ||<br />
|-<br />
| 14 || GetCallerAppletIdentityInfo ||<br />
|-<br />
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||<br />
|-<br />
| 16 || [2.0.0+] GetMainAppletStorageId ||<br />
|-<br />
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||<br />
|-<br />
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||<br />
|-<br />
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||<br />
|-<br />
| 20 || PopExtraStorage || Returns an [[#IStorage]].<br />
|-<br />
| 25 || GetPopExtraStorageEvent ||<br />
|-<br />
| 30 || UnpopInData || Takes an [[#IStorage]].<br />
|-<br />
| 31 || UnpopExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||<br />
|-<br />
| 50 || [2.0.0+] ReportVisibleError ||<br />
|-<br />
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||<br />
|-<br />
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||<br />
|-<br />
| 80 || [6.0.0+] RequestExitToSelf ||<br />
|-<br />
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||<br />
|-<br />
| 100 || [4.0.0+] [[#CreateGameMovieTrimmer]] ||<br />
|-<br />
| 101 || [6.0.0+] ReserveResourceForMovieOperation ||<br />
|-<br />
| 102 || [6.0.0+] UnreserveResourceForMovieOperation ||<br />
|-<br />
| 110 || [6.0.0+] GetMainAppletAvailableUsers ||<br />
|}<br />
<br />
==== ExitProcessAndReturn ====<br />
No input/output.<br />
<br />
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).<br />
<br />
==== GetLibraryAppletInfo ====<br />
No input. Returns an u64 LibraryAppletInfo: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].<br />
<br />
==== GetMainAppletApplicationDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== CreateGameMovieTrimmer ====<br />
Takes an input u64 and handle, returns a GRC [[GRC_services#IGameMovieTrimmer|IGameMovieTrimmer]].<br />
<br />
== IOverlayAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IOverlayFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || BeginToWatchShortHomeButtonMessage<br />
|-<br />
| 1 || EndToWatchShortHomeButtonMessage<br />
|-<br />
| 2 || GetApplicationIdForLogo<br />
|-<br />
| 3 || SetGpuTimeSliceBoost<br />
|-<br />
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled<br />
|-<br />
| 5 || [2.0.0+] TerminateApplicationAndSetReason<br />
|-<br />
| 6 || [2.0.0+] SetScreenShotPermissionGlobally<br />
|-<br />
| 10 || [6.0.0+] StartShutdownSequenceForOverlay<br />
|-<br />
| 11 || [6.0.0+] StartRebootSequenceForOverlay<br />
|-<br />
| 101 || [6.0.0+] BeginToObserveHidInputForDevelop<br />
|}<br />
<br />
== IApplicationProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IApplicationFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || PopLaunchParameter || Returns an [[#IStorage]].<br />
|-<br />
| 10 || CreateApplicationAndPushAndRequestToStart || Takes an [[#IStorage]].<br />
|-<br />
| 11 || [2.0.0+] CreateApplicationAndPushAndRequestToStartForQuest || Takes an [[#IStorage]].<br />
|-<br />
| 12 || [4.0.0+] CreateApplicationAndRequestToStart || <br />
|-<br />
| 13 || [4.0.0+] CreateApplicationAndRequestToStartForQuest || <br />
|-<br />
| 20 || EnsureSaveData ||<br />
|-<br />
| 21 || [[#GetDesiredLanguage]] ||<br />
|-<br />
| 22 || [[#SetTerminateResult]] ||<br />
|-<br />
| 23 || GetDisplayVersion ||<br />
|-<br />
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||<br />
|-<br />
| 25 || [2.0.0+] ExtendSaveData ||<br />
|-<br />
| 26 || [2.0.0+] GetSaveDataSize ||<br />
|-<br />
| 27 || [5.0.0+] CreateCacheStorage ||<br />
|-<br />
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 31 || EndBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 32 || [[#BeginBlockingHomeButton]] ||<br />
|-<br />
| 33 || EndBlockingHomeButton ||<br />
|-<br />
| 40 || [[#NotifyRunning]] ||<br />
|-<br />
| 50 || [2.0.0+] GetPseudoDeviceId ||<br />
|-<br />
| 60 || [2.0.0+] SetMediaPlaybackStateForApplication ||<br />
|-<br />
| 65 || [3.0.0+] [[#IsGamePlayRecordingSupported]] ||<br />
|-<br />
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||<br />
|-<br />
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||<br />
|-<br />
| 68 || [4.0.0+] RequestFlushGamePlayingMovieForDebug || <br />
|-<br />
| 70 || [3.0.0+] RequestToShutdown ||<br />
|-<br />
| 71 || [3.0.0+] RequestToReboot ||<br />
|-<br />
| 80 || [4.0.0+] ExitAndRequestToShowThanksMessage || <br />
|-<br />
| 90 || [4.0.0+] EnableApplicationCrashReport || <br />
|-<br />
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || <br />
|-<br />
| 101 || [5.0.0+] SetApplicationCopyrightImage || <br />
|-<br />
| 102 || [5.0.0+] SetApplicationCopyrightVisibility || <br />
|-<br />
| 110 || [5.0.0+] QueryApplicationPlayStatistics || <br />
|-<br />
| 111 || [6.0.0+] QueryApplicationPlayStatisticsByUid || <br />
|-<br />
| 120 || [5.0.0+] ExecuteProgram || <br />
|-<br />
| 121 || [5.0.0+] ClearUserChannel || <br />
|-<br />
| 122 || [5.0.0+] UnpopToUserChannel || <br />
|-<br />
| 123 || [6.0.0+] GetPreviousProgramIndex || <br />
|-<br />
| 124 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash || <br />
|-<br />
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || <br />
|-<br />
| 1000 || [5.0.0+] [[#CreateMovieMaker]] || <br />
|-<br />
| 1001 || [5.0.0+] [[#PrepareForJit]] ||<br />
|}<br />
<br />
The BOTW game uses this GamePlayRecording functionality from the main-nso "nninitStartup" function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):<br />
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.<br />
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.<br />
* Closes the TransferMemory handle, + TransferMemory cleanup.<br />
* Uses [[#SetGamePlayRecordingState]] with value 0x1.<br />
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].<br />
<br />
==== GetDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== SetTerminateResult ====<br />
Takes an input u32 '''Result''', no output.<br />
<br />
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.<br />
<br />
==== BeginBlockingHomeButton ====<br />
Takes an input s64 nanoseconds, no output. The input nanoseconds can be zero.<br />
<br />
==== NotifyRunning ====<br />
Takes no input. Returns an output u8, which is ignored by official user-processes.<br />
<br />
==== IsGamePlayRecordingSupported ====<br />
No input, returns an output u8 bool.<br />
<br />
==== InitializeGamePlayRecording ====<br />
Takes a TransferMemory handle and an u64 for the size of the TransferMemory. The size must match 0x6000000 otherwise an error is returned.<br />
<br />
==== SetGamePlayRecordingState ====<br />
Takes an input u32. 0 = disable/pause, 1 = enable/restart.<br />
<br />
==== CreateMovieMaker ====<br />
Takes an input u64 and handle, returns an [[#IMovieMaker]].<br />
<br />
==== PrepareForJit ====<br />
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.<br />
<br />
=== IMovieMaker ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetGrcMovieMaker]]<br />
|-<br />
| 1 || [[#GetLayerHandle]]<br />
|}<br />
<br />
==== GetGrcMovieMaker ====<br />
No input, returns a GRC [[GRC_services|IMovieMaker]].<br />
<br />
==== GetLayerHandle ====<br />
No input, returns an output u64.<br />
<br />
== ILibraryAppletCreator ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
=== ILibraryAppletAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit ||<br />
|-<br />
| 25 || Terminate ||<br />
|-<br />
| 30 || GetResult ||<br />
|-<br />
| 50 || SetOutOfFocusApplicationSuspendingEnabled ||<br />
|-<br />
| 100 || PushInData || Takes an [[#IStorage]].<br />
|-<br />
| 101 || PopOutData || Returns an [[#IStorage]].<br />
|-<br />
| 102 || PushExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 103 || PushInteractiveInData || Takes an [[#IStorage]].<br />
|-<br />
| 104 || PopInteractiveOutData || Returns an [[#IStorage]].<br />
|-<br />
| 105 || GetPopOutDataEvent ||<br />
|-<br />
| 106 || GetPopInteractiveOutDataEvent ||<br />
|-<br />
| 110 || NeedsToExitProcess ||<br />
|-<br />
| 120 || GetLibraryAppletInfo ||<br />
|-<br />
| 150 || RequestForAppletToGetForeground ||<br />
|-<br />
| 160 || [2.0.0+] GetIndirectLayerConsumerHandle ||<br />
|}<br />
<br />
== ICommonStateGetter ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetEventHandle]] ||<br />
|-<br />
| 1 || [[#ReceiveMessage]] ||<br />
|-<br />
| 2 || GetThisAppletKind ||<br />
|-<br />
| 3 || AllowToEnterSleep ||<br />
|-<br />
| 4 || DisallowToEnterSleep ||<br />
|-<br />
| 5 || [[#GetOperationMode]] ||<br />
|-<br />
| 6 || [[#GetPerformanceMode]] ||<br />
|-<br />
| 7 || GetCradleStatus ||<br />
|-<br />
| 8 || GetBootMode ||<br />
|-<br />
| 9 || [[#GetCurrentFocusState]] ||<br />
|-<br />
| 10 || RequestToAcquireSleepLock ||<br />
|-<br />
| 11 || ReleaseSleepLock ||<br />
|-<br />
| 12 || ReleaseSleepLockTransiently ||<br />
|-<br />
| 13 || GetAcquiredSleepLockEvent ||<br />
|-<br />
| 20 || PushToGeneralChannel || Takes an [[#IStorage]].<br />
|-<br />
| 30 || GetHomeButtonReaderLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetReaderLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 40 || [2.0.0+] GetCradleFwVersion ||<br />
|-<br />
| 50 || [3.0.0+] IsVrModeEnabled ||<br />
|-<br />
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||<br />
|-<br />
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||<br />
|-<br />
| 55 || [3.0.0+] IsInControllerFirmwareUpdateSection ||<br />
|-<br />
| 60 || [3.0.0+] GetDefaultDisplayResolution ||<br />
|-<br />
| 61 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent ||<br />
|-<br />
| 62 || [4.0.0+] GetHdcpAuthenticationState || <br />
|-<br />
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||<br />
|-<br />
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||<br />
|-<br />
| 65 || [6.0.0+] GetApplicationIdByContentActionName ||<br />
|-<br />
| 66 || [6.0.0+] SetCpuAndGpuBoostMode ||<br />
|-<br />
| 80 || [6.0.0+] PerformSystemButtonPressingIfInFocus ||<br />
|}<br />
<br />
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).<br />
<br />
=== GetEventHandle ===<br />
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].<br />
<br />
=== ReceiveMessage ===<br />
No input. Returns an output u32. Error 0x680 indicates no message is available.<br />
<br />
=== GetOperationMode ===<br />
No input. Returns an output u8 for the current [[#OperationMode]].<br />
<br />
=== GetPerformanceMode ===<br />
No input. Returns an output u32 for the current PerformanceMode.<br />
<br />
=== GetCurrentFocusState ===<br />
No input. Returns an output u8:<br />
<br />
* 1: In focus.<br />
* 2/3: Out of focus(running in "background").<br />
<br />
=== SetVrModeEnabled ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
Updates internal AM state fields. If the new state doesn't match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.<br />
<br />
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the 'close' button. When this button is pressed, the console resets the vrMode to false.<br />
<br />
== ISelfController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#Exit]]<br />
|-<br />
| 1 || [[#LockExit]]<br />
|-<br />
| 2 || [[#UnlockExit]]<br />
|-<br />
| 3 || [2.0.0+] [[#EnterFatalSection]]<br />
|-<br />
| 4 || [2.0.0+] [[#LeaveFatalSection]]<br />
|-<br />
| 9 || GetLibraryAppletLaunchableEvent<br />
|-<br />
| 10 || [[#SetScreenShotPermission]]<br />
|-<br />
| 11 || [[#SetOperationModeChangedNotification]]<br />
|-<br />
| 12 || [[#SetPerformanceModeChangedNotification]]<br />
|-<br />
| 13 || [[#SetFocusHandlingMode]]<br />
|-<br />
| 14 || SetRestartMessageEnabled<br />
|-<br />
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]<br />
|-<br />
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]<br />
|-<br />
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection<br />
|-<br />
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage<br />
|-<br />
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]<br />
|-<br />
| 20 || [4.0.0+] SetDesirableKeyboardLayout<br />
|-<br />
| 40 || [[#CreateManagedDisplayLayer]]<br />
|-<br />
| 41 || [4.0.0+] IsSystemBufferSharingEnabled<br />
|-<br />
| 42 || [4.0.0+] GetSystemSharedLayerHandle<br />
|-<br />
| 43 || [6.0.0+] GetSystemSharedBufferHandle<br />
|-<br />
| 50 || SetHandlesRequestToDisplay<br />
|-<br />
| 51 || ApproveToDisplay<br />
|-<br />
| 60 || OverrideAutoSleepTimeAndDimmingTime<br />
|-<br />
| 61 || SetMediaPlaybackState<br />
|-<br />
| 62 || SetIdleTimeDetectionExtension<br />
|-<br />
| 63 || GetIdleTimeDetectionExtension<br />
|-<br />
| 64 || SetInputDetectionSourceSet<br />
|-<br />
| 65 || [2.0.0+] ReportUserIsActive<br />
|-<br />
| 66 || [3.0.0+] GetCurrentIlluminance<br />
|-<br />
| 67 || [3.0.0+] IsIlluminanceAvailable<br />
|-<br />
| 68 || [4.0.0+] SetAutoSleepDisabled<br />
|-<br />
| 69 || [4.0.0+] IsAutoSleepDisabled<br />
|-<br />
| 70 || [5.0.0+] ReportMultimediaError<br />
|-<br />
| 71 || [6.0.0+] GetCurrentIlluminanceEx<br />
|-<br />
| 80 || [5.0.0+] SetWirelessPriorityMode<br />
|-<br />
| 90 || [6.0.0+] GetAccumulatedSuspendedTickValue<br />
|-<br />
| 91 || [6.0.0+] GetAccumulatedSuspendedTickChangedEvent<br />
|}<br />
<br />
=== Exit ===<br />
No input/output.<br />
<br />
=== LockExit ===<br />
No input/output.<br />
<br />
Locks exit process of pressing X to close in HOME Menu for an application or HOME button for an applet. When locked, it will show the "waiting for software to be closed dialog" until UnlockExit is called or a 15 seconds timeout (when the latter occurs, the process is force-terminated).<br />
<br />
=== UnlockExit ===<br />
No input/output.<br />
<br />
Unlocks exit process, if LockExit was previously used.<br />
<br />
=== EnterFatalSection ===<br />
No input/output.<br />
<br />
=== LeaveFatalSection ===<br />
No input/output.<br />
<br />
=== SetScreenShotPermission ===<br />
Takes an input s32. No output.<br />
<br />
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.<br />
<br />
=== SetOperationModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetPerformanceModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetFocusHandlingMode ===<br />
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.<br />
<br />
=== SetScreenShotAppletIdentityInfo ===<br />
Takes an input 0x10-byte struct AppletIdentityInfo. No output.<br />
<br />
=== SetOutOfFocusSuspendingEnabled ===<br />
Takes an input u8(bool flag). No output.<br />
<br />
=== SetScreenShotImageOrientation ===<br />
Takes an input s32. No output.<br />
<br />
=== CreateManagedDisplayLayer ===<br />
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].<br />
<br />
== IWindowController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateWindow || Returns an IWindow object.<br />
|-<br />
| 1 || [[#GetAppletResourceUserId]] ||<br />
|-<br />
| 2 || [6.0.0+] GetAppletResourceUserIdOfCallerApplet ||<br />
|-<br />
| 10 || [[#AcquireForegroundRights]] ||<br />
|-<br />
| 11 || ReleaseForegroundRights ||<br />
|-<br />
| 12 || RejectToChangeIntoBackground ||<br />
|}<br />
<br />
=== GetAppletResourceUserId ===<br />
Returns an output u64: [[#AppletResourceUserId]].<br />
<br />
=== AcquireForegroundRights ===<br />
No input/output.<br />
<br />
== IAudioController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || SetExpectedMasterVolume<br />
|-<br />
| 1 || GetMainAppletExpectedMasterVolume<br />
|-<br />
| 2 || GetLibraryAppletExpectedMasterVolume<br />
|-<br />
| 3 || ChangeMainAppletMasterVolume<br />
|-<br />
| 4 || SetTransparentVolumeRate<br />
|}<br />
<br />
GetMainAppletExpectedMasterVolume/SetExpectedMasterVolume are used for saving/restoring state for LibraryApplet launching, with SetExpectedMasterVolume being used with new state prior to launching a LibraryApplet. With official sw these applet funcs are used directly in the main-codebin.<br />
<br />
== IDisplayController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetLastForegroundCaptureImage<br />
|-<br />
| 1 || UpdateLastForegroundCaptureImage<br />
|-<br />
| 2 || GetLastApplicationCaptureImage<br />
|-<br />
| 3 || GetCallerAppletCaptureImage<br />
|-<br />
| 4 || UpdateCallerAppletCaptureImage<br />
|-<br />
| 5 || GetLastForegroundCaptureImageEx<br />
|-<br />
| 6 || GetLastApplicationCaptureImageEx<br />
|-<br />
| 7 || GetCallerAppletCaptureImageEx<br />
|-<br />
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer<br />
|-<br />
| 9 || [5.0.0+] CopyBetweenCaptureBuffers<br />
|-<br />
| 10 || AcquireLastApplicationCaptureBuffer<br />
|-<br />
| 11 || ReleaseLastApplicationCaptureBuffer<br />
|-<br />
| 12 || AcquireLastForegroundCaptureBuffer<br />
|-<br />
| 13 || ReleaseLastForegroundCaptureBuffer<br />
|-<br />
| 14 || AcquireCallerAppletCaptureBuffer<br />
|-<br />
| 15 || ReleaseCallerAppletCaptureBuffer<br />
|-<br />
| 16 || AcquireLastApplicationCaptureBufferEx<br />
|-<br />
| 17 || AcquireLastForegroundCaptureBufferEx<br />
|-<br />
| 18 || AcquireCallerAppletCaptureBufferEx<br />
|-<br />
| 20 || [2.0.0+] ClearCaptureBuffer<br />
|-<br />
| 21 || [2.0.0+] ClearAppletTransitionBuffer<br />
|-<br />
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer<br />
|-<br />
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer<br />
|-<br />
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer<br />
|-<br />
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer<br />
|-<br />
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer<br />
|-<br />
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer<br />
|-<br />
| 28 || [6.0.0+] TakeScreenShotOfOwnLayerEx<br />
|}<br />
<br />
== ILibraryAppletCreator==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns a [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#|IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
== ISystemAppletControllerForDebug ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || RequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
== IProcessWindingController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetLaunchReason]] ||<br />
|-<br />
| 11 || OpenCallingLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 21 || PushContext || Takes an [[#IStorage]].<br />
|-<br />
| 22 || PopContext || Returns an [[#IStorage]].<br />
|-<br />
| 23 || CancelWindingReservation ||<br />
|-<br />
| 30 || WindAndDoReserved ||<br />
|-<br />
| 40 || ReserveToStartAndWaitAndUnwindThis || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 41 || [4.0.0+] ReserveToStartAndWait ||<br />
|}<br />
<br />
=== GetLaunchReason ===<br />
No input. Returns an u32 AppletProcessLaunchReason.<br />
<br />
Used by LibraryApplets.<br />
<br />
== IDebugFunctions ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || NotifyMessageToHomeMenuForDebug ||<br />
|-<br />
| 1 || OpenMainApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || EmulateButtonEvent ||<br />
|-<br />
| 20 || InvalidateTransitionLayer ||<br />
|-<br />
| 30 || [6.0.0+] RequestLaunchApplicationWithUserAndArgumentForDebug ||<br />
|-<br />
| 40 || [6.0.0+] GetAppletResourceUsageInfo ||<br />
|}<br />
<br />
== IStorage ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Open || No input. Returns an [[#IStorageAccessor]].<br />
|-<br />
| 1 || OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].<br />
|}<br />
<br />
Commands which take an IStorage as input use an unknown input u32 for that.<br />
<br />
== IStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an s64.<br />
|-<br />
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.<br />
|-<br />
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.<br />
|}<br />
<br />
== ITransferStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an output s64.<br />
|-<br />
| 1 || GetHandle || No input. Returns an output u64 and handle.<br />
|}<br />
<br />
= appletOE =<br />
This is "nn::am::service::IApplicationProxyService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#OpenApplicationProxy]] || <br />
|}<br />
<br />
This is used by all regular-applications, including [[flog]] and "Retail Interactive Display Menu". Only one session can be open for this service at a time.<br />
<br />
== OpenApplicationProxy ==<br />
Returns an [[#IApplicationProxy]]. See [[#appletAE]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).<br />
<br />
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.<br />
<br />
= idle:sys =<br />
This is "nn::idle::detail::IPolicyManagerSystem"<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAutoPowerDownEvent<br />
|-<br />
| 1 || [1.0.0-3.0.2]<br />
|-<br />
| 2 || [1.0.0-3.0.2]<br />
|-<br />
| 3 || SetHandlingContext<br />
|-<br />
| 4 || LoadAndApplySettings<br />
|-<br />
| 5 || ReportUserIsActive<br />
|}<br />
<br />
= omm =<br />
This is "nn::omm::detail::IOperationModeManager"<br />
<br />
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.<br />
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetOperationMode<br />
|-<br />
| 1 || GetOperationModeChangeEvent<br />
|-<br />
| 2 || EnableAudioVisual<br />
|-<br />
| 3 || DisableAudioVisual<br />
|-<br />
| 4 || EnterSleepAndWait<br />
|-<br />
| 5 || GetCradleStatus<br />
|-<br />
| 6 || FadeInDisplay<br />
|-<br />
| 7 || FadeOutDisplay<br />
|-<br />
| 8 || [2.0.0+] GetCradleFwVersion<br />
|-<br />
| 9 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 10 || [3.0.0+] SetOperationModePolicy<br />
|-<br />
| 11 || [3.0.0+] GetDefaultDisplayResolution<br />
|-<br />
| 12 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent<br />
|-<br />
| 13 || [3.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [3.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] NotifyHdcpApplicationExecutionStarted<br />
|-<br />
| 16 || [4.0.0+] NotifyHdcpApplicationExecutionFinished<br />
|-<br />
| 17 || [4.0.0+] NotifyHdcpApplicationDrawingStarted<br />
|-<br />
| 18 || [4.0.0+] NotifyHdcpApplicationDrawingFinished<br />
|-<br />
| 19 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|-<br />
| 20 || [4.0.0+] GetHdcpAuthenticationFailedEmulationEnabled<br />
|-<br />
| 21 || [4.0.0+] SetHdcpAuthenticationFailedEmulation<br />
|-<br />
| 22 || [4.0.0+] GetHdcpStateChangeEvent<br />
|-<br />
| 23 || [4.0.0+] GetHdcpState<br />
|-<br />
| 24 || [5.0.0+] ShowCardUpdateProcessing<br />
|-<br />
| 25 || [5.0.0+] SetApplicationCecSettingsAndNotifyChanged<br />
|}<br />
<br />
= spsm =<br />
This is "nn::spsm::detail::IPowerStateInterface".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetState<br />
|-<br />
| 1 || SleepSystemAndWaitAwake<br />
|-<br />
| 2 || <br />
|-<br />
| 3 || <br />
|-<br />
| 4 || GetNotificationMessageEventHandle<br />
|-<br />
| 5 || <br />
|-<br />
| 6 || <br />
|-<br />
| 7 || <br />
|-<br />
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence<br />
|-<br />
| 9 || ChangeHomeButtonLongPressingTime<br />
|-<br />
| 10 || <br />
|-<br />
| 11 || [1.0.0-3.0.2]<br />
|}<br />
<br />
= tcap =<br />
This is "nn::tcap::server::IManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetContinuousHighSkinTemperatureEvent<br />
|-<br />
| 1 || SetOperationMode<br />
|-<br />
| 2 || LoadAndApplySettings<br />
|}<br />
<br />
= Enums =<br />
=== AppletId ===<br />
See also [[:Category:Library Applets]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Title-id<br />
! Description<br />
|-<br />
| 0x02<br />
| 010000000000100C<br />
| "overlayDisp"<br />
|-<br />
| 0x03<br />
| 0100000000001000<br />
| "qlaunch"<br />
|-<br />
| 0x04<br />
| 0100000000001012<br />
| "starter"<br />
|-<br />
| 0x0A<br />
| 0100000000001001<br />
| "auth"<br />
|-<br />
| 0x0B<br />
| 0100000000001002<br />
| "cabinet"<br />
|-<br />
| 0x0C<br />
| 0100000000001003<br />
| "controller"<br />
|-<br />
| 0x0D<br />
| 0100000000001004<br />
| "dataErase"<br />
|-<br />
| 0x0E<br />
| 0100000000001005<br />
| "error"<br />
|-<br />
| 0x0F<br />
| 0100000000001006<br />
| "netConnect"<br />
|-<br />
| 0x10<br />
| 0100000000001007<br />
| [[Profile_Selector|"playerSelect"]]<br />
|-<br />
| 0x11<br />
| 0100000000001008<br />
| [[Software_Keyboard|"swkbd"]]<br />
|-<br />
| 0x12<br />
| 0100000000001009<br />
| "miiEdit"<br />
|-<br />
| 0x13<br />
| 010000000000100A<br />
| "LibAppletWeb" [[Internet_Browser#010000000000100A|WebApplet]] applet<br />
|-<br />
| 0x14<br />
| 010000000000100B<br />
| "LibAppletShop" [[Internet_Browser#ShopN|ShopN]] applet<br />
|-<br />
| 0x15<br />
| 010000000000100D<br />
| "photoViewer"<br />
|-<br />
| 0x16<br />
| 010000000000100E<br />
| "set"<br />
|-<br />
| 0x17<br />
| 010000000000100F<br />
| "LibAppletOff" [[Internet_Browser#Offline_Applet|Offline]] applet<br />
|-<br />
| 0x18<br />
| 0100000000001010<br />
| "LibAppletLns" [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet<br />
|-<br />
| 0x19<br />
| 0100000000001011<br />
| "LibAppletAuth" [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet<br />
|-<br />
| 0x1A<br />
| 0100000000001013<br />
| "myPage"<br />
|}<br />
<br />
=== LibraryAppletMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x0<br />
| AllForeground<br />
|-<br />
|}<br />
<br />
=== ShimKind ===<br />
This is from strings and code in the [[Internet_Browser| web-applets]].<br />
<br />
This indicates the type of web-applet.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! shimKind value<br />
! Description<br />
|-<br />
| 2<br />
| LoginApplet<br />
|-<br />
| 4<br />
| ShareApplet<br />
|-<br />
| 5<br />
| WebApplet<br />
|-<br />
| 6<br />
| WifiWebAuthApplet<br />
|-<br />
| 7<br />
| LobbyApplet<br />
|}<br />
<br />
=== NotificationMessage ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x4 || Exit requested<br />
|-<br />
| 0xF || [[#GetCurrentFocusState|FocusState]] changed<br />
|-<br />
| 0x10 || ?<br />
|-<br />
| 0x1E || OperationMode changed<br />
|-<br />
| 0x1F || PerformanceMode changed<br />
|}<br />
<br />
=== OperationMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Handheld<br />
|-<br />
| 1 || Docked<br />
|}<br />
<br />
= AppletResourceUserId =<br />
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Title_list&diff=5604
Title list
2018-11-23T06:27:40Z
<p>Misson20000: /* System Applets */ add link to profile selector page</p>
<hr />
<div>== System Modules ==<br />
Note: Unlike 3DS, Switch doesn't have a dedicated HTTP-sysmodule. Instead, processes using HTTP(S) just use libcurl + socket/ssl services.<br />
<br />
As of [[2.0.0]], the only sysmodule with a RomFS is [[HID_services|hid-sysmodule]].<br />
<br />
Decimal versions use the format:<br />
* Bit31-Bit26: Major<br />
* Bit25-Bit20: Minor<br />
* Bit19-Bit16: Micro<br />
* Bit15-Bit0: Bugfix<br />
<br />
{| class=wikitable<br />
! Title-id || Versions || Description<br />
|-<br />
| 0100000000000000 || [bundled with kernel] || [[Filesystem_services|fs]]<br />
|-<br />
| 0100000000000001 || [bundled with kernel] || [[Loader_services|ldr (Loader)]]<br />
|-<br />
| 0100000000000002 || [bundled with kernel] || [[NCM_services|ncm]]<br />
|-<br />
| 0100000000000003 || [bundled with kernel] || [[Process_Manager_services|pm (ProcessMana)]]<br />
|-<br />
| 0100000000000004 || [bundled with kernel] || [[Services_API|sm]]<br />
|-<br />
| 0100000000000005 || [bundled with kernel] || [[boot]]<br />
|-<br />
| 0100000000000006 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[USB_services|usb]]<br />
|-<br />
| 0100000000000007 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[TMA_services|tma]]<br />
|-<br />
| 0100000000000008 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Boot2|boot2]] (debug)<br/>[[Boot2|boot2.prodBoot]] (retail)<br/>[[Boot2|boot2.manuBoot]] (factory)<br />
|-<br />
| 0100000000000009 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Settings_services|settings]]<br />
|-<br />
| 010000000000000A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Bus_services|bus]]<br />
|-<br />
| 010000000000000B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Bluetooth_Driver_services|bluetooth]]<br />
|-<br />
| 010000000000000C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[BCAT_services|bcat]]<br />
|-<br />
| 010000000000000D || || dmnt (currently not present on retail devices)<br />
|-<br />
| 010000000000000E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Friend_services|friends]]<br />
|-<br />
| 010000000000000F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Network_Interface_services|nifm]]<br />
|-<br />
| 0100000000000010 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[PTM_services|ptm]]<br />
|-<br />
| 0100000000000011 || || shell (currently not present on retail devices)<br />
|-<br />
| 0100000000000012 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.3.0|v131092]] (0.0.2.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Sockets_services|bsdsockets]]<br />
|-<br />
| 0100000000000013 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[HID_services|hid]]<br />
|-<br />
| 0100000000000014 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Audio_services|audio]]<br />
|-<br />
| 0100000000000015 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Log_services|LogManager]] (debug)<br/>[[Log_services|LogManager.Prod]] (retail)<br />
|-<br />
| 0100000000000016 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[2.2.0|v196608]] (0.0.3.0)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[WLAN_services|wlan]]<br />
|-<br />
| 0100000000000017 || || cs (currently not present on retail devices)<br />
|-<br />
| 0100000000000018 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[LDN_services|ldn]]<br />
|-<br />
| 0100000000000019 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[2.3.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[NV_services|nvservices]]<br />
|-<br />
| 010000000000001A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[PCV_services|pcv]]<br />
|-<br />
| 010000000000001B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[PPC_services|ppc]]<br />
|-<br />
| 010000000000001C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Nvnflinger_services|nvnflinger]]<br />
|-<br />
| 010000000000001D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[PCIe_services|pcie]] (debug)<br/>[[PCIe_services|pcie.withoutHb]] (retail)<br />
|-<br />
| 010000000000001E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Account_services|account]]<br />
|-<br />
| 010000000000001F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[NS_Services|ns]]<br />
|-<br />
| 0100000000000020 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.2.0|v131072]] (0.0.2.0)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[NFC_services|nfc]]<br />
|-<br />
| 0100000000000021 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[PSC_services|psc]]<br />
|-<br />
| 0100000000000022 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Capture_services|capsrv]]<br />
|-<br />
| 0100000000000023 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[AM_services|am]]<br />
|-<br />
| 0100000000000024 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[SSL_services|ssl]]<br />
|-<br />
| 0100000000000025 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[NIM_services|nim]]<br />
|-<br />
| 0100000000000026 || || cec (currently not present on retail devices)<br />
|-<br />
| 0100000000000027 || || tspm (currently not present on retail devices)<br />
|-<br />
| 0100000000000028 || [bundled with kernel] || [[SPL_services|spl]]<br />
|-<br />
| 0100000000000029 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Backlight_services|lbl]]<br />
|-<br />
| 010000000000002A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[BTM_services|btm]]<br />
|-<br />
| 010000000000002B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Error_Report_services|erpt]]<br />
|-<br />
| 010000000000002C || || time (currently not present on retail devices)<br />
|-<br />
| 010000000000002D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Display_services|vi]]<br />
|-<br />
| 010000000000002E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Parental_Control_services|pctl]]<br />
|-<br />
| 010000000000002F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[NPNS_services|npns]]<br />
|-<br />
| 0100000000000030 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Error_Upload_services|eupld]]<br />
|-<br />
| 0100000000000031 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [1.0.0] arp<br/>[2.0.0+] [[Glue_services|glue]]<br />
|-<br />
| 0100000000000032 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || eclct<br />
|-<br />
| 0100000000000033 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[ETicket_services|es]]<br />
|-<br />
| 0100000000000034 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Fatal_services|fatal]]<br />
|-<br />
| 0100000000000035 || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [4.0.0+] [[GRC_services|grc]]<br />
|-<br />
| 0100000000000036 || [[2.0.0|v260]] (0.0.0.260)<br/> [[2.1.0|v65596]] (0.0.1.60)<br/> [[2.3.0|v131092]] (0.0.2.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[creport]]<br />
|-<br />
| 0100000000000037 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [3.0.0+] [[Loader_services#ldr:ro|ro]]<br />
|-<br />
| 0100000000000038 || || [[Profiler services|profiler]] (currently not present on retail devices)<br />
|-<br />
| 0100000000000039 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [3.0.0+] [[Shared_Database_services|sdb]]<br />
|-<br />
| 010000000000003A || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [4.0.0+] [[Migration_services|migration]]<br />
|-<br />
| 010000000000003B || || [[JIT_services|jit]] (currently not present on retail devices)<br />
|-<br />
| 010000000000003C || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [4.0.0+] [[Jpegdec_services|jpegdec]]<br />
|-<br />
| 010000000000003D || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [4.0.0+] [[safemode]]<br />
|-<br />
| 010000000000003E || [[6.0.0|v402653544]] (6.0.0.360) || [6.0.0+] [[OLSC_services|olsc]]<br />
|-<br />
| 010000000000003F || || dt (currently not present on retail devices)<br />
|-<br />
| 0100000000000040 || || nd (currently not present on retail devices)<br />
|}<br />
<br />
== System Data Archives ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000000800 || [[1.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || CertStore || SSL trusted certificates.<br />
|-<br />
| 0100000000000801 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || ErrorMessage || Stores the message strings for Support Error Codes. There's "/DatabaseInfo" at FS root, then the rest is stored at "/{first 4 error digits}/{last 4 error digits}/".<br />
|-<br />
| 0100000000000802 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || MiiModel ||<br />
|-<br />
| 0100000000000803 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v196628]] (0.0.3.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || BrowserDll || Mounted as "shareddata:/". Contains various browser data: emojis, OSS NROs, "buildinfo/buildinfo.dat", ...<br />
|-<br />
| 0100000000000804 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || Help || HTML resources: Open-source licenses ("Intellectual Property Notices") and seizure warnings("Health & Safety Information"). The former is stored at FS "/legallines.htdocs/"<br/> while the latter is at "/safe.htdocs/".<br />
|-<br />
| 0100000000000805 || [[1.0.0|v450]] (0.0.0.450)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || SharedFont || Chinese and Korean dictionaries.<br />
|-<br />
| 0100000000000806 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || NgWord || Bad words.<br />
|-<br />
| 0100000000000807 || [[1.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || SsidList || [[Hotspot List]].<br />
|-<br />
| 0100000000000808 || [[1.0.0|v450]] (0.0.0.450) || Dictionary || European, English, and Japanese dictionaries.<br />
|-<br />
| 0100000000000809 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v196628]] (0.0.3.20)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[2.3.0|v262164]] (0.0.4.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || SystemVersion || [[System Version Title]].<br />
|-<br />
| 010000000000080A || [[1.0.0|v450]] (0.0.0.450)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || AvatarImage || Background and Character images for user avatars (RGBA format & Yaz0 compression).<br />
|-<br />
| 010000000000080B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || LocalNews || Tutorial images and strings. Used for the offline news by the News applet.<br />
|-<br />
| 010000000000080C || [[1.0.0|v450]] (0.0.0.450) || Eula (Eura) || Accessed by [[NS_Services|NS]].<br />
|-<br />
| 010000000000080D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430) || UrlBlackList ||<br />
|-<br />
| 010000000000080E || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || TimeZoneBinary ||<br />
|-<br />
| 010000000000080F || || CertStoreCruiser (BrowserCertStore) || Currently not present on retail devices.<br />
|-<br />
| 0100000000000810 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FontNintendoExtension ||<br />
|-<br />
| 0100000000000811 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FontStandard ||<br />
|-<br />
| 0100000000000812 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FontKorean ||<br />
|-<br />
| 0100000000000813 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FontChineseTraditional ||<br />
|-<br />
| 0100000000000814 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FontChineseSimple ||<br />
|-<br />
| 0100000000000815 || || FontBfcpx || Currently not present on retail devices.<br />
|-<br />
| 0100000000000816 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[2.2.0|v196628]] (0.0.3.20)<br/> [[2.3.0|v262164]] (0.0.4.20)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.0.1|v268501002]] (4.0.1.10)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || SystemUpdate || Contains the title-listing for the associated sysupdate in the [[NCA]]-type0 .cnmt.<br />
|-<br />
| 0100000000000818 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.3.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FirmwareDebugSettings || System config.<br />
|-<br />
| 0100000000000819 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || BootImagePackage || Firmware Package A: Normal Firmware.<br />
|-<br />
| 010000000000081A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || BootImagePackageSafe || Firmware Package B: SafeMode Firmware. See [[Boot_Modes#Safe_Mode|Safe Mode]].<br />
|-<br />
| 010000000000081B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131082]] (0.0.2.10)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || BootImagePackageExFat || Firmware Package C: Normal Firmware (exFAT variant). Identical to 0100000000000819 with different FS sysmodule. Requires a device ID to download from CDN.<br />
|-<br />
| 010000000000081C || [[4.0.0|v268435656]] (4.0.0.200)<br/> [[4.1.0|v269484082]] (4.1.0.50)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || BootImagePackageExFatSafe || Firmware Package D: SafeMode Firmware (exFAT variant). Identical to 010000000000081A with different FS sysmodule. Requires a device ID to download from CDN.<br />
|-<br />
| 010000000000081D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || FatalMessage || Errdisp strings.<br />
|-<br />
| 010000000000081E || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || ControllerIcon || Controller gfx/icon data + dummy file.<br />
|-<br />
| 010000000000081F || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || PlatformConfigIcosa || Icosa system config.<br />
|-<br />
| 0100000000000820 || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || PlatformConfigCopper || Copper system config.<br />
|-<br />
| 0100000000000821 || [[2.0.0|v260]] (0.0.0.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80) || PlatformConfigHoag || Hoag system config.<br />
|-<br />
| 0100000000000822 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.2|v201457684]] (3.0.2.20)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || ControllerFirmware || Firmware binaries for peripherals (hardware within Joy-Cons/etc).<br />
|-<br />
| 0100000000000823 || [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || NgWord2 || Contains version.dat and ac_*_nx files. All of the *_nx files stored under here are compressed with gzip.<br />
|-<br />
| 0100000000000824 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || PlatformConfigIcosaMariko || IcosaMariko system config.<br />
|-<br />
| 0100000000000825 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || ApplicationBlackList || Used by [[NS_Services|NS]] for restricting application installation and updates.<br />
|-<br />
| 0100000000000826 || [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || RebootlessSystemUpdateVersion || Rebootless system update version file.<br />
|-<br />
| 0100000000000827 || [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || ContentActionTable || Used by [[AM_services|AM]].<br />
|}<br />
<br />
== System Applets ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000001000 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || qlaunch (SystemAppletMenu) || [[qlaunch]] system applet, launched by NS with TID loaded from system-config-title.<br />
|-<br />
| 0100000000001001 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || auth (LibraryAppletAuth)|| <br />
|-<br />
| 0100000000001002 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430) || cabinet (LibraryAppletCabinet) ||<br />
|-<br />
| 0100000000001003 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || controller (LibraryAppletController) || <br />
|-<br />
| 0100000000001004 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || dataErase (LibraryAppletDataErase) ||<br />
|-<br />
| 0100000000001005 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430) || error (LibraryAppletError) ||<br />
|-<br />
| 0100000000001006 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || netConnect (LibraryAppletNetConnect) || <br />
|-<br />
| 0100000000001007 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Profile Selector|playerSelect (LibraryAppletPlayerSelect)]] || <br />
|-<br />
| 0100000000001008 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131132]] (0.0.2.60)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || [[Software Keyboard|swkbd (LibraryAppletSwkbd)]] || <br />
|-<br />
| 0100000000001009 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || miiEdit (LibraryAppletMiiEdit) || <br />
|-<br />
| 010000000000100A || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || web (LibraryAppletWeb) || [[Internet_Browser|WebApplet]].<br />
|-<br />
| 010000000000100B || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || shop (LibraryAppletShop) || [[Internet_Browser|ShopN]] applet.<br />
|-<br />
| 010000000000100C || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || overlayDisp (OverlayApplet) || TID is loaded by NS from system-config-title.<br />
|-<br />
| 010000000000100D || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || photoViewer (LibraryAppletPhotoViewer)<br />
|-<br />
| 010000000000100E || || set (LibraryAppletSet) || Currently not present on retail devices.<br />
|-<br />
| 010000000000100F || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || offlineWeb (LibraryAppletOfflineWeb) || [[Internet_Browser|Offline]] web-applet.<br />
|-<br />
| 0100000000001010 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || loginShare (LibraryAppletLoginShare) || [[Internet_Browser|Whitelisted]] applet. (LoginApplet+ShareApplet+LobbyApplet)<br />
|-<br />
| 0100000000001011 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[2.1.0|v131162]] (0.0.2.90)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[3.0.1|v201392178]] (3.0.1.50)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || wifiWebAuth (LibraryAppletWifiWebAuth) || [[Internet_Browser|WifiWebAuth]] applet.<br />
|-<br />
| 0100000000001012 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || starter (DummyStarter) ||<br />
|-<br />
| 0100000000001013 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[5.0.1|v335609886]] (5.0.1.30)<br/> [[5.0.2|v335675432]] (5.0.2.40)<br/> [[5.1.0|v336592976]] (5.1.0.80)<br/> [[6.0.0|v402653544]] (6.0.0.360) || myPage (LibraryAppletMyPage) ||<br />
|-<br />
| 0100000000001014 || || PlayReport || Currently not present on retail devices.<br />
|-<br />
| 0100000000001015 || [[1.0.0|v450]] (0.0.0.450)<br/> [[2.0.0|v65796]] (0.0.1.260)<br/> [[3.0.0|v201327002]] (3.0.0.410)<br/> [[4.0.0|v268435656]] (4.0.0.200)<br/> [[5.0.0|v335544750]] (5.0.0.430)<br/> [[6.0.0|v402653544]] (6.0.0.360) || MaintenanceMenu || Initial applet displayed when booting into [[Recovery_Mode]]. This title is launched by [[NS_Services|NS]] when a state flag is val1 indicating that this title should be launched instead of the above "SystemAppletMenu" title.<br />
|-<br />
| 0100000000001016 || || || TitleID used by [[NS_Services|NS]] when a certain flag is non-zero, in multiple places including around code using string "application_install". This title doesn't seem to exist for retail.<br />
|-<br />
| 010000000000101B || || DummyECApplet (DummyAppletShop) || Currently not present on retail devices.<br />
|-<br />
| 010000000000101D || || encounter || Currently not present on retail devices.<br />
|-<br />
| 010000000000101E || || || This title is referenced by [5.0.0+] [[NIM_services|NIM]] when it accesses the [[Network#pearljam|pearljam]] server, but does not exist on retail systems currently.<br />
|-<br />
| 0100000000001020 || || story || Currently not present on retail devices.<br />
|-<br />
| 0100000000001FFF || || EndOceanProgramId || Placeholder for the last valid applet ID.<br />
|}<br />
<br />
== System Debug Applets ==<br />
Note: No 01000000000020XX titles exist on retail systems.<br />
<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000002000 || || A2BoardFunction ||<br />
|-<br />
| 0100000000002001 || || A3Wireless ||<br />
|-<br />
| 0100000000002002 || || C1LcdAndKey (LcdAndKey) || LCD/Keyboard testing.<br />
|-<br />
| 0100000000002003 || || C2UsbHpmic (UsbAndHPMicTest) || USB and audio testing.<br />
|-<br />
| 0100000000002004 || || C3Aging (Aging) || Graphics/Framerate testing.<br />
|-<br />
| 0100000000002005 || || C4SixAxis (6axisTest) || Sixaxis (controller peripheral) testing.<br />
|-<br />
| 0100000000002006 || || C5Wireless (AssembledWireless) || Wireless testing.<br />
|-<br />
| 0100000000002007 || || C7FinalCheck (FinalCheck) ||<br />
|-<br />
| 010000000000203F || || AutoCapture ||<br />
|-<br />
| 0100000000002040 || || DevMenuCommandSystem ||<br />
|-<br />
| 0100000000002041 || || recovery ||<br />
|-<br />
| 0100000000002042 || || DevMenuSystem ||<br />
|-<br />
| 0100000000002044 || || HB-TBIntegrationTest ||<br />
|-<br />
| 010000000000204D || || BackupSaveData ||<br />
|-<br />
| 010000000000204E || || A4BoardCalWriti (BoardCalWriting) || Writes calibration data to NAND.<br />
|-<br />
| 0100000000002054 || || RepairSslCertificate ||<br />
|-<br />
| 0100000000002055 || || GameCardWriter ||<br />
|-<br />
| 0100000000002056 || || UsbPdTestTool ||<br />
|-<br />
| 0100000000002057 || || RepairDeletePctl ||<br />
|-<br />
| 0100000000002058 || || RepairBackup ||<br />
|-<br />
| 0100000000002059 || || RepairRestore ||<br />
|-<br />
| 010000000000205A || || RepairAccountTransfer ||<br />
|-<br />
| 010000000000205B || || RepairAutoNetworkUpdater ||<br />
|-<br />
| 010000000000205C || || RefurbishReset ||<br />
|-<br />
| 010000000000205D || || RepairAssistCup ||<br />
|-<br />
| 010000000000205E || || RepairPairingCutter ||<br />
|-<br />
| 0100000000002064 || || DevMenu ||<br />
|-<br />
| 0100000000002065 || || DevMenuApp ||<br />
|-<br />
| 0100000000002066 || || GetGameCardAsicInfo ||<br />
|-<br />
| 0100000000002068 || || NfpDebugToolSystem ||<br />
|-<br />
| 0100000000002069 || || AlbumSynchronizer ||<br />
|-<br />
| 0100000000002071 || || SnapShotDumper || Used by [[NS_Services|NS]].<br />
|-<br />
| 0100000000002073 || || DevMenuSystemApp ||<br />
|-<br />
| 0100000000002099 || || DevOverlayDisp ||<br />
|-<br />
| 010000000000209A || || NandVerifier ||<br />
|-<br />
| 010000000000209B || || GpuCoreDumper || Used by [[AM_services|AM]].<br />
|-<br />
| 010000000000209C || || TestApplication (TestApplicationLauncher) || Factory qlaunch replacement, used to launch other tests.<br />
|-<br />
| 010000000000209E || || HelloWorld ||<br />
|-<br />
| 01000000000020A0 || || XcieWriter ||<br />
|-<br />
| 01000000000020A1 || || GpuOverrunNotifier ||<br />
|-<br />
| 01000000000020C8 || || NfpDebugTool ||<br />
|-<br />
| 01000000000020CA || || NoftWriter ||<br />
|-<br />
| 01000000000020D0 || || BcatSystemDebugTool ||<br />
|-<br />
| 01000000000020D1 || || DevSafeModeUpdater ||<br />
|-<br />
| 01000000000020D3 || || ControllerConnectionAnalyzer ||<br />
|-<br />
| 01000000000020D4 || || DevKitUpdater ||<br />
|-<br />
| 01000000000020D6 || || RepairTimeReviser ||<br />
|-<br />
| 01000000000020D7 || || RepairReinitializeFuelGauge ||<br />
|-<br />
| 01000000000020DA || || RepairAbortMigration ||<br />
|-<br />
| 01000000000020E1 || || AlbumDownloader ||<br />
|-<br />
| 01000000000020E3 || || FuelGaugeDumper ||<br />
|-<br />
| 01000000000020E4 || || UnsafeExtract ||<br />
|-<br />
| 01000000000020E5 || || UnsafeEngrave ||<br />
|-<br />
| 01000000000020EE || || BluetoothSettingTool ||<br />
|-<br />
| 01000000000020F0 || || ApplicationInstallerRomfs (devmenuapp_installer) || Launched by [[Boot2|boot2]].<br />
|-<br />
| 0100000000002100 || || DevMenuLotcheckDownloader ||<br />
|-<br />
| 0100000000002101 || || DevMenuCommand ||<br />
|-<br />
| 0100000000002102 || || ExportPartition ||<br />
|-<br />
| 0100000000002103 || || [[Factory Setup|SystemInitializer]] (SystemInitializ) ||<br />
|-<br />
| 0100000000002104 || || SystemUpdaterHostFs ||<br />
|-<br />
| 0100000000002105 || || WriteToStorage ||<br />
|-<br />
| 0100000000002106 || || [[Factory Setup|CalWriter]] (CalWriterManu) ||<br />
|-<br />
| 0100000000002107 || || SettingsManager ||<br />
|-<br />
| 0100000000002109 || || testBuildSystemIris ||<br />
|-<br />
| 010000000000210A || || SystemUpdater ||<br />
|-<br />
| 010000000000210B || || nvnflinger_util ||<br />
|-<br />
| 010000000000210C || || ControllerFirmwareUpdater ||<br />
|-<br />
| 010000000000210D || || testBuildSystemNintendoWare (Test) ||<br />
|-<br />
| 0100000000002110 || || TestSaveDataCreator ||<br />
|-<br />
| 0100000000002111 || || C9LcdSpker ||<br />
|-<br />
| 0100000000002114 || || RankTurn ||<br />
|-<br />
| 0100000000002116 || || BleTestTool ||<br />
|-<br />
| 010000000000211A || || PreinstallAppWriter ||<br />
|-<br />
| 010000000000211C || || ControllerSerialFlashTool ||<br />
|-<br />
| 010000000000211D || || ControllerFlashWriter ||<br />
|-<br />
| 0100000000002120 || || ControllerTestApp ||<br />
|-<br />
| 0100000000002121 || || HidInspectionTool ||<br />
|-<br />
| 0100000000002124 || || BatteryCyclesEditor ||<br />
|-<br />
| 0100000000002125 || || UsbFirmwareUpdater ||<br />
|-<br />
| 0100000000002126 || || PalmaSerialCodeTool ||<br />
|-<br />
| 0100000000002127 || || renderdoccmd ||<br />
|}<br />
<br />
== System Debug Modules ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 0100000000003002 || || DummyProcess ||<br />
|-<br />
| 0100000000003003 || || DebugMonitor0 ||<br />
|-<br />
| 0100000000003004 || || SystemHelloWorld ||<br />
|}<br />
<br />
== Target Tools ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 1000000000000001 || || [[Factory Setup|SystemInitializer]] (SystemInitializ) ||<br />
|-<br />
| 1000000000000004 || || [[Factory Setup|CalWriter]] (CalWriterManu) ||<br />
|-<br />
| 1000000000000005 || || DevMenuCommand ||<br />
|-<br />
| 1000000000000006 || || SettingsManager ||<br />
|-<br />
| 1000000000000007 || || ApplicationLauncer ||<br />
|-<br />
| 100000000000000B || || SnapShotDumper ||<br />
|-<br />
| 100000000000000C || || SystemUpdater ||<br />
|-<br />
| 100000000000000E || || ControllerFirmwareUpdater ||<br />
|}<br />
<br />
== Factory System Modules ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 010000000000B120 || || nvdbgsvc || Launched by maintenance mode [[Boot2|boot2.manuBoot]], but not present in retail or [[Factory Setup|factory firmware]].<br />
|-<br />
| 010000000000B14A || || [[Manu Services|manu]] || Installed in [[Factory Setup|factory firmware]].<br />
|-<br />
| 010000000000B14B || || ManuUsbLoopBack ||<br />
|-<br />
| 010000000000B1B8 || || DevFwdbgHbPackage ||<br />
|-<br />
| 010000000000B1B9 || || DevFwdbgUsbPackage ||<br />
|-<br />
| 010000000000B1BA || || ProdFwdbgPackage ||<br />
|-<br />
| 010000000000B22A || || scs ||<br />
|-<br />
| 010000000000B22B || || ControllerFirmwareDebug ||<br />
|-<br />
| 010000000000B240 || || htc ||<br />
|-<br />
| 010000000000C600 || || BdkSample01 ||<br />
|-<br />
| 010000000000C601 || || BdkSample02 ||<br />
|-<br />
| 010000000000C602 || || BdkSample03 ||<br />
|-<br />
| 010000000000C603 || || BdkSample04 ||<br />
|}<br />
<br />
== System Applications ==<br />
{| class=wikitable<br />
! Title-id || Versions || Name || Notes<br />
|-<br />
| 01008BB00013C000 || [[1.0.0|v450]] (0.0.0.450)<br/> [[4.0.0|v268435656]] (4.0.0.200) || [[flog]] || NES emulator.<br />
|-<br />
| 0100069000078000 || v0 || RetailInteractiveDisplayMenu (DevQuestMenu) || This title can be launched by [[qlaunch]], but is not normally installed on retail systems.<br />
|-<br />
| 010000B003486000 || || AudioUsbMicDebugTool ||<br />
|-<br />
| 0100458001E04000 || || BcatTestApp01 ||<br />
|-<br />
| 0100F910020F8000 || || BcatTestApp02 ||<br />
|-<br />
| 0100B7D0020FC000 || || BcatTestApp03 ||<br />
|-<br />
| 0100132002100000 || || BcatTestApp04 ||<br />
|-<br />
| 0100935002116000 || || BcatTestApp05 ||<br />
|-<br />
| 0100DA4002130000 || || BcatTestApp06 ||<br />
|-<br />
| 0100B0F002104000 || || BcatTestApp07 ||<br />
|-<br />
| 010051E002132000 || || BcatTestApp08 ||<br />
|-<br />
| 01004CB0015C8000 || || BcatTestApp09 ||<br />
|-<br />
| 01009720015CA000 || || BcatTestApp10 ||<br />
|-<br />
| 01002F20015C6000 || || BcatTestApp11 ||<br />
|-<br />
| 0100204001F90000 || || BcatTestApp12 ||<br />
|-<br />
| 0100060001F92000 || || BcatTestApp13 ||<br />
|-<br />
| 0100C26001F94000 || || BcatTestApp14 ||<br />
|-<br />
| 0100462001F96000 || || BcatTestApp15 ||<br />
|-<br />
| 01005C6001F98000 || || BcatTestApp16 ||<br />
|-<br />
| 0100810002D5A000 || || ShopMonitaringTool ||<br />
|}<br />
<br />
== eShop Games / Applications ==<br />
Note: Nintendo Switch game and application titles follow a higher entropy TitleID scheme than previous generation consoles. <br/> Refer to the [[Title_list/Games|Games List]] for more information.</div>
Misson20000
https://switchbrew.org/w/index.php?title=Profile_Selector&diff=5603
Profile Selector
2018-11-23T06:03:13Z
<p>Misson20000: add to Library Applets category</p>
<hr />
<div>This is the UX presented when launching a game that allows the user to select a user.<br />
<br />
The profile selector expects a two [[AM_services#IStorage|IStorage]] inputs and a single [[AM_services#IStorage|IStorage]] output.<br />
<br />
The first IStorage is identical to [[Software_Keyboard#Common_Arguments|Common Arguments]] from swkbd.<br />
<br />
== UserSelectionConfig ==<br />
<br />
This has size 0xA0 and seems to only affect the UI display. <br />
Typical value is all zero with byte 0x96 equal to 0x01<br />
<br />
== Result == <br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes<br />
|-<br />
| 0x0 || 0x8 || Result (0 = Success, 2 = Failure)<br />
|-<br />
| 0x8 || 0x10 || UUID of selected user<br />
|-<br />
| 0x18 || || End of Struct<br />
|}<br />
<br />
== Usage == <br />
<br />
Homebrew should push a common arguments struct and the typical UserSelectionConfig struct as well.<br />
After pushing in the data and calling start, homebrew should wait upon the PopOutDataEvent and then pop a single IStorage to obtain the result structure described above.<br />
<br />
[[Category:Library Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Applet_Manager_services&diff=5602
Applet Manager services
2018-11-23T06:02:38Z
<p>Misson20000: /* AppletId */ add link to profile selector</p>
<hr />
<div>AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.<br />
<br />
Contains multiple raw images, with at least the following: "NN_OMM_CHARGING_BIN_{begin|end}"(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.<br />
<br />
= appletAE =<br />
This is "nn::am::service::IAllSystemAppletProxiesService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].<br />
|-<br />
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].<br />
|-<br />
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].<br />
|-<br />
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].<br />
|-<br />
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.<br />
<br />
This service is used by all system non-regular-applications.<br />
<br />
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):<br />
* "qlaunch": SystemApplet<br />
* "overlay": OverlayApplet<br />
* "starter": SystemApplication<br />
* "maintenance": SystemApplet<br />
* All others: LibraryApplet<br />
<br />
== OpenLibraryAppletProxy ==<br />
Returns an [[#ILibraryAppletProxy]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.<br />
<br />
Official user-processes use the same retry loop with this as the other Open*Proxy commands.<br />
<br />
== ISystemAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].<br />
|-<br />
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].<br />
|-<br />
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IHomeMenuFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || RequestToGetForeground || <br />
|-<br />
| 11 || LockForeground ||<br />
|-<br />
| 12 || UnlockForeground || <br />
|-<br />
| 20 || PopFromGeneralChannel || Returns an [[#IStorage]].<br />
|-<br />
| 21 || GetPopFromGeneralChannelEvent ||<br />
|-<br />
| 30 || GetHomeButtonWriterLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetWriterLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
==== ILockAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || TryLock<br />
|-<br />
| 2 || Unlock<br />
|-<br />
| 3 || GetEvent<br />
|}<br />
<br />
=== IGlobalStateController ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || RequestToEnterSleep<br />
|-<br />
| 1 || EnterSleep<br />
|-<br />
| 2 || StartSleepSequence<br />
|-<br />
| 3 || StartShutdownSequence<br />
|-<br />
| 4 || StartRebootSequence<br />
|-<br />
| 10 || LoadAndApplyIdlePolicySettings<br />
|-<br />
| 11 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime<br />
|-<br />
| 13 || [2.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [2.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|}<br />
<br />
=== IApplicationCreator ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 1 || PopLaunchRequestedApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || CreateSystemApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 100 || PopFloatingApplicationForDevelopment || Returns an [[#IApplicationAccessor]].<br />
|}<br />
<br />
==== IApplicationAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit || <br />
|-<br />
| 25 || Terminate || <br />
|-<br />
| 30 || GetResult || <br />
|-<br />
| 101 || RequestForApplicationToGetForeground || <br />
|-<br />
| 110 || TerminateAllLibraryApplets || <br />
|-<br />
| 111 || AreAnyLibraryAppletsLeft || <br />
|-<br />
| 112 || GetCurrentLibraryApplet || Returns an [[#IAppletAccessor]].<br />
|-<br />
| 120 || GetApplicationId || <br />
|-<br />
| 121 || PushLaunchParameter || Takes an [[#IStorage]].<br />
|-<br />
| 122 || GetApplicationControlProperty || <br />
|-<br />
| 123 || [2.0.0+] GetApplicationLaunchProperty || <br />
|-<br />
| 124 || [6.0.0+] GetApplicationLaunchRequestInfo || <br />
|-<br />
| 130 || [6.0.0+] SetUsers || <br />
|-<br />
| 131 || [6.0.0+] CheckRightsEnvironmentAvailable || <br />
|-<br />
| 132 || [6.0.0+] GetNsRightsEnvironmentHandle || <br />
|-<br />
| 140 || [6.0.0+] GetDesirableUids || <br />
|-<br />
| 150 || [6.0.0+] ReportApplicationExitTimeout || <br />
|}<br />
<br />
===== IAppletAccessor =====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAppletStateChangedEvent<br />
|-<br />
| 1 || IsCompleted<br />
|-<br />
| 10 || Start<br />
|-<br />
| 20 || RequestExit<br />
|-<br />
| 25 || Terminate<br />
|-<br />
| 30 || GetResult<br />
|}<br />
<br />
== ILibraryAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || OpenLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== ILibraryAppletSelfAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || PopInData || Returns an [[#IStorage]].<br />
|-<br />
| 1 || PushOutData || Takes an [[#IStorage]].<br />
|-<br />
| 2 || PopInteractiveInData || Returns an [[#IStorage]].<br />
|-<br />
| 3 || PushInteractiveOutData || Takes an [[#IStorage]].<br />
|-<br />
| 5 || GetPopInDataEvent ||<br />
|-<br />
| 6 || GetPopInteractiveInDataEvent ||<br />
|-<br />
| 10 || [[#ExitProcessAndReturn]] ||<br />
|-<br />
| 11 || [[#GetLibraryAppletInfo]] ||<br />
|-<br />
| 12 || GetMainAppletIdentityInfo ||<br />
|-<br />
| 13 || CanUseApplicationCore ||<br />
|-<br />
| 14 || GetCallerAppletIdentityInfo ||<br />
|-<br />
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||<br />
|-<br />
| 16 || [2.0.0+] GetMainAppletStorageId ||<br />
|-<br />
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||<br />
|-<br />
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||<br />
|-<br />
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||<br />
|-<br />
| 20 || PopExtraStorage || Returns an [[#IStorage]].<br />
|-<br />
| 25 || GetPopExtraStorageEvent ||<br />
|-<br />
| 30 || UnpopInData || Takes an [[#IStorage]].<br />
|-<br />
| 31 || UnpopExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||<br />
|-<br />
| 50 || [2.0.0+] ReportVisibleError ||<br />
|-<br />
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||<br />
|-<br />
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||<br />
|-<br />
| 80 || [6.0.0+] RequestExitToSelf ||<br />
|-<br />
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||<br />
|-<br />
| 100 || [4.0.0+] [[#CreateGameMovieTrimmer]] ||<br />
|-<br />
| 101 || [6.0.0+] ReserveResourceForMovieOperation ||<br />
|-<br />
| 102 || [6.0.0+] UnreserveResourceForMovieOperation ||<br />
|-<br />
| 110 || [6.0.0+] GetMainAppletAvailableUsers ||<br />
|}<br />
<br />
==== ExitProcessAndReturn ====<br />
No input/output.<br />
<br />
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).<br />
<br />
==== GetLibraryAppletInfo ====<br />
No input. Returns an u64 LibraryAppletInfo: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].<br />
<br />
==== GetMainAppletApplicationDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== CreateGameMovieTrimmer ====<br />
Takes an input u64 and handle, returns a GRC [[GRC_services#IGameMovieTrimmer|IGameMovieTrimmer]].<br />
<br />
== IOverlayAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IOverlayFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || BeginToWatchShortHomeButtonMessage<br />
|-<br />
| 1 || EndToWatchShortHomeButtonMessage<br />
|-<br />
| 2 || GetApplicationIdForLogo<br />
|-<br />
| 3 || SetGpuTimeSliceBoost<br />
|-<br />
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled<br />
|-<br />
| 5 || [2.0.0+] TerminateApplicationAndSetReason<br />
|-<br />
| 6 || [2.0.0+] SetScreenShotPermissionGlobally<br />
|-<br />
| 10 || [6.0.0+] StartShutdownSequenceForOverlay<br />
|-<br />
| 11 || [6.0.0+] StartRebootSequenceForOverlay<br />
|-<br />
| 101 || [6.0.0+] BeginToObserveHidInputForDevelop<br />
|}<br />
<br />
== IApplicationProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IApplicationFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || PopLaunchParameter || Returns an [[#IStorage]].<br />
|-<br />
| 10 || CreateApplicationAndPushAndRequestToStart || Takes an [[#IStorage]].<br />
|-<br />
| 11 || [2.0.0+] CreateApplicationAndPushAndRequestToStartForQuest || Takes an [[#IStorage]].<br />
|-<br />
| 12 || [4.0.0+] CreateApplicationAndRequestToStart || <br />
|-<br />
| 13 || [4.0.0+] CreateApplicationAndRequestToStartForQuest || <br />
|-<br />
| 20 || EnsureSaveData ||<br />
|-<br />
| 21 || [[#GetDesiredLanguage]] ||<br />
|-<br />
| 22 || [[#SetTerminateResult]] ||<br />
|-<br />
| 23 || GetDisplayVersion ||<br />
|-<br />
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||<br />
|-<br />
| 25 || [2.0.0+] ExtendSaveData ||<br />
|-<br />
| 26 || [2.0.0+] GetSaveDataSize ||<br />
|-<br />
| 27 || [5.0.0+] CreateCacheStorage ||<br />
|-<br />
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 31 || EndBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 32 || [[#BeginBlockingHomeButton]] ||<br />
|-<br />
| 33 || EndBlockingHomeButton ||<br />
|-<br />
| 40 || [[#NotifyRunning]] ||<br />
|-<br />
| 50 || [2.0.0+] GetPseudoDeviceId ||<br />
|-<br />
| 60 || [2.0.0+] SetMediaPlaybackStateForApplication ||<br />
|-<br />
| 65 || [3.0.0+] [[#IsGamePlayRecordingSupported]] ||<br />
|-<br />
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||<br />
|-<br />
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||<br />
|-<br />
| 68 || [4.0.0+] RequestFlushGamePlayingMovieForDebug || <br />
|-<br />
| 70 || [3.0.0+] RequestToShutdown ||<br />
|-<br />
| 71 || [3.0.0+] RequestToReboot ||<br />
|-<br />
| 80 || [4.0.0+] ExitAndRequestToShowThanksMessage || <br />
|-<br />
| 90 || [4.0.0+] EnableApplicationCrashReport || <br />
|-<br />
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || <br />
|-<br />
| 101 || [5.0.0+] SetApplicationCopyrightImage || <br />
|-<br />
| 102 || [5.0.0+] SetApplicationCopyrightVisibility || <br />
|-<br />
| 110 || [5.0.0+] QueryApplicationPlayStatistics || <br />
|-<br />
| 111 || [6.0.0+] QueryApplicationPlayStatisticsByUid || <br />
|-<br />
| 120 || [5.0.0+] ExecuteProgram || <br />
|-<br />
| 121 || [5.0.0+] ClearUserChannel || <br />
|-<br />
| 122 || [5.0.0+] UnpopToUserChannel || <br />
|-<br />
| 123 || [6.0.0+] GetPreviousProgramIndex || <br />
|-<br />
| 124 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash || <br />
|-<br />
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || <br />
|-<br />
| 1000 || [5.0.0+] [[#CreateMovieMaker]] || <br />
|-<br />
| 1001 || [5.0.0+] [[#PrepareForJit]] ||<br />
|}<br />
<br />
The BOTW game uses this GamePlayRecording functionality from the main-nso "nninitStartup" function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):<br />
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.<br />
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.<br />
* Closes the TransferMemory handle, + TransferMemory cleanup.<br />
* Uses [[#SetGamePlayRecordingState]] with value 0x1.<br />
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].<br />
<br />
==== GetDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== SetTerminateResult ====<br />
Takes an input u32 '''Result''', no output.<br />
<br />
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.<br />
<br />
==== BeginBlockingHomeButton ====<br />
Takes an input s64 nanoseconds, no output. The input nanoseconds can be zero.<br />
<br />
==== NotifyRunning ====<br />
Takes no input. Returns an output u8, which is ignored by official user-processes.<br />
<br />
==== IsGamePlayRecordingSupported ====<br />
No input, returns an output u8 bool.<br />
<br />
==== InitializeGamePlayRecording ====<br />
Takes a TransferMemory handle and an u64 for the size of the TransferMemory. The size must match 0x6000000 otherwise an error is returned.<br />
<br />
==== SetGamePlayRecordingState ====<br />
Takes an input u32. 0 = disable/pause, 1 = enable/restart.<br />
<br />
==== CreateMovieMaker ====<br />
Takes an input u64 and handle, returns an [[#IMovieMaker]].<br />
<br />
==== PrepareForJit ====<br />
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.<br />
<br />
=== IMovieMaker ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetGrcMovieMaker]]<br />
|-<br />
| 1 || [[#GetLayerHandle]]<br />
|}<br />
<br />
==== GetGrcMovieMaker ====<br />
No input, returns a GRC [[GRC_services|IMovieMaker]].<br />
<br />
==== GetLayerHandle ====<br />
No input, returns an output u64.<br />
<br />
== ILibraryAppletCreator ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
=== ILibraryAppletAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit ||<br />
|-<br />
| 25 || Terminate ||<br />
|-<br />
| 30 || GetResult ||<br />
|-<br />
| 50 || SetOutOfFocusApplicationSuspendingEnabled ||<br />
|-<br />
| 100 || PushInData || Takes an [[#IStorage]].<br />
|-<br />
| 101 || PopOutData || Returns an [[#IStorage]].<br />
|-<br />
| 102 || PushExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 103 || PushInteractiveInData || Takes an [[#IStorage]].<br />
|-<br />
| 104 || PopInteractiveOutData || Returns an [[#IStorage]].<br />
|-<br />
| 105 || GetPopOutDataEvent ||<br />
|-<br />
| 106 || GetPopInteractiveOutDataEvent ||<br />
|-<br />
| 110 || NeedsToExitProcess ||<br />
|-<br />
| 120 || GetLibraryAppletInfo ||<br />
|-<br />
| 150 || RequestForAppletToGetForeground ||<br />
|-<br />
| 160 || [2.0.0+] GetIndirectLayerConsumerHandle ||<br />
|}<br />
<br />
== ICommonStateGetter ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetEventHandle]] ||<br />
|-<br />
| 1 || [[#ReceiveMessage]] ||<br />
|-<br />
| 2 || GetThisAppletKind ||<br />
|-<br />
| 3 || AllowToEnterSleep ||<br />
|-<br />
| 4 || DisallowToEnterSleep ||<br />
|-<br />
| 5 || [[#GetOperationMode]] ||<br />
|-<br />
| 6 || [[#GetPerformanceMode]] ||<br />
|-<br />
| 7 || GetCradleStatus ||<br />
|-<br />
| 8 || GetBootMode ||<br />
|-<br />
| 9 || [[#GetCurrentFocusState]] ||<br />
|-<br />
| 10 || RequestToAcquireSleepLock ||<br />
|-<br />
| 11 || ReleaseSleepLock ||<br />
|-<br />
| 12 || ReleaseSleepLockTransiently ||<br />
|-<br />
| 13 || GetAcquiredSleepLockEvent ||<br />
|-<br />
| 20 || PushToGeneralChannel || Takes an [[#IStorage]].<br />
|-<br />
| 30 || GetHomeButtonReaderLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetReaderLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 40 || [2.0.0+] GetCradleFwVersion ||<br />
|-<br />
| 50 || [3.0.0+] IsVrModeEnabled ||<br />
|-<br />
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||<br />
|-<br />
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||<br />
|-<br />
| 55 || [3.0.0+] IsInControllerFirmwareUpdateSection ||<br />
|-<br />
| 60 || [3.0.0+] GetDefaultDisplayResolution ||<br />
|-<br />
| 61 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent ||<br />
|-<br />
| 62 || [4.0.0+] GetHdcpAuthenticationState || <br />
|-<br />
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||<br />
|-<br />
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||<br />
|-<br />
| 65 || [6.0.0+] GetApplicationIdByContentActionName ||<br />
|-<br />
| 66 || [6.0.0+] SetCpuAndGpuBoostMode ||<br />
|-<br />
| 80 || [6.0.0+] PerformSystemButtonPressingIfInFocus ||<br />
|}<br />
<br />
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).<br />
<br />
=== GetEventHandle ===<br />
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].<br />
<br />
=== ReceiveMessage ===<br />
No input. Returns an output u32. Error 0x680 indicates no message is available.<br />
<br />
=== GetOperationMode ===<br />
No input. Returns an output u8 for the current [[#OperationMode]].<br />
<br />
=== GetPerformanceMode ===<br />
No input. Returns an output u32 for the current PerformanceMode.<br />
<br />
=== GetCurrentFocusState ===<br />
No input. Returns an output u8:<br />
<br />
* 1: In focus.<br />
* 2/3: Out of focus(running in "background").<br />
<br />
=== SetVrModeEnabled ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
Updates internal AM state fields. If the new state doesn't match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.<br />
<br />
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the 'close' button. When this button is pressed, the console resets the vrMode to false.<br />
<br />
== ISelfController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#Exit]]<br />
|-<br />
| 1 || [[#LockExit]]<br />
|-<br />
| 2 || [[#UnlockExit]]<br />
|-<br />
| 3 || [2.0.0+] [[#EnterFatalSection]]<br />
|-<br />
| 4 || [2.0.0+] [[#LeaveFatalSection]]<br />
|-<br />
| 9 || GetLibraryAppletLaunchableEvent<br />
|-<br />
| 10 || [[#SetScreenShotPermission]]<br />
|-<br />
| 11 || [[#SetOperationModeChangedNotification]]<br />
|-<br />
| 12 || [[#SetPerformanceModeChangedNotification]]<br />
|-<br />
| 13 || [[#SetFocusHandlingMode]]<br />
|-<br />
| 14 || SetRestartMessageEnabled<br />
|-<br />
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]<br />
|-<br />
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]<br />
|-<br />
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection<br />
|-<br />
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage<br />
|-<br />
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]<br />
|-<br />
| 20 || [4.0.0+] SetDesirableKeyboardLayout<br />
|-<br />
| 40 || [[#CreateManagedDisplayLayer]]<br />
|-<br />
| 41 || [4.0.0+] IsSystemBufferSharingEnabled<br />
|-<br />
| 42 || [4.0.0+] GetSystemSharedLayerHandle<br />
|-<br />
| 43 || [6.0.0+] GetSystemSharedBufferHandle<br />
|-<br />
| 50 || SetHandlesRequestToDisplay<br />
|-<br />
| 51 || ApproveToDisplay<br />
|-<br />
| 60 || OverrideAutoSleepTimeAndDimmingTime<br />
|-<br />
| 61 || SetMediaPlaybackState<br />
|-<br />
| 62 || SetIdleTimeDetectionExtension<br />
|-<br />
| 63 || GetIdleTimeDetectionExtension<br />
|-<br />
| 64 || SetInputDetectionSourceSet<br />
|-<br />
| 65 || [2.0.0+] ReportUserIsActive<br />
|-<br />
| 66 || [3.0.0+] GetCurrentIlluminance<br />
|-<br />
| 67 || [3.0.0+] IsIlluminanceAvailable<br />
|-<br />
| 68 || [4.0.0+] SetAutoSleepDisabled<br />
|-<br />
| 69 || [4.0.0+] IsAutoSleepDisabled<br />
|-<br />
| 70 || [5.0.0+] ReportMultimediaError<br />
|-<br />
| 71 || [6.0.0+] GetCurrentIlluminanceEx<br />
|-<br />
| 80 || [5.0.0+] SetWirelessPriorityMode<br />
|-<br />
| 90 || [6.0.0+] GetAccumulatedSuspendedTickValue<br />
|-<br />
| 91 || [6.0.0+] GetAccumulatedSuspendedTickChangedEvent<br />
|}<br />
<br />
=== Exit ===<br />
No input/output.<br />
<br />
=== LockExit ===<br />
No input/output.<br />
<br />
Locks exit process of pressing X to close in HOME Menu for an application or HOME button for an applet. When locked, it will show the "waiting for software to be closed dialog" until UnlockExit is called or a 15 seconds timeout (when the latter occurs, the process is force-terminated).<br />
<br />
=== UnlockExit ===<br />
No input/output.<br />
<br />
Unlocks exit process, if LockExit was previously used.<br />
<br />
=== EnterFatalSection ===<br />
No input/output.<br />
<br />
=== LeaveFatalSection ===<br />
No input/output.<br />
<br />
=== SetScreenShotPermission ===<br />
Takes an input s32. No output.<br />
<br />
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.<br />
<br />
=== SetOperationModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetPerformanceModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetFocusHandlingMode ===<br />
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.<br />
<br />
=== SetScreenShotAppletIdentityInfo ===<br />
Takes an input 0x10-byte struct AppletIdentityInfo. No output.<br />
<br />
=== SetOutOfFocusSuspendingEnabled ===<br />
Takes an input u8(bool flag). No output.<br />
<br />
=== SetScreenShotImageOrientation ===<br />
Takes an input s32. No output.<br />
<br />
=== CreateManagedDisplayLayer ===<br />
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].<br />
<br />
== IWindowController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateWindow || Returns an IWindow object.<br />
|-<br />
| 1 || [[#GetAppletResourceUserId]] ||<br />
|-<br />
| 2 || [6.0.0+] GetAppletResourceUserIdOfCallerApplet ||<br />
|-<br />
| 10 || [[#AcquireForegroundRights]] ||<br />
|-<br />
| 11 || ReleaseForegroundRights ||<br />
|-<br />
| 12 || RejectToChangeIntoBackground ||<br />
|}<br />
<br />
=== GetAppletResourceUserId ===<br />
Returns an output u64: [[#AppletResourceUserId]].<br />
<br />
=== AcquireForegroundRights ===<br />
No input/output.<br />
<br />
== IAudioController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || SetExpectedMasterVolume<br />
|-<br />
| 1 || GetMainAppletExpectedMasterVolume<br />
|-<br />
| 2 || GetLibraryAppletExpectedMasterVolume<br />
|-<br />
| 3 || ChangeMainAppletMasterVolume<br />
|-<br />
| 4 || SetTransparentVolumeRate<br />
|}<br />
<br />
GetMainAppletExpectedMasterVolume/SetExpectedMasterVolume are used for saving/restoring state for LibraryApplet launching, with SetExpectedMasterVolume being used with new state prior to launching a LibraryApplet. With official sw these applet funcs are used directly in the main-codebin.<br />
<br />
== IDisplayController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetLastForegroundCaptureImage<br />
|-<br />
| 1 || UpdateLastForegroundCaptureImage<br />
|-<br />
| 2 || GetLastApplicationCaptureImage<br />
|-<br />
| 3 || GetCallerAppletCaptureImage<br />
|-<br />
| 4 || UpdateCallerAppletCaptureImage<br />
|-<br />
| 5 || GetLastForegroundCaptureImageEx<br />
|-<br />
| 6 || GetLastApplicationCaptureImageEx<br />
|-<br />
| 7 || GetCallerAppletCaptureImageEx<br />
|-<br />
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer<br />
|-<br />
| 9 || [5.0.0+] CopyBetweenCaptureBuffers<br />
|-<br />
| 10 || AcquireLastApplicationCaptureBuffer<br />
|-<br />
| 11 || ReleaseLastApplicationCaptureBuffer<br />
|-<br />
| 12 || AcquireLastForegroundCaptureBuffer<br />
|-<br />
| 13 || ReleaseLastForegroundCaptureBuffer<br />
|-<br />
| 14 || AcquireCallerAppletCaptureBuffer<br />
|-<br />
| 15 || ReleaseCallerAppletCaptureBuffer<br />
|-<br />
| 16 || AcquireLastApplicationCaptureBufferEx<br />
|-<br />
| 17 || AcquireLastForegroundCaptureBufferEx<br />
|-<br />
| 18 || AcquireCallerAppletCaptureBufferEx<br />
|-<br />
| 20 || [2.0.0+] ClearCaptureBuffer<br />
|-<br />
| 21 || [2.0.0+] ClearAppletTransitionBuffer<br />
|-<br />
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer<br />
|-<br />
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer<br />
|-<br />
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer<br />
|-<br />
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer<br />
|-<br />
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer<br />
|-<br />
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer<br />
|-<br />
| 28 || [6.0.0+] TakeScreenShotOfOwnLayerEx<br />
|}<br />
<br />
== ILibraryAppletCreator==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns a [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#|IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
== ISystemAppletControllerForDebug ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || RequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
== IProcessWindingController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetLaunchReason]] ||<br />
|-<br />
| 11 || OpenCallingLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 21 || PushContext || Takes an [[#IStorage]].<br />
|-<br />
| 22 || PopContext || Returns an [[#IStorage]].<br />
|-<br />
| 23 || CancelWindingReservation ||<br />
|-<br />
| 30 || WindAndDoReserved ||<br />
|-<br />
| 40 || ReserveToStartAndWaitAndUnwindThis || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 41 || [4.0.0+] ReserveToStartAndWait ||<br />
|}<br />
<br />
=== GetLaunchReason ===<br />
No input. Returns an u32 AppletProcessLaunchReason.<br />
<br />
Used by LibraryApplets.<br />
<br />
== IDebugFunctions ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || NotifyMessageToHomeMenuForDebug ||<br />
|-<br />
| 1 || OpenMainApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || EmulateButtonEvent ||<br />
|-<br />
| 20 || InvalidateTransitionLayer ||<br />
|-<br />
| 30 || [6.0.0+] RequestLaunchApplicationWithUserAndArgumentForDebug ||<br />
|-<br />
| 40 || [6.0.0+] GetAppletResourceUsageInfo ||<br />
|}<br />
<br />
== IStorage ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Open || No input. Returns an [[#IStorageAccessor]].<br />
|-<br />
| 1 || OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].<br />
|}<br />
<br />
Commands which take an IStorage as input use an unknown input u32 for that.<br />
<br />
== IStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an s64.<br />
|-<br />
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.<br />
|-<br />
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.<br />
|}<br />
<br />
== ITransferStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an output s64.<br />
|-<br />
| 1 || GetHandle || No input. Returns an output u64 and handle.<br />
|}<br />
<br />
= appletOE =<br />
This is "nn::am::service::IApplicationProxyService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#OpenApplicationProxy]] || <br />
|}<br />
<br />
This is used by all regular-applications, including [[flog]] and "Retail Interactive Display Menu". Only one session can be open for this service at a time.<br />
<br />
== OpenApplicationProxy ==<br />
Returns an [[#IApplicationProxy]]. See [[#appletAE]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).<br />
<br />
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.<br />
<br />
= idle:sys =<br />
This is "nn::idle::detail::IPolicyManagerSystem"<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAutoPowerDownEvent<br />
|-<br />
| 1 || [1.0.0-3.0.2]<br />
|-<br />
| 2 || [1.0.0-3.0.2]<br />
|-<br />
| 3 || SetHandlingContext<br />
|-<br />
| 4 || LoadAndApplySettings<br />
|-<br />
| 5 || ReportUserIsActive<br />
|}<br />
<br />
= omm =<br />
This is "nn::omm::detail::IOperationModeManager"<br />
<br />
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.<br />
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetOperationMode<br />
|-<br />
| 1 || GetOperationModeChangeEvent<br />
|-<br />
| 2 || EnableAudioVisual<br />
|-<br />
| 3 || DisableAudioVisual<br />
|-<br />
| 4 || EnterSleepAndWait<br />
|-<br />
| 5 || GetCradleStatus<br />
|-<br />
| 6 || FadeInDisplay<br />
|-<br />
| 7 || FadeOutDisplay<br />
|-<br />
| 8 || [2.0.0+] GetCradleFwVersion<br />
|-<br />
| 9 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 10 || [3.0.0+] SetOperationModePolicy<br />
|-<br />
| 11 || [3.0.0+] GetDefaultDisplayResolution<br />
|-<br />
| 12 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent<br />
|-<br />
| 13 || [3.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [3.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] NotifyHdcpApplicationExecutionStarted<br />
|-<br />
| 16 || [4.0.0+] NotifyHdcpApplicationExecutionFinished<br />
|-<br />
| 17 || [4.0.0+] NotifyHdcpApplicationDrawingStarted<br />
|-<br />
| 18 || [4.0.0+] NotifyHdcpApplicationDrawingFinished<br />
|-<br />
| 19 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|-<br />
| 20 || [4.0.0+] GetHdcpAuthenticationFailedEmulationEnabled<br />
|-<br />
| 21 || [4.0.0+] SetHdcpAuthenticationFailedEmulation<br />
|-<br />
| 22 || [4.0.0+] GetHdcpStateChangeEvent<br />
|-<br />
| 23 || [4.0.0+] GetHdcpState<br />
|-<br />
| 24 || [5.0.0+] ShowCardUpdateProcessing<br />
|-<br />
| 25 || [5.0.0+] SetApplicationCecSettingsAndNotifyChanged<br />
|}<br />
<br />
= spsm =<br />
This is "nn::spsm::detail::IPowerStateInterface".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetState<br />
|-<br />
| 1 || SleepSystemAndWaitAwake<br />
|-<br />
| 2 || <br />
|-<br />
| 3 || <br />
|-<br />
| 4 || GetNotificationMessageEventHandle<br />
|-<br />
| 5 || <br />
|-<br />
| 6 || <br />
|-<br />
| 7 || <br />
|-<br />
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence<br />
|-<br />
| 9 || ChangeHomeButtonLongPressingTime<br />
|-<br />
| 10 || <br />
|-<br />
| 11 || [1.0.0-3.0.2]<br />
|}<br />
<br />
= tcap =<br />
This is "nn::tcap::server::IManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetContinuousHighSkinTemperatureEvent<br />
|-<br />
| 1 || SetOperationMode<br />
|-<br />
| 2 || LoadAndApplySettings<br />
|}<br />
<br />
= Enums =<br />
=== AppletId ===<br />
See also [[:Category:Library Applets]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Title-id<br />
! Description<br />
|-<br />
| 0x02<br />
| 010000000000100C<br />
| "overlayDisp"<br />
|-<br />
| 0x03<br />
| 0100000000001000<br />
| "qlaunch"<br />
|-<br />
| 0x04<br />
| 0100000000001012<br />
| "starter"<br />
|-<br />
| 0x0A<br />
| 0100000000001001<br />
| "auth"<br />
|-<br />
| 0x0B<br />
| 0100000000001002<br />
| "cabinet"<br />
|-<br />
| 0x0C<br />
| 0100000000001003<br />
| "controller"<br />
|-<br />
| 0x0D<br />
| 0100000000001004<br />
| "dataErase"<br />
|-<br />
| 0x0E<br />
| 0100000000001005<br />
| "error"<br />
|-<br />
| 0x0F<br />
| 0100000000001006<br />
| "netConnect"<br />
|-<br />
| 0x10<br />
| 0100000000001007<br />
| [[Profile_Selector|"playerSelect"]]<br />
|-<br />
| 0x11<br />
| 0100000000001008<br />
| [[Software_Keyboard|"swkbd"]]<br />
|-<br />
| 0x12<br />
| 0100000000001009<br />
| "miiEdit"<br />
|-<br />
| 0x13<br />
| 010000000000100A<br />
| "LibAppletWeb" [[Internet_Browser#010000000000100A|WebApplet]] applet<br />
|-<br />
| 0x14<br />
| 010000000000100B<br />
| "LibAppletShop" [[Internet_Browser#ShopN|ShopN]] applet<br />
|-<br />
| 0x15<br />
| 010000000000100D<br />
| "photoViewer"<br />
|-<br />
| 0x16<br />
| 010000000000100E<br />
| "set"<br />
|-<br />
| 0x17<br />
| 010000000000100F<br />
| "LibAppletOff" [[Internet_Browser#Offline_Applet|Offline]] applet<br />
|-<br />
| 0x18<br />
| 0100000000001010<br />
| "LibAppletLns" [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet<br />
|-<br />
| 0x19<br />
| 0100000000001011<br />
| "LibAppletAuth" [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet<br />
|-<br />
| 0x1A<br />
| 0100000000001013<br />
| "myPage"<br />
|}<br />
<br />
=== LibraryAppletMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x0<br />
| AllForeground<br />
|-<br />
|}<br />
<br />
=== ShimKind ===<br />
This is from strings and code in the [[Internet_Browser| web-applets]].<br />
<br />
This indicates the type of web-applet.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! shimKind value<br />
! Description<br />
|-<br />
| 2<br />
| LoginApplet<br />
|-<br />
| 4<br />
| ShareApplet<br />
|-<br />
| 5<br />
| WebApplet<br />
|-<br />
| 6<br />
| WifiWebAuthApplet<br />
|-<br />
| 7<br />
| LobbyApplet<br />
|}<br />
<br />
=== NotificationMessage ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x4 || Exit requested<br />
|-<br />
| 0xF || [[#GetCurrentFocusState|FocusState]] changed<br />
|-<br />
| 0x10 || ?<br />
|-<br />
| 0x1E || OperationMode changed<br />
|-<br />
| 0x1F || PerformanceMode changed<br />
|}<br />
<br />
=== OperationMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Handheld<br />
|-<br />
| 1 || Docked<br />
|}<br />
<br />
= AppletResourceUserId =<br />
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Category:Library_Applets&diff=5600
Category:Library Applets
2018-11-23T06:00:42Z
<p>Misson20000: add nav link to applet ID list on am services page</p>
<hr />
<div>See [[AM services#AppletId]] for a list of applet IDs.</div>
Misson20000
https://switchbrew.org/w/index.php?title=Applet_Manager_services&diff=5599
Applet Manager services
2018-11-23T05:59:46Z
<p>Misson20000: /* AppletId */ add some nav links</p>
<hr />
<div>AM (Applet Manager) provides services for interacting with system applets while abstracting several aspects of power and operation management.<br />
<br />
Contains multiple raw images, with at least the following: "NN_OMM_CHARGING_BIN_{begin|end}"(charging icon), low-battery icon, and the Nintendo Switch logo displayed during system boot.<br />
<br />
= appletAE =<br />
This is "nn::am::service::IAllSystemAppletProxiesService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 100 || OpenSystemAppletProxy || Returns an [[#ISystemAppletProxy]].<br />
|-<br />
| 200 || OpenLibraryAppletProxyOld ([1.0.0-2.3.0] OpenLibraryAppletProxy) || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 201 || [3.0.0+] [[#OpenLibraryAppletProxy]] || Returns an [[#ILibraryAppletProxy]].<br />
|-<br />
| 300 || OpenOverlayAppletProxy || Returns an [[#IOverlayAppletProxy]].<br />
|-<br />
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].<br />
|-<br />
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].<br />
|-<br />
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.<br />
<br />
This service is used by all system non-regular-applications.<br />
<br />
The 01000000000010XX system [[Title_list|titles]] use the following applet types(above Open{type}Proxy commands):<br />
* "qlaunch": SystemApplet<br />
* "overlay": OverlayApplet<br />
* "starter": SystemApplication<br />
* "maintenance": SystemApplet<br />
* All others: LibraryApplet<br />
<br />
== OpenLibraryAppletProxy ==<br />
Returns an [[#ILibraryAppletProxy]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID,a process copy-handle(cur-proc handle alias), and an 0x80-byte type-0x15 input buffer '''AppletAttribute'''.<br />
<br />
Official user-processes use the same retry loop with this as the other Open*Proxy commands.<br />
<br />
== ISystemAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetHomeMenuFunctions || Returns an [[#IHomeMenuFunctions]].<br />
|-<br />
| 21 || GetGlobalStateController || Returns an [[#IGlobalStateController]].<br />
|-<br />
| 22 || GetApplicationCreator || Returns an [[#IApplicationCreator]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IHomeMenuFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 10 || RequestToGetForeground || <br />
|-<br />
| 11 || LockForeground ||<br />
|-<br />
| 12 || UnlockForeground || <br />
|-<br />
| 20 || PopFromGeneralChannel || Returns an [[#IStorage]].<br />
|-<br />
| 21 || GetPopFromGeneralChannelEvent ||<br />
|-<br />
| 30 || GetHomeButtonWriterLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetWriterLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 100 || [6.0.0+] PopRequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
==== ILockAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 1 || TryLock<br />
|-<br />
| 2 || Unlock<br />
|-<br />
| 3 || GetEvent<br />
|}<br />
<br />
=== IGlobalStateController ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || RequestToEnterSleep<br />
|-<br />
| 1 || EnterSleep<br />
|-<br />
| 2 || StartSleepSequence<br />
|-<br />
| 3 || StartShutdownSequence<br />
|-<br />
| 4 || StartRebootSequence<br />
|-<br />
| 10 || LoadAndApplyIdlePolicySettings<br />
|-<br />
| 11 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 12 || [2.0.0+] SetDefaultHomeButtonLongPressTime<br />
|-<br />
| 13 || [2.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [2.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|}<br />
<br />
=== IApplicationCreator ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 1 || PopLaunchRequestedApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || CreateSystemApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 100 || PopFloatingApplicationForDevelopment || Returns an [[#IApplicationAccessor]].<br />
|}<br />
<br />
==== IApplicationAccessor ====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit || <br />
|-<br />
| 25 || Terminate || <br />
|-<br />
| 30 || GetResult || <br />
|-<br />
| 101 || RequestForApplicationToGetForeground || <br />
|-<br />
| 110 || TerminateAllLibraryApplets || <br />
|-<br />
| 111 || AreAnyLibraryAppletsLeft || <br />
|-<br />
| 112 || GetCurrentLibraryApplet || Returns an [[#IAppletAccessor]].<br />
|-<br />
| 120 || GetApplicationId || <br />
|-<br />
| 121 || PushLaunchParameter || Takes an [[#IStorage]].<br />
|-<br />
| 122 || GetApplicationControlProperty || <br />
|-<br />
| 123 || [2.0.0+] GetApplicationLaunchProperty || <br />
|-<br />
| 124 || [6.0.0+] GetApplicationLaunchRequestInfo || <br />
|-<br />
| 130 || [6.0.0+] SetUsers || <br />
|-<br />
| 131 || [6.0.0+] CheckRightsEnvironmentAvailable || <br />
|-<br />
| 132 || [6.0.0+] GetNsRightsEnvironmentHandle || <br />
|-<br />
| 140 || [6.0.0+] GetDesirableUids || <br />
|-<br />
| 150 || [6.0.0+] ReportApplicationExitTimeout || <br />
|}<br />
<br />
===== IAppletAccessor =====<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAppletStateChangedEvent<br />
|-<br />
| 1 || IsCompleted<br />
|-<br />
| 10 || Start<br />
|-<br />
| 20 || RequestExit<br />
|-<br />
| 25 || Terminate<br />
|-<br />
| 30 || GetResult<br />
|}<br />
<br />
== ILibraryAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || OpenLibraryAppletSelfAccessor || Returns an [[#ILibraryAppletSelfAccessor]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== ILibraryAppletSelfAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || PopInData || Returns an [[#IStorage]].<br />
|-<br />
| 1 || PushOutData || Takes an [[#IStorage]].<br />
|-<br />
| 2 || PopInteractiveInData || Returns an [[#IStorage]].<br />
|-<br />
| 3 || PushInteractiveOutData || Takes an [[#IStorage]].<br />
|-<br />
| 5 || GetPopInDataEvent ||<br />
|-<br />
| 6 || GetPopInteractiveInDataEvent ||<br />
|-<br />
| 10 || [[#ExitProcessAndReturn]] ||<br />
|-<br />
| 11 || [[#GetLibraryAppletInfo]] ||<br />
|-<br />
| 12 || GetMainAppletIdentityInfo ||<br />
|-<br />
| 13 || CanUseApplicationCore ||<br />
|-<br />
| 14 || GetCallerAppletIdentityInfo ||<br />
|-<br />
| 15 || [2.0.0+] GetMainAppletApplicationControlProperty ||<br />
|-<br />
| 16 || [2.0.0+] GetMainAppletStorageId ||<br />
|-<br />
| 17 || [2.0.0+] GetCallerAppletIdentityInfoStack ||<br />
|-<br />
| 18 || [4.0.0+] GetNextReturnDestinationAppletIdentityInfo ||<br />
|-<br />
| 19 || [4.0.0+] GetDesirableKeyboardLayout ||<br />
|-<br />
| 20 || PopExtraStorage || Returns an [[#IStorage]].<br />
|-<br />
| 25 || GetPopExtraStorageEvent ||<br />
|-<br />
| 30 || UnpopInData || Takes an [[#IStorage]].<br />
|-<br />
| 31 || UnpopExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 40 || [2.0.0+] GetIndirectLayerProducerHandle ||<br />
|-<br />
| 50 || [2.0.0+] ReportVisibleError ||<br />
|-<br />
| 51 || [4.0.0+] ReportVisibleErrorWithErrorContext ||<br />
|-<br />
| 60 || [4.0.0+] [[#GetMainAppletApplicationDesiredLanguage]] ||<br />
|-<br />
| 80 || [6.0.0+] RequestExitToSelf ||<br />
|-<br />
| 90 || [5.0.0+] CreateApplicationAndPushAndRequestToLaunch ||<br />
|-<br />
| 100 || [4.0.0+] [[#CreateGameMovieTrimmer]] ||<br />
|-<br />
| 101 || [6.0.0+] ReserveResourceForMovieOperation ||<br />
|-<br />
| 102 || [6.0.0+] UnreserveResourceForMovieOperation ||<br />
|-<br />
| 110 || [6.0.0+] GetMainAppletAvailableUsers ||<br />
|}<br />
<br />
==== ExitProcessAndReturn ====<br />
No input/output.<br />
<br />
Exits the LibraryApplet and returns to running the title which launched this LibraryApplet ([[qlaunch]] for example).<br />
<br />
==== GetLibraryAppletInfo ====<br />
No input. Returns an u64 LibraryAppletInfo: +0 u32 is [[#AppletId]], +4 u32 is [[#LibraryAppletMode]].<br />
<br />
==== GetMainAppletApplicationDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== CreateGameMovieTrimmer ====<br />
Takes an input u64 and handle, returns a GRC [[GRC_services#IGameMovieTrimmer|IGameMovieTrimmer]].<br />
<br />
== IOverlayAppletProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetOverlayFunctions || Returns an [[#IOverlayFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IOverlayFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || BeginToWatchShortHomeButtonMessage<br />
|-<br />
| 1 || EndToWatchShortHomeButtonMessage<br />
|-<br />
| 2 || GetApplicationIdForLogo<br />
|-<br />
| 3 || SetGpuTimeSliceBoost<br />
|-<br />
| 4 || [2.0.0+] SetAutoSleepTimeAndDimmingTimeEnabled<br />
|-<br />
| 5 || [2.0.0+] TerminateApplicationAndSetReason<br />
|-<br />
| 6 || [2.0.0+] SetScreenShotPermissionGlobally<br />
|-<br />
| 10 || [6.0.0+] StartShutdownSequenceForOverlay<br />
|-<br />
| 11 || [6.0.0+] StartRebootSequenceForOverlay<br />
|-<br />
| 101 || [6.0.0+] BeginToObserveHidInputForDevelop<br />
|}<br />
<br />
== IApplicationProxy ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetCommonStateGetter || Returns an [[#ICommonStateGetter]].<br />
|-<br />
| 1 || GetSelfController || Returns an [[#ISelfController]].<br />
|-<br />
| 2 || GetWindowController || Returns an [[#IWindowController]].<br />
|-<br />
| 3 || GetAudioController || Returns an [[#IAudioController]].<br />
|-<br />
| 4 || GetDisplayController || Returns an [[#IDisplayController]].<br />
|-<br />
| 10 || GetProcessWindingController || Returns an [[#IProcessWindingController]].<br />
|-<br />
| 11 || GetLibraryAppletCreator || Returns an [[#ILibraryAppletCreator]].<br />
|-<br />
| 20 || GetApplicationFunctions || Returns an [[#IApplicationFunctions]].<br />
|-<br />
| 1000 || GetDebugFunctions || Returns an [[#IDebugFunctions]].<br />
|}<br />
<br />
=== IApplicationFunctions ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || PopLaunchParameter || Returns an [[#IStorage]].<br />
|-<br />
| 10 || CreateApplicationAndPushAndRequestToStart || Takes an [[#IStorage]].<br />
|-<br />
| 11 || [2.0.0+] CreateApplicationAndPushAndRequestToStartForQuest || Takes an [[#IStorage]].<br />
|-<br />
| 12 || [4.0.0+] CreateApplicationAndRequestToStart || <br />
|-<br />
| 13 || [4.0.0+] CreateApplicationAndRequestToStartForQuest || <br />
|-<br />
| 20 || EnsureSaveData ||<br />
|-<br />
| 21 || [[#GetDesiredLanguage]] ||<br />
|-<br />
| 22 || [[#SetTerminateResult]] ||<br />
|-<br />
| 23 || GetDisplayVersion ||<br />
|-<br />
| 24 || [2.0.0+] GetLaunchStorageInfoForDebug ||<br />
|-<br />
| 25 || [2.0.0+] ExtendSaveData ||<br />
|-<br />
| 26 || [2.0.0+] GetSaveDataSize ||<br />
|-<br />
| 27 || [5.0.0+] CreateCacheStorage ||<br />
|-<br />
| 30 || BeginBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 31 || EndBlockingHomeButtonShortAndLongPressed ||<br />
|-<br />
| 32 || [[#BeginBlockingHomeButton]] ||<br />
|-<br />
| 33 || EndBlockingHomeButton ||<br />
|-<br />
| 40 || [[#NotifyRunning]] ||<br />
|-<br />
| 50 || [2.0.0+] GetPseudoDeviceId ||<br />
|-<br />
| 60 || [2.0.0+] SetMediaPlaybackStateForApplication ||<br />
|-<br />
| 65 || [3.0.0+] [[#IsGamePlayRecordingSupported]] ||<br />
|-<br />
| 66 || [3.0.0+] [[#InitializeGamePlayRecording]] ||<br />
|-<br />
| 67 || [3.0.0+] [[#SetGamePlayRecordingState]] ||<br />
|-<br />
| 68 || [4.0.0+] RequestFlushGamePlayingMovieForDebug || <br />
|-<br />
| 70 || [3.0.0+] RequestToShutdown ||<br />
|-<br />
| 71 || [3.0.0+] RequestToReboot ||<br />
|-<br />
| 80 || [4.0.0+] ExitAndRequestToShowThanksMessage || <br />
|-<br />
| 90 || [4.0.0+] EnableApplicationCrashReport || <br />
|-<br />
| 100 || [5.0.0+] InitializeApplicationCopyrightFrameBuffer || <br />
|-<br />
| 101 || [5.0.0+] SetApplicationCopyrightImage || <br />
|-<br />
| 102 || [5.0.0+] SetApplicationCopyrightVisibility || <br />
|-<br />
| 110 || [5.0.0+] QueryApplicationPlayStatistics || <br />
|-<br />
| 111 || [6.0.0+] QueryApplicationPlayStatisticsByUid || <br />
|-<br />
| 120 || [5.0.0+] ExecuteProgram || <br />
|-<br />
| 121 || [5.0.0+] ClearUserChannel || <br />
|-<br />
| 122 || [5.0.0+] UnpopToUserChannel || <br />
|-<br />
| 123 || [6.0.0+] GetPreviousProgramIndex || <br />
|-<br />
| 124 || [6.0.0+] EnableApplicationAllThreadDumpOnCrash || <br />
|-<br />
| 500 || [5.0.0+] StartContinuousRecordingFlushForDebug || <br />
|-<br />
| 1000 || [5.0.0+] [[#CreateMovieMaker]] || <br />
|-<br />
| 1001 || [5.0.0+] [[#PrepareForJit]] ||<br />
|}<br />
<br />
The BOTW game uses this GamePlayRecording functionality from the main-nso "nninitStartup" function, with size 0x6000000(96MiB). The official GamePlayRecording-enable code does the following(this will panic on any failure):<br />
* [[SVC|Creates]] TransferMemory using the input buffer and size, with permissions=0.<br />
* Uses [[#InitializeGamePlayRecording]] with the TransferMemory.<br />
* Closes the TransferMemory handle, + TransferMemory cleanup.<br />
* Uses [[#SetGamePlayRecordingState]] with value 0x1.<br />
This GamePlayRecording functionality presumably enables the video-recording usable starting with [[4.0.0]].<br />
<br />
==== GetDesiredLanguage ====<br />
No input, returns an output [[Settings_services#LanguageCode|LanguageCode]].<br />
<br />
==== SetTerminateResult ====<br />
Takes an input u32 '''Result''', no output.<br />
<br />
For example, in some cases official apps use this with [[Error_codes|error]] 0x2A2 then uses svcBreak.<br />
<br />
==== BeginBlockingHomeButton ====<br />
Takes an input s64 nanoseconds, no output. The input nanoseconds can be zero.<br />
<br />
==== NotifyRunning ====<br />
Takes no input. Returns an output u8, which is ignored by official user-processes.<br />
<br />
==== IsGamePlayRecordingSupported ====<br />
No input, returns an output u8 bool.<br />
<br />
==== InitializeGamePlayRecording ====<br />
Takes a TransferMemory handle and an u64 for the size of the TransferMemory. The size must match 0x6000000 otherwise an error is returned.<br />
<br />
==== SetGamePlayRecordingState ====<br />
Takes an input u32. 0 = disable/pause, 1 = enable/restart.<br />
<br />
==== CreateMovieMaker ====<br />
Takes an input u64 and handle, returns an [[#IMovieMaker]].<br />
<br />
==== PrepareForJit ====<br />
Takes no input. Launches title 010000000000003B (currently not present on retail systems) if some context variable is set.<br />
<br />
=== IMovieMaker ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#GetGrcMovieMaker]]<br />
|-<br />
| 1 || [[#GetLayerHandle]]<br />
|}<br />
<br />
==== GetGrcMovieMaker ====<br />
No input, returns a GRC [[GRC_services|IMovieMaker]].<br />
<br />
==== GetLayerHandle ====<br />
No input, returns an output u64.<br />
<br />
== ILibraryAppletCreator ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
=== ILibraryAppletAccessor ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetAppletStateChangedEvent ||<br />
|-<br />
| 1 || IsCompleted ||<br />
|-<br />
| 10 || Start ||<br />
|-<br />
| 20 || RequestExit ||<br />
|-<br />
| 25 || Terminate ||<br />
|-<br />
| 30 || GetResult ||<br />
|-<br />
| 50 || SetOutOfFocusApplicationSuspendingEnabled ||<br />
|-<br />
| 100 || PushInData || Takes an [[#IStorage]].<br />
|-<br />
| 101 || PopOutData || Returns an [[#IStorage]].<br />
|-<br />
| 102 || PushExtraStorage || Takes an [[#IStorage]].<br />
|-<br />
| 103 || PushInteractiveInData || Takes an [[#IStorage]].<br />
|-<br />
| 104 || PopInteractiveOutData || Returns an [[#IStorage]].<br />
|-<br />
| 105 || GetPopOutDataEvent ||<br />
|-<br />
| 106 || GetPopInteractiveOutDataEvent ||<br />
|-<br />
| 110 || NeedsToExitProcess ||<br />
|-<br />
| 120 || GetLibraryAppletInfo ||<br />
|-<br />
| 150 || RequestForAppletToGetForeground ||<br />
|-<br />
| 160 || [2.0.0+] GetIndirectLayerConsumerHandle ||<br />
|}<br />
<br />
== ICommonStateGetter ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetEventHandle]] ||<br />
|-<br />
| 1 || [[#ReceiveMessage]] ||<br />
|-<br />
| 2 || GetThisAppletKind ||<br />
|-<br />
| 3 || AllowToEnterSleep ||<br />
|-<br />
| 4 || DisallowToEnterSleep ||<br />
|-<br />
| 5 || [[#GetOperationMode]] ||<br />
|-<br />
| 6 || [[#GetPerformanceMode]] ||<br />
|-<br />
| 7 || GetCradleStatus ||<br />
|-<br />
| 8 || GetBootMode ||<br />
|-<br />
| 9 || [[#GetCurrentFocusState]] ||<br />
|-<br />
| 10 || RequestToAcquireSleepLock ||<br />
|-<br />
| 11 || ReleaseSleepLock ||<br />
|-<br />
| 12 || ReleaseSleepLockTransiently ||<br />
|-<br />
| 13 || GetAcquiredSleepLockEvent ||<br />
|-<br />
| 20 || PushToGeneralChannel || Takes an [[#IStorage]].<br />
|-<br />
| 30 || GetHomeButtonReaderLockAccessor || Returns an [[#ILockAccessor]].<br />
|-<br />
| 31 || [2.0.0+] GetReaderLockAccessorEx || Returns an [[#ILockAccessor]].<br />
|-<br />
| 40 || [2.0.0+] GetCradleFwVersion ||<br />
|-<br />
| 50 || [3.0.0+] IsVrModeEnabled ||<br />
|-<br />
| 51 || [3.0.0+] [[#SetVrModeEnabled]] ||<br />
|-<br />
| 52 || [4.0.0+] SetLcdBacklighOffEnabled ||<br />
|-<br />
| 55 || [3.0.0+] IsInControllerFirmwareUpdateSection ||<br />
|-<br />
| 60 || [3.0.0+] GetDefaultDisplayResolution ||<br />
|-<br />
| 61 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent ||<br />
|-<br />
| 62 || [4.0.0+] GetHdcpAuthenticationState || <br />
|-<br />
| 63 || [4.0.0+] GetHdcpAuthenticationStateChangeEvent ||<br />
|-<br />
| 64 || [5.0.0+] SetTvPowerStateMatchingMode ||<br />
|-<br />
| 65 || [6.0.0+] GetApplicationIdByContentActionName ||<br />
|-<br />
| 66 || [6.0.0+] SetCpuAndGpuBoostMode ||<br />
|-<br />
| 80 || [6.0.0+] PerformSystemButtonPressingIfInFocus ||<br />
|}<br />
<br />
Officially notification messages are handled by the application itself, not sdk-nso in ExeFS. Official apps call code in sdk-nso which basically uses svcWaitSynchronization with the event from [[#GetEventHandle]] to check whether a message is available, then if so it uses [[#ReceiveMessage]]. The actual handling for message IDs is done in the app itself(see [[#NotificationMessage]]).<br />
<br />
=== GetEventHandle ===<br />
No input. Returns an output event handle. This is signalled when a message is available with [[#ReceiveMessage]].<br />
<br />
=== ReceiveMessage ===<br />
No input. Returns an output u32. Error 0x680 indicates no message is available.<br />
<br />
=== GetOperationMode ===<br />
No input. Returns an output u8 for the current [[#OperationMode]].<br />
<br />
=== GetPerformanceMode ===<br />
No input. Returns an output u32 for the current PerformanceMode.<br />
<br />
=== GetCurrentFocusState ===<br />
No input. Returns an output u8:<br />
<br />
* 1: In focus.<br />
* 2/3: Out of focus(running in "background").<br />
<br />
=== SetVrModeEnabled ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
Updates internal AM state fields. If the new state doesn't match the previous state, this uses the [[Backlight_services]] {Disable/Enable}VrMode command depending on whether flag={disable/enable}.<br />
<br />
When the VrMode is set to true, the console shows a screen rendered like vr asking the user to move his face away and hit the 'close' button. When this button is pressed, the console resets the vrMode to false.<br />
<br />
== ISelfController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || [[#Exit]]<br />
|-<br />
| 1 || [[#LockExit]]<br />
|-<br />
| 2 || [[#UnlockExit]]<br />
|-<br />
| 3 || [2.0.0+] [[#EnterFatalSection]]<br />
|-<br />
| 4 || [2.0.0+] [[#LeaveFatalSection]]<br />
|-<br />
| 9 || GetLibraryAppletLaunchableEvent<br />
|-<br />
| 10 || [[#SetScreenShotPermission]]<br />
|-<br />
| 11 || [[#SetOperationModeChangedNotification]]<br />
|-<br />
| 12 || [[#SetPerformanceModeChangedNotification]]<br />
|-<br />
| 13 || [[#SetFocusHandlingMode]]<br />
|-<br />
| 14 || SetRestartMessageEnabled<br />
|-<br />
| 15 || [2.0.0+] [[#SetScreenShotAppletIdentityInfo]]<br />
|-<br />
| 16 || [2.0.0+] [[#SetOutOfFocusSuspendingEnabled]]<br />
|-<br />
| 17 || [3.0.0+] SetControllerFirmwareUpdateSection<br />
|-<br />
| 18 || [3.0.0+] SetRequiresCaptureButtonShortPressedMessage<br />
|-<br />
| 19 || [3.0.0+] [[#SetScreenShotImageOrientation]]<br />
|-<br />
| 20 || [4.0.0+] SetDesirableKeyboardLayout<br />
|-<br />
| 40 || [[#CreateManagedDisplayLayer]]<br />
|-<br />
| 41 || [4.0.0+] IsSystemBufferSharingEnabled<br />
|-<br />
| 42 || [4.0.0+] GetSystemSharedLayerHandle<br />
|-<br />
| 43 || [6.0.0+] GetSystemSharedBufferHandle<br />
|-<br />
| 50 || SetHandlesRequestToDisplay<br />
|-<br />
| 51 || ApproveToDisplay<br />
|-<br />
| 60 || OverrideAutoSleepTimeAndDimmingTime<br />
|-<br />
| 61 || SetMediaPlaybackState<br />
|-<br />
| 62 || SetIdleTimeDetectionExtension<br />
|-<br />
| 63 || GetIdleTimeDetectionExtension<br />
|-<br />
| 64 || SetInputDetectionSourceSet<br />
|-<br />
| 65 || [2.0.0+] ReportUserIsActive<br />
|-<br />
| 66 || [3.0.0+] GetCurrentIlluminance<br />
|-<br />
| 67 || [3.0.0+] IsIlluminanceAvailable<br />
|-<br />
| 68 || [4.0.0+] SetAutoSleepDisabled<br />
|-<br />
| 69 || [4.0.0+] IsAutoSleepDisabled<br />
|-<br />
| 70 || [5.0.0+] ReportMultimediaError<br />
|-<br />
| 71 || [6.0.0+] GetCurrentIlluminanceEx<br />
|-<br />
| 80 || [5.0.0+] SetWirelessPriorityMode<br />
|-<br />
| 90 || [6.0.0+] GetAccumulatedSuspendedTickValue<br />
|-<br />
| 91 || [6.0.0+] GetAccumulatedSuspendedTickChangedEvent<br />
|}<br />
<br />
=== Exit ===<br />
No input/output.<br />
<br />
=== LockExit ===<br />
No input/output.<br />
<br />
Locks exit process of pressing X to close in HOME Menu for an application or HOME button for an applet. When locked, it will show the "waiting for software to be closed dialog" until UnlockExit is called or a 15 seconds timeout (when the latter occurs, the process is force-terminated).<br />
<br />
=== UnlockExit ===<br />
No input/output.<br />
<br />
Unlocks exit process, if LockExit was previously used.<br />
<br />
=== EnterFatalSection ===<br />
No input/output.<br />
<br />
=== LeaveFatalSection ===<br />
No input/output.<br />
<br />
=== SetScreenShotPermission ===<br />
Takes an input s32. No output.<br />
<br />
Controls whether screenshot-capture is allowed. 0 = disable, 1 = enable, 2 = unknown.<br />
<br />
=== SetOperationModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetPerformanceModeChangedNotification ===<br />
Takes an input u8 bool flag. No output.<br />
<br />
=== SetFocusHandlingMode ===<br />
Takes 3 input u8s with each field located immediately after the previous u8, these are bool flags. No output.<br />
<br />
=== SetScreenShotAppletIdentityInfo ===<br />
Takes an input 0x10-byte struct AppletIdentityInfo. No output.<br />
<br />
=== SetOutOfFocusSuspendingEnabled ===<br />
Takes an input u8(bool flag). No output.<br />
<br />
=== SetScreenShotImageOrientation ===<br />
Takes an input s32. No output.<br />
<br />
=== CreateManagedDisplayLayer ===<br />
Returns an output u64 LayerId which is then used by the user-process with [[Display_services#OpenLayer]].<br />
<br />
== IWindowController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateWindow || Returns an IWindow object.<br />
|-<br />
| 1 || [[#GetAppletResourceUserId]] ||<br />
|-<br />
| 2 || [6.0.0+] GetAppletResourceUserIdOfCallerApplet ||<br />
|-<br />
| 10 || [[#AcquireForegroundRights]] ||<br />
|-<br />
| 11 || ReleaseForegroundRights ||<br />
|-<br />
| 12 || RejectToChangeIntoBackground ||<br />
|}<br />
<br />
=== GetAppletResourceUserId ===<br />
Returns an output u64: [[#AppletResourceUserId]].<br />
<br />
=== AcquireForegroundRights ===<br />
No input/output.<br />
<br />
== IAudioController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || SetExpectedMasterVolume<br />
|-<br />
| 1 || GetMainAppletExpectedMasterVolume<br />
|-<br />
| 2 || GetLibraryAppletExpectedMasterVolume<br />
|-<br />
| 3 || ChangeMainAppletMasterVolume<br />
|-<br />
| 4 || SetTransparentVolumeRate<br />
|}<br />
<br />
GetMainAppletExpectedMasterVolume/SetExpectedMasterVolume are used for saving/restoring state for LibraryApplet launching, with SetExpectedMasterVolume being used with new state prior to launching a LibraryApplet. With official sw these applet funcs are used directly in the main-codebin.<br />
<br />
== IDisplayController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetLastForegroundCaptureImage<br />
|-<br />
| 1 || UpdateLastForegroundCaptureImage<br />
|-<br />
| 2 || GetLastApplicationCaptureImage<br />
|-<br />
| 3 || GetCallerAppletCaptureImage<br />
|-<br />
| 4 || UpdateCallerAppletCaptureImage<br />
|-<br />
| 5 || GetLastForegroundCaptureImageEx<br />
|-<br />
| 6 || GetLastApplicationCaptureImageEx<br />
|-<br />
| 7 || GetCallerAppletCaptureImageEx<br />
|-<br />
| 8 || [2.0.0+] TakeScreenShotOfOwnLayer<br />
|-<br />
| 9 || [5.0.0+] CopyBetweenCaptureBuffers<br />
|-<br />
| 10 || AcquireLastApplicationCaptureBuffer<br />
|-<br />
| 11 || ReleaseLastApplicationCaptureBuffer<br />
|-<br />
| 12 || AcquireLastForegroundCaptureBuffer<br />
|-<br />
| 13 || ReleaseLastForegroundCaptureBuffer<br />
|-<br />
| 14 || AcquireCallerAppletCaptureBuffer<br />
|-<br />
| 15 || ReleaseCallerAppletCaptureBuffer<br />
|-<br />
| 16 || AcquireLastApplicationCaptureBufferEx<br />
|-<br />
| 17 || AcquireLastForegroundCaptureBufferEx<br />
|-<br />
| 18 || AcquireCallerAppletCaptureBufferEx<br />
|-<br />
| 20 || [2.0.0+] ClearCaptureBuffer<br />
|-<br />
| 21 || [2.0.0+] ClearAppletTransitionBuffer<br />
|-<br />
| 22 || [4.0.0+] AcquireLastApplicationCaptureSharedBuffer<br />
|-<br />
| 23 || [4.0.0+] ReleaseLastApplicationCaptureSharedBuffer<br />
|-<br />
| 24 || [4.0.0+] AcquireLastForegroundCaptureSharedBuffer<br />
|-<br />
| 25 || [4.0.0+] ReleaseLastForegroundCaptureSharedBuffer<br />
|-<br />
| 26 || [4.0.0+] AcquireCallerAppletCaptureSharedBuffer<br />
|-<br />
| 27 || [4.0.0+] ReleaseCallerAppletCaptureSharedBuffer<br />
|-<br />
| 28 || [6.0.0+] TakeScreenShotOfOwnLayerEx<br />
|}<br />
<br />
== ILibraryAppletCreator==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || CreateLibraryApplet || Returns a [[#ILibraryAppletAccessor]].<br />
|-<br />
| 1 || TerminateAllLibraryApplets ||<br />
|-<br />
| 2 || AreAnyLibraryAppletsLeft ||<br />
|-<br />
| 10 || CreateStorage || Returns an [[#IStorage]].<br />
|-<br />
| 11 || CreateTransferMemoryStorage || Returns an [[#|IStorage]].<br />
|-<br />
| 12 || [2.0.0+] CreateHandleStorage || Returns an [[#IStorage]].<br />
|}<br />
<br />
== ISystemAppletControllerForDebug ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 1 || RequestLaunchApplicationForDebug ||<br />
|}<br />
<br />
== IProcessWindingController ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#GetLaunchReason]] ||<br />
|-<br />
| 11 || OpenCallingLibraryApplet || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 21 || PushContext || Takes an [[#IStorage]].<br />
|-<br />
| 22 || PopContext || Returns an [[#IStorage]].<br />
|-<br />
| 23 || CancelWindingReservation ||<br />
|-<br />
| 30 || WindAndDoReserved ||<br />
|-<br />
| 40 || ReserveToStartAndWaitAndUnwindThis || Returns an [[#ILibraryAppletAccessor]].<br />
|-<br />
| 41 || [4.0.0+] ReserveToStartAndWait ||<br />
|}<br />
<br />
=== GetLaunchReason ===<br />
No input. Returns an u32 AppletProcessLaunchReason.<br />
<br />
Used by LibraryApplets.<br />
<br />
== IDebugFunctions ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || NotifyMessageToHomeMenuForDebug ||<br />
|-<br />
| 1 || OpenMainApplication || Returns an [[#IApplicationAccessor]].<br />
|-<br />
| 10 || EmulateButtonEvent ||<br />
|-<br />
| 20 || InvalidateTransitionLayer ||<br />
|-<br />
| 30 || [6.0.0+] RequestLaunchApplicationWithUserAndArgumentForDebug ||<br />
|-<br />
| 40 || [6.0.0+] GetAppletResourceUsageInfo ||<br />
|}<br />
<br />
== IStorage ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || Open || No input. Returns an [[#IStorageAccessor]].<br />
|-<br />
| 1 || OpenTransferStorage || No input. Returns an [[#ITransferStorageAccessor]].<br />
|}<br />
<br />
Commands which take an IStorage as input use an unknown input u32 for that.<br />
<br />
== IStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an s64.<br />
|-<br />
| 10 || Write || Takes an input s64 and a type-0x21 input buffer.<br />
|-<br />
| 11 || Read || Takes an input s64 and a type-0x22 output buffer.<br />
|}<br />
<br />
== ITransferStorageAccessor ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || GetSize || No input. Returns an output s64.<br />
|-<br />
| 1 || GetHandle || No input. Returns an output u64 and handle.<br />
|}<br />
<br />
= appletOE =<br />
This is "nn::am::service::IApplicationProxyService".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name || Notes<br />
|-<br />
| 0 || [[#OpenApplicationProxy]] || <br />
|}<br />
<br />
This is used by all regular-applications, including [[flog]] and "Retail Interactive Display Menu". Only one session can be open for this service at a time.<br />
<br />
== OpenApplicationProxy ==<br />
Returns an [[#IApplicationProxy]]. See [[#appletAE]].<br />
<br />
Takes a [[IPC_Marshalling|reserved]] input u64(official user-processes use hard-coded value 0), a PID, and a process copy-handle(cur-proc handle alias).<br />
<br />
On failure, official user-processes will retry using this command in a loop while the retval is 0x19280, with svcSleepThread(10000000) being called first.<br />
<br />
= idle:sys =<br />
This is "nn::idle::detail::IPolicyManagerSystem"<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetAutoPowerDownEvent<br />
|-<br />
| 1 || [1.0.0-3.0.2]<br />
|-<br />
| 2 || [1.0.0-3.0.2]<br />
|-<br />
| 3 || SetHandlingContext<br />
|-<br />
| 4 || LoadAndApplySettings<br />
|-<br />
| 5 || ReportUserIsActive<br />
|}<br />
<br />
= omm =<br />
This is "nn::omm::detail::IOperationModeManager"<br />
<br />
Operation Mode Manager (OMM) is a service responsible for arbitrating the operation changes between docked and handheld modes.<br />
Besides [[PTM_services]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetOperationMode<br />
|-<br />
| 1 || GetOperationModeChangeEvent<br />
|-<br />
| 2 || EnableAudioVisual<br />
|-<br />
| 3 || DisableAudioVisual<br />
|-<br />
| 4 || EnterSleepAndWait<br />
|-<br />
| 5 || GetCradleStatus<br />
|-<br />
| 6 || FadeInDisplay<br />
|-<br />
| 7 || FadeOutDisplay<br />
|-<br />
| 8 || [2.0.0+] GetCradleFwVersion<br />
|-<br />
| 9 || [2.0.0+] NotifyCecSettingsChanged<br />
|-<br />
| 10 || [3.0.0+] SetOperationModePolicy<br />
|-<br />
| 11 || [3.0.0+] GetDefaultDisplayResolution<br />
|-<br />
| 12 || [3.0.0+] GetDefaultDisplayResolutionChangeEvent<br />
|-<br />
| 13 || [3.0.0+] UpdateDefaultDisplayResolution<br />
|-<br />
| 14 || [3.0.0+] ShouldSleepOnBoot<br />
|-<br />
| 15 || [4.0.0+] NotifyHdcpApplicationExecutionStarted<br />
|-<br />
| 16 || [4.0.0+] NotifyHdcpApplicationExecutionFinished<br />
|-<br />
| 17 || [4.0.0+] NotifyHdcpApplicationDrawingStarted<br />
|-<br />
| 18 || [4.0.0+] NotifyHdcpApplicationDrawingFinished<br />
|-<br />
| 19 || [4.0.0+] GetHdcpAuthenticationFailedEvent<br />
|-<br />
| 20 || [4.0.0+] GetHdcpAuthenticationFailedEmulationEnabled<br />
|-<br />
| 21 || [4.0.0+] SetHdcpAuthenticationFailedEmulation<br />
|-<br />
| 22 || [4.0.0+] GetHdcpStateChangeEvent<br />
|-<br />
| 23 || [4.0.0+] GetHdcpState<br />
|-<br />
| 24 || [5.0.0+] ShowCardUpdateProcessing<br />
|-<br />
| 25 || [5.0.0+] SetApplicationCecSettingsAndNotifyChanged<br />
|}<br />
<br />
= spsm =<br />
This is "nn::spsm::detail::IPowerStateInterface".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetState<br />
|-<br />
| 1 || SleepSystemAndWaitAwake<br />
|-<br />
| 2 || <br />
|-<br />
| 3 || <br />
|-<br />
| 4 || GetNotificationMessageEventHandle<br />
|-<br />
| 5 || <br />
|-<br />
| 6 || <br />
|-<br />
| 7 || <br />
|-<br />
| 8 || AnalyzePerformanceLogForLastSleepWakeSequence<br />
|-<br />
| 9 || ChangeHomeButtonLongPressingTime<br />
|-<br />
| 10 || <br />
|-<br />
| 11 || [1.0.0-3.0.2]<br />
|}<br />
<br />
= tcap =<br />
This is "nn::tcap::server::IManager".<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Cmd || Name<br />
|-<br />
| 0 || GetContinuousHighSkinTemperatureEvent<br />
|-<br />
| 1 || SetOperationMode<br />
|-<br />
| 2 || LoadAndApplySettings<br />
|}<br />
<br />
= Enums =<br />
=== AppletId ===<br />
See also [[:Category:Library Applets]].<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Title-id<br />
! Description<br />
|-<br />
| 0x02<br />
| 010000000000100C<br />
| "overlayDisp"<br />
|-<br />
| 0x03<br />
| 0100000000001000<br />
| "qlaunch"<br />
|-<br />
| 0x04<br />
| 0100000000001012<br />
| "starter"<br />
|-<br />
| 0x0A<br />
| 0100000000001001<br />
| "auth"<br />
|-<br />
| 0x0B<br />
| 0100000000001002<br />
| "cabinet"<br />
|-<br />
| 0x0C<br />
| 0100000000001003<br />
| "controller"<br />
|-<br />
| 0x0D<br />
| 0100000000001004<br />
| "dataErase"<br />
|-<br />
| 0x0E<br />
| 0100000000001005<br />
| "error"<br />
|-<br />
| 0x0F<br />
| 0100000000001006<br />
| "netConnect"<br />
|-<br />
| 0x10<br />
| 0100000000001007<br />
| "playerSelect"<br />
|-<br />
| 0x11<br />
| 0100000000001008<br />
| [[Software_Keyboard|"swkbd"]]<br />
|-<br />
| 0x12<br />
| 0100000000001009<br />
| "miiEdit"<br />
|-<br />
| 0x13<br />
| 010000000000100A<br />
| "LibAppletWeb" [[Internet_Browser#010000000000100A|WebApplet]] applet<br />
|-<br />
| 0x14<br />
| 010000000000100B<br />
| "LibAppletShop" [[Internet_Browser#ShopN|ShopN]] applet<br />
|-<br />
| 0x15<br />
| 010000000000100D<br />
| "photoViewer"<br />
|-<br />
| 0x16<br />
| 010000000000100E<br />
| "set"<br />
|-<br />
| 0x17<br />
| 010000000000100F<br />
| "LibAppletOff" [[Internet_Browser#Offline_Applet|Offline]] applet<br />
|-<br />
| 0x18<br />
| 0100000000001010<br />
| "LibAppletLns" [[Internet_Browser#Whitelisted_Applets|Whitelisted]] applet<br />
|-<br />
| 0x19<br />
| 0100000000001011<br />
| "LibAppletAuth" [[Internet_Browser#WifiWebAuthApplet|WifiWebAuth]] applet<br />
|-<br />
| 0x1A<br />
| 0100000000001013<br />
| "myPage"<br />
|}<br />
<br />
=== LibraryAppletMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x0<br />
| AllForeground<br />
|-<br />
|}<br />
<br />
=== ShimKind ===<br />
This is from strings and code in the [[Internet_Browser| web-applets]].<br />
<br />
This indicates the type of web-applet.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! shimKind value<br />
! Description<br />
|-<br />
| 2<br />
| LoginApplet<br />
|-<br />
| 4<br />
| ShareApplet<br />
|-<br />
| 5<br />
| WebApplet<br />
|-<br />
| 6<br />
| WifiWebAuthApplet<br />
|-<br />
| 7<br />
| LobbyApplet<br />
|}<br />
<br />
=== NotificationMessage ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Description<br />
|-<br />
| 0x4 || Exit requested<br />
|-<br />
| 0xF || [[#GetCurrentFocusState|FocusState]] changed<br />
|-<br />
| 0x10 || ?<br />
|-<br />
| 0x1E || OperationMode changed<br />
|-<br />
| 0x1F || PerformanceMode changed<br />
|}<br />
<br />
=== OperationMode ===<br />
{| class="wikitable" border="1"<br />
|-<br />
! Value<br />
! Description<br />
|-<br />
| 0 || Handheld<br />
|-<br />
| 1 || Docked<br />
|}<br />
<br />
= AppletResourceUserId =<br />
This u64 is officially called "nn::applet::AppletResourceUserId". Used by a number of non-AM services.<br />
<br />
[[Category:Services]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Internet_Browser&diff=5598
Internet Browser
2018-11-23T05:54:35Z
<p>Misson20000: add to Library Applets category</p>
<hr />
<div>Nintendo Switch does not have a normal Internet Browser for user usage. However, there is multiple browser applets. It is the [https://web.archive.org/web/20170304075230/https://gl.access-company.com/news_event/archives/2017/170303/ NetFront NX] browser, which is based on Webkit.<br />
<br />
When linking the Nintendo Account with Facebook, the Facebook Auth website will open, offering a search box that can be used to browse the Internet ("LoginApplet"). Alternatively, it can be accessed with [https://gbatemp.net/threads/web-browser-kind-of-on-the-switch.463094/ custom DNS settings] which simulate a Wi-Fi login page ("WifiWebAuthApplet" for captive-portal).<br />
<br />
== Known User Agent Strings ==<br />
{| class='wikitable'<br />
! System Version<br />
! UA String<br />
|-<br />
| [[1.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.4.25 NintendoBrowser/5.1.0.11682<br />
|-<br />
| [[2.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.5.9 NintendoBrowser/5.1.0.13341<br />
|-<br />
| [[2.1.0]]-[[2.3.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.5.10 NintendoBrowser/5.1.0.13343<br />
|-<br />
| [[3.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.6.9 NintendoBrowser/5.1.0.14936<br />
|-<br />
| [[4.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.7.9 NintendoBrowser/5.1.0.15785<br />
|-<br />
| [[5.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.8.9 NintendoBrowser/5.1.0.16739<br />
|-<br />
| [[5.1.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.9.3 NintendoBrowser/5.1.0.16958<br />
|-<br />
| [[6.0.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.10.13 NintendoBrowser/5.1.0.17805<br />
|-<br />
| [[6.1.0]]<br />
| Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.10.14 NintendoBrowser/5.1.0.17806<br />
|}<br />
<br />
The UA is generated with: "Mozilla/5.0 (Nintendo Switch; <appletname>) AppleWebKit/<webkitver> (KHTML, like Gecko) NF/<nfver0>.<nfver1>.<nfver2> NintendoBrowser/5.<ninver0>.<ninver1>.<ninver2>"<br />
<br />
== Browser Applets ==<br />
{| class='wikitable'<br />
! appletname (From UA)<br />
! Usage<br />
! Invalid TLS cert handling<br />
! Uses whitelist<br />
! Title ID<br />
! Notes<br />
|-<br />
| WebApplet<br />
| General web-applet for use by applications(online manuals, ...).<br />
| Displays an error dialog without an option to ignore it.<br />
| Yes<br />
| 010000000000100A<br />
| <br />
|-<br />
| ShopN<br />
| Actual eShop client<br />
| Just displays an error-code.<br />
| Yes<br />
| 010000000000100B<br />
| <br />
|-<br />
| WebApplet<br />
| Offline HTML display<br />
| <br />
| <br />
| 010000000000100F<br />
| <br />
|-<br />
| LoginApplet<br />
| Nintendo Account linking, and for linking Facebook and Twitter to suggest friends<br />
| Just displays an error-code.<br />
| Yes<br />
| 0100000000001010<br />
| <br />
|-<br />
| ShareApplet<br />
| Posting screenshots to social media, and (optionally) linking social media accounts<br />
| Just displays an error-code.<br />
| Yes<br />
| 0100000000001010<br />
| <br />
|-<br />
| LobbyApplet<br />
| Related to online-multiplayer lobbies<br />
| Just displays an error-code.<br />
| Yes<br />
| 0100000000001010<br />
| <br />
|-<br />
| WifiWebAuthApplet<br />
| Captive-portal<br />
| Displays an error dialog with an option to ignore it.<br />
| No<br />
| 0100000000001011<br />
| <br />
|}<br />
<br />
When whitelisting is enabled, you can only load page domains included in the whitelist, otherwise an error is displayed. This only applies to page navigation. Videos via the <video> tag are not affected, likewise with network requests with JS.<br />
<br />
No known applets can directly access the SD card via mounting it. This includes ShareApplet (which posts screenshots from SD to social media).<br />
<br />
== OSS ==<br />
The NROs for the OSS are stored under a separate [[Title_list|title]]. All of the web-applets use the same OSS NROs via this title.<br />
<br />
String from v2.0 in oss_wkc.nro: "libcurl/7.50.1".<br />
<br />
== Video Playback ==<br />
WifiWebAuthApplet does not fully support playing videos. It will [[Error_codes|assert]] with normal videos. The assert triggers before it even starts MP4 parsing?(For example, selecting a video from a video-tag will assert even though it doesn't send any network request for it) However, in some cases with certain MP4s using vulns it will display an error dialog instead.<br />
<br />
With v3.0 WifiWebAuthApplet video-playback was disabled, it now throws the following error when attempting to play a video: "Support Code: 2809-1212" "This feature is not available." On past system-versions it would just trigger a fatal-error(see above). Video playback still works on the whitelisted applets following v3.0.0, which allows video playback through Facebook and embedded into Google Sites.<br />
<br />
== Trusted RootCAs ==<br />
While the rootCA(s) for Let's Encrypt isn't included, Let's Encrypt is indirectly trusted via "Digital Signature Trust Co.". This seems to be only(?) the case for WifiWebAuthApplet, hence non-WifiWebAuthApplet seems to have a different set of trusted rootCAs.<br />
<br />
== WifiWebAuthApplet ==<br />
When doing a connection-test in system-settings, it will detect that the captive-portal is required and display an error for it when the response for "http://conntest.nintendowifi.net/" doesn't include the "X-Organization: Nintendo" HTTP header. The web-applet will not load until something else attempts a conntest, for example when launching eShop and prior to LoginApplet launching. The initial page loaded by this applet is the above conntest URL.<br />
<br />
This is only available starting with [[2.0.0]].<br />
<br />
Prior to version [[3.0.0]], this applet was launched when attempting a system update from recovery mode if needed. This was changed to display a "This feature is not available." popup instead.<br />
<br />
==Whitelisted Applets==<br />
The v2.1 main-codebin page-aligned .text size is 0x1000-bytes larger than ShopN.<br />
<br />
The file at "data:/whitelist/WhitelistLns.txt" for LoginApplet/ShareApplet/LobbyApplet, which doesn't exist in WifiWebAuthApplet, contains the following:<br />
<br />
<nowiki>^https://([0-9A-Za-z\-]+\.)*nintendo\.net(/|$)<br />
^https?://([0-9A-Za-z\-]+\.)*nintendo\.(co\.jp|com|eu|co\.uk|es|pt|ch|at|de|nl|be|ch|ru|fr|it|co\.za|co\.kr|tw|com\.hk|com\.au|ca|co\.nz)(/|$)<br />
^https?://([0-9A-Za-z\-]+\.)*nintendo-europe\.com(/|$)<br />
^https?://([0-9A-Za-z\-]+\.)*nintendoservicecentre\.co\.uk(/|$)<br />
^https?://([0-9A-Za-z\-]+\.)*google\.(com|ad|ae|com\.af|com\.ag|com\.ai|al|am|co\.ao|com\.ar|as|at|com\.au|az|ba|com\.bd|be|bf|bg|com\.bh|bi|bj|com\.bn|com\.bo|com\.br|bs|bt|co\.bw|by|com\.bz|ca|cd|cf|cg|ch|ci|co\.ck|cl|cm|cn|com\.co|co\.cr|com\.cu|cv|com\.cy|cz|de|dj|dk|dm|com\.do|dz|com\.ec|ee|com\.eg|es|com\.et|fi|com\.fj|fm|fr|ga|ge|gg|com\.gh|com\.gi|gl|gm|gp|gr|com\.gt|gy|com\.hk|hn|hr|ht|hu|co\.id|ie|co\.il|im|co\.in|iq|is|it|je|com\.jm|jo|co\.jp|co\.ke|com\.kh|ki|kg|co\.kr|com\.kw|kz|la|com\.lb|li|lk|co\.ls|lt|lu|lv|com\.ly|co\.ma|md|me|mg|mk|ml|com\.mm|mn|ms|com\.mt|mu|mv|mw|com\.mx|com\.my|co\.mz|com\.na|com\.nf|com\.ng|com\.ni|ne|nl|no|com\.np|nr|nu|co\.nz|com\.om|com\.pa|com\.pe|com\.pg|com\.ph|com\.pk|pl|pn|com\.pr|ps|pt|com\.py|com\.qa|ro|ru|rw|com\.sa|com\.sb|sc|se|com\.sg|sh|si|sk|com\.sl|sn|so|sm|sr|st|com\.sv|td|tg|co\.th|com\.tj|tk|tl|tm|tn|to|com\.tr|tt|com\.tw|co\.tz|com\.ua|co\.ug|co\.uk|com\.uy|co\.uz|com\.vc|co\.ve|vg|co\.vi|com\.vn|vu|ws|rs|co\.za|co\.zm|co\.zw|cat)(/|$)<br />
^https://([0-9A-Za-z\-]+\.)*facebook\.com(/|$)<br />
^https://([0-9A-Za-z\-]+\.)*twitter\.com(/|$)</nowiki><br />
<br />
[3.0.0+]: The "google\.(com" line now starts with "^https://" instead of "https?://", hence plain HTTP is no longer allowed. The following line was added right after the original google line: "---- ^https?://([0-9A-Za-z\-]+\.)*google(\.[A-Za-z]+)*/(search|translate)\?"<br />
<br />
[4.0.0+]: Lines 2-4 ("...nintendo\.(co...", "nintendo-europe", and "nintendoservicecentre") now starts with "^https://" instead of "https?://". Hence, plain HTTP for these are no longer allowed.<br />
<br />
===ShareApplet===<br />
The initial page loaded by this applet depends on a flag. <nowiki>non-val1: "https://web-lp1.share.srv.nintendo.net/" val1: "https://web-lp1.share.srv.nintendo.net/settings/"</nowiki><br />
<br />
The server will return a HTTP 302 redirect to <nowiki>"https://nintendo.com/"</nowiki> when the specified User-Agent isn't the one for ShareApplet.<br />
<br />
===LobbyApplet===<br />
The initial page loaded by this applet is: <nowiki>"https://web-lp1.znc.srv.nintendo.net/lobby/"</nowiki>.<br />
<br />
The content of the above URL refers to "rooms", "NxView_Img_Google_Play_Icon", etc.<br />
<br />
And also:<br />
Your room has been created.<br />
<br />
You can invite friends to the room via<br />
the Nintendo Switch Online Lounge app.<br />
<br />
== ShopN ==<br />
The initial page loaded by ShopN is: <nowiki>"https://bugyo.hac.lp1.eshop.nintendo.net/ashigaru/"</nowiki>.<br />
This can be accessed via computer possesed the certificate ShopN.<br />
<br />
The file at "data:/whitelist/WhitelistEc.txt", which doesn't exist in WifiWebAuthApplet, contains the following:<br />
<br />
<nowiki>^https://([0-9A-Za-z\-]+\.)*eshop\.nintendo\.net($|/)<br />
^https?://([0-9A-Za-z\-]+\.)*nintendo\.(co\.jp|com|de)($|/)</nowiki><br />
<br />
== WebApplet ==<br />
===010000000000100A===<br />
The initial page loaded by this applet is specified by the title which launched this applet. Plain HTTP is allowed.<br />
<br />
The files under "data:/" are identical to WifiWebAuthApplet except that the content of each file differs.<br />
<br />
This applet uses a whitelist, but it doesn't come from "data:/" like whitelisted-applet.<br />
<br />
==== WebApplet launch with Tetris ====<br />
The Tetris game/demo can be used to launch the online-WebApplet. This ''only'' applies to the JPN region of the game/demo: "ぷよぷよ™テトリス®S"(aka "Puyo Puyo Tetris"). Note that the gamecard for this can be used to launch the online-WebApplet on system-version >=1.0.0.<br />
<br />
First, launch the offline-WebApplet for the manual:<br />
* Game: Main-menu -> press A with the already selected top menu button -> press the R button.<br />
* Demo: Main-menu -> select menu button on the right side -> press A.<br />
<br />
Then in the manual:<br />
* Press A -> select the bottom menu entry in the list.<br />
* Select the SEGA icon -> press A.<br />
<br />
The offline-WebApplet will then launch the online-WebApplet with the plain-http <nowiki>"http://sega.jp/"</nowiki> URL. Non-JPN regions of Tetris don't have any external link in the manual. For example, with your own DNS-server setup to return your own server address for this domain, you can load your own content for use with online-WebApplet.<br />
<br />
As of 12/01/2017 this still works on the latest update for Tetris (version 1.1.2).<br />
<br />
=== Offline Applet ===<br />
Minus TIDs, the [[NPDM]] is the same as 010000000000100A except 010000000000100A has access to more/other services.<br />
<br />
== Service/FS Access ==<br />
All browser applets have access to the following services: acc:u1, appletAE, audin:u, audren:u, audout:u, bsd:u, fatal:u, fsp-srv, hid, hid:sys, irs, ldn:m, ldr:ro, lm, erpt:c, nifm:s, ns:am, nsd:u, nvdrv:a, mm:u, pl:u, prepo:s, set, set:sys, sfdnsres, ssl, time:u, vi:s<br />
<br />
LoginApplet/ShareApplet/LobbyApplet have access to the above + caps:a.<br />
<br />
ShopN has access to the above + nim:shp.<br />
<br />
Unlike the applets listed above, WebApplet TID 010000000000100A has access to the [[Filesystem_services|FS]] MountContent* commands. This is so that it can load the whitelist from "/accessible-urls/accessible-urls.txt" in the mounted FS, from [[NCA]]-type4 where titleID={application which launched this applet}.<br />
<br />
== Heap ==<br />
<br />
The size used for [[SVC|svcSetHeapSize]] by the web-applets is 0x15600000. Under ShopN, the largest size that can be passed to this without an error being returned, is 0x1B400000.<br />
<br />
== Versions ==<br />
<br />
=== [[1.0.0]] ===<br />
"shareddata:/buildinfo/buildinfo.dat" content:<br />
r:11682<br />
p:NX64<br />
v:Pilot<br />
d:2016-11-25 23:30<br />
n:0.4.25<br />
<br />
=== [[2.0.0]] ===<br />
<br />
"shareddata:/buildinfo/buildinfo.dat" content:<br />
r:13341<br />
p:NX64<br />
v:Release<br />
d:2017-02-13 22:57<br />
n:0.5.9<br />
<br />
<br />
=== [[2.1.0]] ===<br />
See [[Switch_Userland_Flaws|here]] for vuln-related changes.<br />
<br />
The WebKit NRO was updated. For the WebKit NRO, the page-aligned size for the R-X, R--, and RW- pages are the same as v2.0.<br />
* The actual code in the NRO starts differing starting at offset 0xE780. In v2.0 the offset following the last code instruction is text_lastpage+0x3F8(text_end-0xC08), while for v2.1 it's text_lastpage+0xE60(text_end-0x1A0). Compared to the previous version, there's a val0 u32(padding) inserted where the code for the import stubs begin, near the end of .text. Relative to that end offset going backwards, .text differs starting at v2.0 textbase+0xD56530 / v2.1 textbase+0xD56F94.<br />
* The R-- section was updated. Besides the large table(?) which was updated(nothing was added/removed there), the strings containing "D:/for_cruiser/release_182/nx/webkit/" were updated: "182" was changed to "189". 0x10-bytes at offset 0x57292C were removed. 0x8-bytes were inserted at offset 0x14B2B5C in the v2.1 section. 0x8-bytes were inserted at offset 0x14B5C10 in the v2.1 section. ...<br />
* The RW- section was updated, mainly for different addrs. Nothing was added/removed. Most(?)/all(?) main-codebin func import-addrs relative to main-codebin-base are the same as v2.0.<br />
<br />
Main-codebin region(titleID 010000000000100B):<br />
* rtld is same as before basically, minus addrs. Likewise for the "nnSdkEmpty" binary following the main-codebin.<br />
* Various byte values were changed in the main .text.<br />
* In the main R-- section:<br />
** The length of a string used with the user-agent changed, due to being changed from "{...}.9" to "{...}.10".<br />
** The version in the following string was changed from "1.2.2" to "1.2.3": "FS_ACCESS: { sdk_versio n: 1.2.3, spec: NX }"<br />
** The datetime strings following "b/23876444" was changed from "Feb 10 2017" "02:24:47" to "Mar 9 201 7" "21:41:27".<br />
** A 0x10-byte block prior to SDK library tag strings was updated. The version in those strings was changed from "1_2_2" to "1_2_3".<br />
* The main RW- section appears to be basically the same minus addrs.<br />
<br />
All of the other NROs were updated in FS with only the following changes:<br />
* The R-X section is identical to the previous version except for the 0x10-byte block in the NRO header. <br />
* The R-- section only had version values in "/release_{ver}/" strings updated, see the for_cruiser path mentioned for WebKit NRO above. The only other change was that a 0x10-byte block following a "GNU" string was updated.<br />
<br />
==== FS ====<br />
The content of "blacklist:/" and "oceanShared:/" haven't changed. Only the content of "shareddata:/" and "data:/" changed.<br />
<br />
===== "shareddata:/" =====<br />
The following files were updated here(nothing added/removed):<br />
<br />
* /buildinfo/buildinfo.dat<br />
* /dll/cairo_wkc.nro<br />
* /dll/libfont.nro<br />
* /dll/oss_wkc.nro<br />
* /dll/peer_wkc.nro<br />
* /dll/webkit_wkc.nro<br />
<br />
That is, every .nro under the above directory was updated.<br />
<br />
"shareddata:/buildinfo/buildinfo.dat" content:<br />
r:13343<br />
p::NX64<br />
v:Release<br />
d:2017-03-14 21:08<br />
n:0.5.10<br />
<br />
===== "data:/" =====<br />
The following files were updated here(nothing added/removed):<br />
<br />
* /.nrr/netfront.nrr<br />
* /buildinfo/buildinfo.dat<br />
<br />
=== [[3.0.1]] ===<br />
While main-codebin .text was updated, no actual code was changed.<br />
<br />
The .nss path string in main-codebin was changed from "Q:\work\LibraryApplet\..." to "Q:\work\nup\LibraryApplet\...".<br />
<br />
See [[3.0.1|here]] regarding "shareddata:/" buildinfo.<br />
<br />
[[Category:Library Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Software_Keyboard&diff=5597
Software Keyboard
2018-11-23T05:53:59Z
<p>Misson20000: applets -> library applets</p>
<hr />
<div>The software keyboard expects to be passed three [[AM_services#IStorage|IStorage]]s via [[AM_services#ILibraryAppletAccessor|PushInData]].<br />
<br />
== Common Arguments ==<br />
<br />
The first IStorage passed to this applet should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 1 || Common Arguments version<br />
|-<br />
| 0x4 || 4 || 0x20 || Common Arguments size<br />
|-<br />
| 0x8 || 4 || 5 || Library applet version (some kind of API version?)<br />
|-<br />
| 0xC || 4 || 0 || Theme color<br />
|-<br />
| 0x10 || 1 || 0 || Play startup sound<br />
|-<br />
| 0x18 || 8 || N/A || System tick (see [[SVC#svcGetSystemTick|svcGetSystemTick]])<br />
|-<br />
| 0x20 || || || End of struct<br />
|}<br />
<br />
== KeyboardConfig ==<br />
<br />
The second IStorage passed to this applet should contain the configuration for the keyboard.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 2 ||<br />
|-<br />
| 0x4 || 18 || u"OK" || UTF-16 text displayed in the submit button<br />
|-<br />
| 0x16 || 2 || 0 || UTF-16 "left optional symbol key"<br />
|-<br />
| 0x18 || 2 || 0 || UTF-16 "right optional symbol key"<br />
|-<br />
| 0x1A || 1 || 0 ||<br />
|-<br />
| 0x1C || 4 || 0 || Key set disable bitmask<br />
|-<br />
| 0x20 || 4 || 1 || Initial cursor position (0 = start of string, 1 = end of string)<br />
|-<br />
| 0x24 || 130 || u"" || UTF-16 header text<br />
|-<br />
| 0xA6 || 258 || u"" || UTF-16 sub text<br />
|-<br />
| 0x1A8 || 514 || u"" || UTF-16 guide text<br />
|-<br />
| 0x3AC || 4 || 0 || String length limit (defaults to 500?)<br />
|-<br />
| 0x3B0 || 4 || 0 ||<br />
|-<br />
| 0x3B4 || 4 || 0 || Password flag (0 = not password, 1 = password)<br />
|-<br />
| 0x3B8 || 4 || 1 ||<br />
|-<br />
| 0x3BC || 2 || 1 ||<br />
|-<br />
| 0x3BE || 1 || 1 || Draw background (0 = no, 1 = yes)<br />
|-<br />
| 0x3C0 || 4 || 20 || Offset of initial string in work buffer (or 0)<br />
|-<br />
| 0x3C4 || 4 || 0 || Size of initial string in work buffer (bytes)<br />
|-<br />
| 0x3C8 || 4 || 2024 || Offset of user dictionary in work buffer (or 0)<br />
|-<br />
| 0x3CC || 4 || 0 || Length of user dictionary (number of entries)<br />
|-<br />
| 0x3D0 || 1 || 0 || [[#Text check]] enable<br />
|-<br />
| 0x3D8 || 8 || 0 || [[#Text check]] callback function address. Not sure why this is included here<br />
|-<br />
| 0x3E0 || || || End of struct<br />
|}<br />
<br />
If the length limit is <= 32, the text entry box will be a single row and show the header/sub text. Otherwise, it will use multiple rows and the header/sub text will not be shown.<br />
<br />
Each entry in the user dictionary is 100 bytes long.<br />
<br />
=== Key Set Disable Bitmask ===<br />
<br />
Various bits in this field disable certain keys on the keyboard. This list is incomplete.<br />
<br />
<pre><br />
0x02: disable ' '<br />
0x04: disable '@'<br />
0x08: disable '%'<br />
0x10: disable '\' and '/'<br />
0x40: disable numbers<br />
0x80: used for download codes<br />
</pre><br />
<br />
== Work Buffer ==<br />
<br />
This is the third IStorage passed to this applet. It is a transfer memory storage. The transfer memory should have size 0x1000 (0xd000 in certain cases) and permissions 0.<br />
<br />
The layout of the work buffer doesn't seem to matter as long as the offsets in the [[#KeyboardConfig]] are adjusted, but official code lays it out like this.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 20 (decimal) || Unknown || UTF-16 initial string<br />
|-<br />
| 2024 (decimal) || Unknown || User dictionary<br />
|}<br />
<br />
== Text Check ==<br />
<br />
If text checking is enabled in [[#KeyboardConfig]], text will be checked when the submit button is pressed. First, swkbd sends the text via PushInteractiveOutData.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Buffer size<br />
|-<br />
| 0x4 || Variable || UTF-16 text<br />
|-<br />
| 0x7d4 || || Size of storage<br />
|}<br />
<br />
The application then has an opportunity to validate or reject the text. It creates a new IStorage, writes the response to it, and sends it via PushInteractiveInData.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Status (0 = OK, 1 = bad)<br />
|-<br />
| 0x4 || Variable || UTF-16 error message (shown in a dialog box)<br />
|-<br />
| 0x7d4 || || Size of storage<br />
|}<br />
<br />
== Output ==<br />
<br />
When either the submit button is pressed and input has been validated, or the user cancels the text entry, swkbd will push its response and exit. The response IStorage has the following format.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Result code (0 = OK, 1 = Cancel)<br />
|-<br />
| 0x4 || Variable || UTF-16 text<br />
|-<br />
| 0x7d8 || || Size of storage<br />
|}<br />
<br />
[[Category:Library Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Category:Applets&diff=5596
Category:Applets
2018-11-23T05:53:35Z
<p>Misson20000: Misson20000 moved page Category:Applets to Category:Library Applets</p>
<hr />
<div>#REDIRECT [[:Category:Library Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=Category:Library_Applets&diff=5595
Category:Library Applets
2018-11-23T05:53:35Z
<p>Misson20000: Misson20000 moved page Category:Applets to Category:Library Applets</p>
<hr />
<div></div>
Misson20000
https://switchbrew.org/w/index.php?title=Category:Library_Applets&diff=5594
Category:Library Applets
2018-11-23T05:52:45Z
<p>Misson20000: Created blank page</p>
<hr />
<div></div>
Misson20000
https://switchbrew.org/w/index.php?title=Software_Keyboard&diff=5593
Software Keyboard
2018-11-23T05:52:17Z
<p>Misson20000: add to Applets category</p>
<hr />
<div>The software keyboard expects to be passed three [[AM_services#IStorage|IStorage]]s via [[AM_services#ILibraryAppletAccessor|PushInData]].<br />
<br />
== Common Arguments ==<br />
<br />
The first IStorage passed to this applet should contain the common library applet arguments. This is populated by <code>nn::la::CommonArgumentsWriter</code> and has the following format.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 1 || Common Arguments version<br />
|-<br />
| 0x4 || 4 || 0x20 || Common Arguments size<br />
|-<br />
| 0x8 || 4 || 5 || Library applet version (some kind of API version?)<br />
|-<br />
| 0xC || 4 || 0 || Theme color<br />
|-<br />
| 0x10 || 1 || 0 || Play startup sound<br />
|-<br />
| 0x18 || 8 || N/A || System tick (see [[SVC#svcGetSystemTick|svcGetSystemTick]])<br />
|-<br />
| 0x20 || || || End of struct<br />
|}<br />
<br />
== KeyboardConfig ==<br />
<br />
The second IStorage passed to this applet should contain the configuration for the keyboard.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Typical Value || Notes <br />
|-<br />
| 0x0 || 4 || 2 ||<br />
|-<br />
| 0x4 || 18 || u"OK" || UTF-16 text displayed in the submit button<br />
|-<br />
| 0x16 || 2 || 0 || UTF-16 "left optional symbol key"<br />
|-<br />
| 0x18 || 2 || 0 || UTF-16 "right optional symbol key"<br />
|-<br />
| 0x1A || 1 || 0 ||<br />
|-<br />
| 0x1C || 4 || 0 || Key set disable bitmask<br />
|-<br />
| 0x20 || 4 || 1 || Initial cursor position (0 = start of string, 1 = end of string)<br />
|-<br />
| 0x24 || 130 || u"" || UTF-16 header text<br />
|-<br />
| 0xA6 || 258 || u"" || UTF-16 sub text<br />
|-<br />
| 0x1A8 || 514 || u"" || UTF-16 guide text<br />
|-<br />
| 0x3AC || 4 || 0 || String length limit (defaults to 500?)<br />
|-<br />
| 0x3B0 || 4 || 0 ||<br />
|-<br />
| 0x3B4 || 4 || 0 || Password flag (0 = not password, 1 = password)<br />
|-<br />
| 0x3B8 || 4 || 1 ||<br />
|-<br />
| 0x3BC || 2 || 1 ||<br />
|-<br />
| 0x3BE || 1 || 1 || Draw background (0 = no, 1 = yes)<br />
|-<br />
| 0x3C0 || 4 || 20 || Offset of initial string in work buffer (or 0)<br />
|-<br />
| 0x3C4 || 4 || 0 || Size of initial string in work buffer (bytes)<br />
|-<br />
| 0x3C8 || 4 || 2024 || Offset of user dictionary in work buffer (or 0)<br />
|-<br />
| 0x3CC || 4 || 0 || Length of user dictionary (number of entries)<br />
|-<br />
| 0x3D0 || 1 || 0 || [[#Text check]] enable<br />
|-<br />
| 0x3D8 || 8 || 0 || [[#Text check]] callback function address. Not sure why this is included here<br />
|-<br />
| 0x3E0 || || || End of struct<br />
|}<br />
<br />
If the length limit is <= 32, the text entry box will be a single row and show the header/sub text. Otherwise, it will use multiple rows and the header/sub text will not be shown.<br />
<br />
Each entry in the user dictionary is 100 bytes long.<br />
<br />
=== Key Set Disable Bitmask ===<br />
<br />
Various bits in this field disable certain keys on the keyboard. This list is incomplete.<br />
<br />
<pre><br />
0x02: disable ' '<br />
0x04: disable '@'<br />
0x08: disable '%'<br />
0x10: disable '\' and '/'<br />
0x40: disable numbers<br />
0x80: used for download codes<br />
</pre><br />
<br />
== Work Buffer ==<br />
<br />
This is the third IStorage passed to this applet. It is a transfer memory storage. The transfer memory should have size 0x1000 (0xd000 in certain cases) and permissions 0.<br />
<br />
The layout of the work buffer doesn't seem to matter as long as the offsets in the [[#KeyboardConfig]] are adjusted, but official code lays it out like this.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 20 (decimal) || Unknown || UTF-16 initial string<br />
|-<br />
| 2024 (decimal) || Unknown || User dictionary<br />
|}<br />
<br />
== Text Check ==<br />
<br />
If text checking is enabled in [[#KeyboardConfig]], text will be checked when the submit button is pressed. First, swkbd sends the text via PushInteractiveOutData.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Buffer size<br />
|-<br />
| 0x4 || Variable || UTF-16 text<br />
|-<br />
| 0x7d4 || || Size of storage<br />
|}<br />
<br />
The application then has an opportunity to validate or reject the text. It creates a new IStorage, writes the response to it, and sends it via PushInteractiveInData.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Status (0 = OK, 1 = bad)<br />
|-<br />
| 0x4 || Variable || UTF-16 error message (shown in a dialog box)<br />
|-<br />
| 0x7d4 || || Size of storage<br />
|}<br />
<br />
== Output ==<br />
<br />
When either the submit button is pressed and input has been validated, or the user cancels the text entry, swkbd will push its response and exit. The response IStorage has the following format.<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset || Size || Notes <br />
|-<br />
| 0x0 || 0x4 || Result code (0 = OK, 1 = Cancel)<br />
|-<br />
| 0x4 || Variable || UTF-16 text<br />
|-<br />
| 0x7d8 || || Size of storage<br />
|}<br />
<br />
[[Category:Applets]]</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=5590
SVC
2018-11-22T18:57:36Z
<p>Misson20000: /* DebugExceptionType */ formatting fix</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano || W0=result<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || svcCreateInterruptEvent || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || svcContinueDebugEvent || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, W1=[[#ThreadContextFlags]], X2=ThreadContext*, X3=thread_id || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=is_light, X4=name_ptr || W0=result, W1=clientport_handle, W2=serverport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || svcCallSecureMonitor || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Nano<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nano=0 means "yield thread".<br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40.<br />
<br />
When zero handles are passed, this will wait forever until either timeout or cancellation occurs.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''KDebug:''' signals when there is a new [[#DebugEventInfo|DebugEvent]] (retrievable via [[#svcGetDebugEvent]]).<br />
<br />
'''KClientPort:''' signals when the number of sessions is less than the maximum allowed.<br />
<br />
'''KProcess:''' signals when the process undergoes a state change (retrievable via [[#svcGetProcessInfo]]).<br />
<br />
'''KReadableEvent:''' signals when the event's corresponding KWritableEvent has been signaled via svcSignalEvent.<br />
<br />
'''KServerPort:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''KServerSession:''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
'''KThread:''' signals when the thread has exited.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signaled before the timeout expired, or one of the objects is a Session with a closed remote. Handle index is updated to indicate which object signaled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xe601:''' Invalid address. Returned when the handles pointer is not a readable address. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signaled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xee01:''' Too many handles. Returned when the number of handles passed is > 0x40.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Thread || 0xF0000002 || 0 || Performance counter related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u64 || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextRequestFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name<br />
|-<br />
| 0 || 1 || NormalContext<br />
|-<br />
| 1 || 2 ||<br />
|-<br />
| 2 || 4 ||<br />
|-<br />
| 3 || 8 ||<br />
|}<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0 || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcMapped: when IpcRefCount > 0.<br />
|-<br />
| 2 || IsDeviceMapped: when DeviceRefCount > 0.<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed_Type0<br />
|-<br />
| 11 || IpcSendAllowed_Type3<br />
|-<br />
| 12 || IpcSendAllowed_Type1<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_IpcBuffer0]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_IpcBuffer1]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_IpcBuffer3]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
<nowiki>*</nowiki> Undefined instructions, software breakpoints, some other traps.<br />
<br />
<nowiki>**</nowiki> Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* FAR doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this is one of the following exceptions (it particular, that doesn't include FP exceptions occurring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, proceed to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creport attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || ExceptionFrameA64<br />
|}<br />
<br />
ExceptionFrameA64:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x48 (8*9) || GPRs 0..8.<br />
|-<br />
| 0x48 || 0x8 || lr<br />
|-<br />
| 0x50 || 0x8 || sp<br />
|-<br />
| 0x58 || 0x8 || pc (elr_el1)<br />
|-<br />
| 0x60 || 0x4 || pstate & 0xFF0FFE20<br />
|-<br />
| 0x64 || 0x4 || afsr0<br />
|-<br />
| 0x68 || 0x4 || afsr1<br />
|-<br />
| 0x6C || 0x4 || esr<br />
|-<br />
| 0x70 || 0x8 || far<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x44 || ExceptionFrameA32<br />
|}<br />
<br />
ExceptionFrameA32:<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x20 (8*4) || GPRs 0..7.<br />
|-<br />
| 0x20 || 0x4 || sp<br />
|-<br />
| 0x24 || 0x4 || lr<br />
|-<br />
| 0x28 || 0x4 || pc (elr_el1)<br />
|-<br />
| 0x2C || 0x4 || tpidr_el0 = 1<br />
|-<br />
| 0x30 || 0x4 || cpsr & 0xFF0FFE20<br />
|-<br />
| 0x34 || 0x4 || afsr0<br />
|-<br />
| 0x38 || 0x4 || afsr1<br />
|-<br />
| 0x3C || 0x4 || esr<br />
|-<br />
| 0x40 || 0x4 || far<br />
|}<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
If an exception occurs from the above user handler, the entire exception handling process will repeat with the new exception.<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception<br />
<br />
Note that [[SMC|IsDebugMode]] is not used during exception-handling, except for enabling printing a message to UART-A. This UART code causes a system-hang on retail (likely due to a loop that doesn't exit). This printing doesn't seem to run when the process is attached for debugging?</div>
Misson20000
https://switchbrew.org/w/index.php?title=Error_codes&diff=5540
Error codes
2018-11-15T18:45:04Z
<p>Misson20000: add some IStorage error codes</p>
<hr />
<div>= Structure =<br />
These have been redesigned from the 3DS so that they fit within a Aarch64 MOV instruction immediate most of the time (without requiring the additional MOVK).<br />
<br />
{| class=wikitable<br />
! Bits || Field<br />
|-<br />
| 8-0 || Module<br />
|-<br />
| 21-9 || Description<br />
|}<br />
<br />
When a fatal-error is received the error code is outputted using the following formatter:<br />
%04d-%04d<br />
<br />
.. where the first code is <code>2000 + Module</code>, and the other being <code>Description</code>. Bits >=22 from the error-code are unused when displaying fatal-errors, since the Description ends with bit21.<br />
<br />
= Modules =<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 1 || Kernel<br />
|-<br />
| 2 || FS<br />
|-<br />
| 3 || OS (Memory, Thread, Mutex, NVIDIA)<br />
|-<br />
| 4 || HTCS<br />
|-<br />
| 5 || NCM<br />
|-<br />
| 6 || DD<br />
|-<br />
| 7 || Debug Monitor<br />
|-<br />
| 8 || LR<br />
|-<br />
| 9 || Loader<br />
|-<br />
| 10 || CMIF (IPC command interface)<br />
|-<br />
| 11 || HIPC (IPC)<br />
|-<br />
| 15 || PM<br />
|-<br />
| 16 || NS<br />
|-<br />
| 17 || Sockets<br />
|-<br />
| 18 || HTC<br />
|-<br />
| 20 || NCM Content<br />
|-<br />
| 21 || SM<br />
|-<br />
| 22 || RO userland<br />
|-<br />
| 24 || SDMMC<br />
|-<br />
| 25 || OVLN<br />
|-<br />
| 26 || SPL<br />
|-<br />
| 100 || ETHC<br />
|-<br />
| 101 || I2C<br />
|-<br />
| 102 || GPIO<br />
|-<br />
| 103 || UART<br />
|-<br />
| 105 || Settings<br />
|-<br />
| 107 || WLAN<br />
|-<br />
| 108 || XCD<br />
|-<br />
| 110 || NIFM<br />
|-<br />
| 111 || Hwopus<br />
|-<br />
| 113 || Bluetooth<br />
|-<br />
| 114 || VI<br />
|-<br />
| 115 || NFP<br />
|-<br />
| 116 || Time<br />
|-<br />
| 117 || FGM<br />
|-<br />
| 118 || OE<br />
|-<br />
| 120 || PCIe<br />
|-<br />
| 121 || Friends<br />
|-<br />
| 122 || BCAT<br />
|-<br />
| 123 || SSL<br />
|-<br />
| 124 || Account<br />
|-<br />
| 125 || News<br />
|-<br />
| 126 || Mii<br />
|-<br />
| 127 || NFC<br />
|-<br />
| 128 || AM<br />
|-<br />
| 129 || Play Report<br />
|-<br />
| 130 || AHID<br />
|-<br />
| 132 || Home Menu (Qlaunch)<br />
|-<br />
| 133 || PCV<br />
|-<br />
| 134 || OMM<br />
|-<br />
| 135 || BPC<br />
|-<br />
| 136 || PSM<br />
|-<br />
| 137 || NIM<br />
|-<br />
| 138 || PSC<br />
|-<br />
| 139 || TC<br />
|-<br />
| 140 || USB<br />
|-<br />
| 141 || NSD<br />
|-<br />
| 142 || PCTL<br />
|-<br />
| 143 || BTM<br />
|-<br />
| 144 || EC (Shop)<br />
|-<br />
| 145 || ETicket<br />
|-<br />
| 146 || NGC (Bad Words)<br />
|-<br />
| 147 || Error Report<br />
|-<br />
| 148 || APM<br />
|-<br />
| 150 || Profiler<br />
|-<br />
| 151 || Error Upload<br />
|-<br />
| 153 || Audio<br />
|-<br />
| 154 || NPNS<br />
|-<br />
| 155 || NPNS HTTP Stream<br />
|-<br />
| 157 || ARP<br />
|-<br />
| 158 || SWKBD<br />
|-<br />
| 159 || Boot<br />
|-<br />
| 161 || NFC Mifare<br />
|-<br />
| 162 || Userland assert<br />
|-<br />
| 163 || Fatal<br />
|-<br />
| 164 || NIM Shop<br />
|-<br />
| 165 || SPSM<br />
|-<br />
| 167 || BGTC<br />
|-<br />
| 168 || Userland crash<br />
|-<br />
| 179 || OLSC<br />
|-<br />
| 180 || SREPO<br />
|-<br />
| 181 || Dauth<br />
|-<br />
| 202 || HID<br />
|-<br />
| 203 || LDN<br />
|-<br />
| 205 || Irsensor<br />
|-<br />
| 206 || Capture<br />
|-<br />
| 208 || Manu<br />
|-<br />
| 209 || ATK<br />
|-<br />
| 210 || Web<br />
|-<br />
| 211 ||<br />
|-<br />
| 212 || GRC<br />
|-<br />
| 216 || Migration<br />
|-<br />
| 217 || Migration Idc Server<br />
|-<br />
| 345 || libnx<br />
|-<br />
| 346 || [[Homebrew ABI]]<br />
|-<br />
| 347 || Homebrew Loader<br />
|-<br />
| 348 || libnx Nvidia errors<br />
|-<br />
|}<br />
<br />
= Error codes =<br />
{| class=wikitable<br />
! Value || Module || Description || Notes<br />
|-<br />
| 0x0E01 || 1 || 7 || Session count exceeded<br />
|-<br />
| 0x1C01 || 1 || 14 || Invalid kernel capability descriptor<br />
|-<br />
| 0x4201 || 1 || 33 || Not Implemented<br />
|-<br />
| 0x7601 || 1 || 59 || Thread terminated/termination requested<br />
|-<br />
| 0x8C01 || 1 || 70 || No more debug events<br />
|-<br />
| 0xCA01 || 1 || 101 || Invalid size<br />
|-<br />
| 0xCC01 || 1 || 102 || Invalid address<br />
|-<br />
| 0xCE01 || 1 || 103 || Resource exhaustion<br />
|-<br />
| 0xD001 || 1 || 104 || Memory exhaustion<br />
|-<br />
| 0xD201 || 1 || 105 || Handle-table exhaustion<br />
|-<br />
| 0xD401 || 1 || 106 || Invalid memory state / invalid memory permissions.<br />
|-<br />
| 0xD801 || 1 || 108 || Invalid memory permissions.<br />
|-<br />
| 0xDC01 || 1 || 110 || Invalid memory range<br />
|-<br />
| 0xE001 || 1 || 112 || Invalid thread priority.<br />
|-<br />
| 0xE201 || 1 || 113 || Invalid processor id.<br />
|-<br />
| 0xE401 || 1 || 114 || Invalid handle.<br />
|-<br />
| 0xE601 || 1 || 115 || Invalid pointer/Syscall copy from user failed.<br />
|-<br />
| 0xE801 || 1 || 116 || Invalid combination<br />
|-<br />
| 0xEA01 || 1 || 117 || Time out. Also when you give 0 handles to svcWaitSynchronizationN.<br />
|-<br />
| 0xEC01 || 1 || 118 || Canceled/interrupted [?]<br />
|-<br />
| 0xEE01 || 1 || 119 || Out of range<br />
|-<br />
| 0xF001 || 1 || 120 || Invalid enum<br />
|-<br />
| 0xF201 || 1 || 121 || No such entry<br />
|-<br />
| 0xF401 || 1 || 122 || Irq/DeviceAddressSpace/{...} already registered<br />
|-<br />
| 0xF601 || 1 || 123 || Port remote dead<br />
|-<br />
| 0xF801 || 1 || 124 || [Usermode] Unhandled interrupt/exception<br />
|-<br />
| 0xFA01 || 1 || 125 || Process already started/Wrong memory permission?<br />
|-<br />
| 0xFC01 || 1 || 126 || Reserved value<br />
|-<br />
| 0xFE01 || 1 || 127 || Invalid hardware breakpoint<br />
|-<br />
| 0x10001 || 1 || 128 || [Usermode] Fatal exception<br />
|-<br />
| 0x10201 || 1 || 129 || Last thread didn't belong to your process<br />
|-<br />
| 0x10601 || 1 || 131 || Port closed<br />
|-<br />
| 0x10801 || 1 || 132 || Resource limit exceeded<br />
|-<br />
| 0x20801 || 1 || 260 || Command buffer too small<br />
|-<br />
| 0x40a01 || 1 || 517 || No such process<br />
|-<br />
| 0x41001 || 1 || 520 || Process not being debugged<br />
|-<br />
| 0x202 || 2 || 1 || Path does not exist.<br />
|-<br />
| 0x402 || 2 || 2 || Path already exists.<br />
|-<br />
| 0xE02 || 2 || 7 || Savedata [[Filesystem_services|already]] mounted<br />
|-<br />
| 0x4602 || 2 || 35 || Not enough free space for BIS Calibration partition.<br />
|-<br />
| 0x4802 || 2 || 36 || Not enough free space for BIS Safe partition.<br />
|-<br />
| 0x4A02 || 2 || 37 || Not enough free space for BIS User partition.<br />
|-<br />
| 0x4C02 || 2 || 38 || Not enough free space for BIS System partition.<br />
|-<br />
| 0x4E02 || 2 || 39 || Not enough free space on SD card.<br />
|-<br />
| 0x7802 || 2 || 60 || The specified [[NCA]]-type doesn't exist for this title.<br />
|-<br />
| 0x7D202 || 2 || 1001 || Process does not have RomFs <br />
|-<br />
| 0x7D402 || 2 || 1002 || Title-id not found / savedata not found.<br />
|-<br />
| 0xFA202 || 2 || 2001 || SD card not inserted<br />
|-<br />
| 0x13B002 || 2 || 2520 || Gamecard not inserted<br />
|-<br />
| 0x13DA02 || 2 || 2541 || Version check failed when mounting gamecard sysupdate partition?<br />
|-<br />
| 0x171402 || 2 || 2954 || Invalid gamecard handle.<br />
|-<br />
| 0x177202 || 2 || 3001 || Unimplemented behavior<br />
|-<br />
| 0x177602 || 2 || 3003 || File/Directory already exists.<br />
|-<br />
| 0x190202 || 2 || 3201 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190602 || 2 || 3203 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190802 || 2 || 3204 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190A02 || 2 || 3205 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190C02 || 2 || 3206 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x191002 || 2 || 3208 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x195802 || 2 || 3244 || Allocation failure related to SD cards<br />
|-<br />
| 0x196002 || 2 || 3248 || Out of memory<br />
|-<br />
| 0x196202 || 2 || 3249 || Out of memory<br />
|-<br />
| 0x1A3E02 || 2 || 3359 || Out of memory<br />
|-<br />
| 0x1A4002 || 2 || 3360 || Out of memory<br />
|-<br />
| 0x1A4A02 || 2 || 3365 || Out of memory<br />
|-<br />
| 0x21BC02 || 2 || 4318 || Invalid save data filesystem magic (valid magic is SAVE in ASCII)<br />
|-<br />
| 0x235202 || 2 || 4521 || Invalid NCA Key index<br />
|-<br />
| 0x235E02 || 2 || 4527 || NCA-path used with the wrong titleID.<br />
|-<br />
| 0x249802 || 2 || 4684 || Invalid FAT file number.<br />
|-<br />
| 0x249C02 || 2 || 4686 || Invalid FAT format for BIS User partition.<br />
|-<br />
| 0x249E02 || 2 || 4687 || Invalid FAT format for BIS System partition.<br />
|-<br />
| 0x24A002 || 2 || 4688 || Invalid FAT format for BIS Safe partition.<br />
|-<br />
| 0x24A202 || 2 || 4689 || Invalid FAT format for BIS Calibration partition.<br />
|-<br />
| 0x250E02 || 2 || 4743 || [[NAX0|Corrupted]] NAX0 header.<br />
|-<br />
| 0x251002 || 2 || 4744 || Invalid [[NAX0]] magicnum.<br />
|-<br />
| 0x280202 || 2 || 5121 || Invalid FAT size<br />
|-<br />
| 0x280402 || 2 || 5122 || Invalid FAT BPB (BIOS Parameter Block)<br />
|-<br />
| 0x280602 || 2 || 5123 || Invalid FAT parameter<br />
|-<br />
| 0x280802 || 2 || 5124 || Invalid FAT sector<br />
|-<br />
| 0x280A02 || 2 || 5125 || Invalid FAT sector<br />
|-<br />
| 0x280C02 || 2 || 5126 || Invalid FAT sector<br />
|-<br />
| 0x280E02 || 2 || 5127 || Invalid FAT sector<br />
|-<br />
| 0x296A02 || 2 || 5301 || Mountpoint not found<br />
|-<br />
| 0x2EE202 || 2 || 6001 || Invalid input<br />
|-<br />
| 0x2EE602 || 2 || 6003 || Path too long<br />
|-<br />
| 0x2EE802 || 2 || 6004 || Invalid character.<br />
|-<br />
| 0x2EEA02 || 2 || 6005 || Invalid directory path.<br />
|-<br />
| 0x2EEC02 || 2 || 6006 || Unable to retrieve directory from path<br />
|-<br />
| 0x2F5A02 || 2 || 6061 || Offset outside storage<br />
|-<br />
| 0x313802 || 2 || 6300 || Operation not supported<br />
|-<br />
| 0x320002 || 2 || 6400 || Permission denied<br />
|-<br />
| 0x326602 || 2 || 6451 || Missing titlekey(?) required to mount content<br />
|-<br />
| 0x326E02 || 2 || 6455 || File not closed<br />
|-<br />
| 0x327002 || 2 || 6456 || Directory not closed<br />
|-<br />
| 0x327402 || 2 || 6458 || FS allocators already registered<br />
|-<br />
| 0x327602 || 2 || 6459 || FS allocators already used<br />
|-<br />
| 0x339402 || 2 || 6602 || File not found.<br />
|-<br />
| 0x339602 || 2 || 6603 || Directory not found.<br />
|-<br />
| 0x803 || 3 || 4 || OS busy<br />
|-<br />
| 0xE03 || 3 || 7 || Invalid parameter<br />
|-<br />
| 0x1003 || 3 || 8 || Out of memory<br />
|-<br />
| 0x1203 || 3 || 9 || Out of resources<br />
|-<br />
| 0x3EA03 || 3 || 501 || Invalid handle<br />
|-<br />
| 0x3EE03 || 3 || 503 || Invalid memory mirror<br />
|-<br />
| 0x7FE03 || 3 || 1023 || TLS slot is not allocated<br />
|-<br />
| 0xA05 || 5 || 5 || [[Content_Manager_services|NcaID]] not found. Returned when attempting to mount titles which exist that aren't *8XX titles, the same way *8XX titles are mounted.<br />
|-<br />
| 0xE05 || 5 || 7 || TitleId not found<br />
|-<br />
| 0x1805 || 5 || 12 || Invalid StorageId<br />
|-<br />
| 0xDC05 || 5 || 110 || Gamecard not inserted<br />
|-<br />
| 0x17C05 || 5 || 190 || Gamecard not initialized<br />
|-<br />
| 0x1F405 || 5 || 250 || Sdcard not inserted<br />
|-<br />
| 0x20805 || 5 || 260 || Storage not mounted<br />
|-<br />
| 0x806 || 6 || 4 || Converted from error 0xD401<br />
|-<br />
| 0x1006 || 6 || 8 || Converted from error 0xE401<br />
|-<br />
| 0x408 || 8 || 2 || Program location entry not found<br />
|-<br />
| 0x608 || 8 || 3 || Invalid context for control location<br />
|-<br />
| 0x808 || 8 || 4 || Storage not found<br />
|-<br />
| 0xA08 || 8 || 5 || Access denied<br />
|-<br />
| 0xC08 || 8 || 6 || Offline manual HTML location entry not found<br />
|-<br />
| 0xE08 || 8 || 7 || Title is not registered<br />
|-<br />
| 0x1008 || 8 || 8 || Control location entry for host not found<br />
|-<br />
| 0x1208 || 8 || 9 || Legal info HTML location entry not found<br />
|-<br />
| 0x209 || 9 || 1 || Args too long.<br />
|-<br />
| 0x409 || 9 || 2 || Maximum processes loaded.<br />
|-<br />
| 0x609 || 9 || 3 || NPDM too big.<br />
|-<br />
| 0x19009 || 9 || 200 || Invalid access control sizes in NPDM.<br />
|-<br />
| 0x809 || 9 || 4 || Invalid NPDM.<br />
|-<br />
| 0xA09 || 9 || 5 || Invalid files.<br />
|-<br />
| 0xE09 || 9 || 7 || Already registered.<br />
|-<br />
| 0x1009 || 9 || 8 || Title not found.<br />
|-<br />
| 0x1209 || 9 || 9 || Title-id in ACI0 doesn't match range in ACID.<br />
|-<br />
| 0x6609 || 9 || 51 || Invalid memory state/permission<br />
|-<br />
| 0x6A09 || 9 || 53 || Invalid NRR<br />
|-<br />
| 0xA209 || 9 || 81 || Unaligned NRR address<br />
|-<br />
| 0xA409 || 9 || 82 || Bad NRR size<br />
|-<br />
| 0xAA09 || 9 || 85 || Bad NRR address<br />
|-<br />
| 0xAE09 || 9 || 87 || Bad initialization<br />
|-<br />
| 0xC809 || 9 || 100 || Unknown ACI0 descriptor<br />
|-<br />
| 0xCE09 || 9 || 103 || ACID/ACI0 don't match for descriptor "KernelFlags"<br />
|-<br />
| 0xD009 || 9 || 104 || ACID/ACI0 don't match for descriptor "SyscallMask"<br />
|-<br />
| 0xD409 || 9 || 106 || ACID/ACI0 don't match for descriptor "MapIoOrNormalRange"<br />
|-<br />
| 0xD609 || 9 || 107 || ACID/ACI0 don't match for descriptor "MapNormalPage"<br />
|-<br />
| 0xDE09 || 9 || 111 || ACID/ACI0 don't match for descriptor "InterruptPair"<br />
|-<br />
| 0xE209 || 9 || 113 || ACID/ACI0 don't match for descriptor "ApplicationType"<br />
|-<br />
| 0xE409 || 9 || 114 || ACID/ACI0 don't match for descriptor "KernelReleaseVersion"<br />
|-<br />
| 0xE609 || 9 || 115 || ACID/ACI0 don't match for descriptor "HandleTableSize"<br />
|-<br />
| 0xE809 || 9 || 116 || ACID/ACI0 don't match for descriptor "DebugFlags"<br />
|-<br />
| 0x1940A || 10 || 202 || Invalid CMIF header size.<br />
|-<br />
| 0x1A60A || 10 || 211 || Invalid CMIF input header.<br />
|-<br />
| 0x1A80A || 10 || 212 || Invalid CMIF output header.<br />
|-<br />
| 0x1BA0A || 10 || 221 || Invalid method dispatch ID.<br />
|-<br />
| 0x1D60A || 10 || 235 || Invalid in object count.<br />
|-<br />
| 0x1D80A || 10 || 236 || Invalid out object count.<br />
|-<br />
| 0x25A0A || 10 || 301 || Out of domain entries.<br />
|-<br />
| 0x20B || 11 || 1 || Unsupported operation<br />
|-<br />
| 0xCC0B || 11 || 102 || Out of server session memory<br />
|-<br />
| 0x11A0B || 11 || 141 || Went past maximum during marshalling.<br />
|-<br />
| 0x1900B || 11 || 200 || Session doesn't support domains.<br />
|-<br />
| 0x25A0B || 11 || 301 || Remote process is dead.<br />
|-<br />
| 0x3260B || 11 || 403 || Unknown request type<br />
|-<br />
| 0x3D60B || 11 || 491 || IPC Query 1 failed.<br />
|-<br />
| 0x20F || 15 || 1 || Pid not found<br />
|-<br />
| 0x60F || 15 || 3 || Process has no pending events<br />
|-<br />
| 0xA0F || 15 || 5 || Application already running<br />
|-<br />
| 0x410 || 16 || 2 || Title-id not found<br />
|-<br />
| 0xF010 || 16 || 120 || Gamecard sysupdate not required<br />
|-<br />
| 0x1F610 || 16 || 251 || Unexpected StorageId<br />
|-<br />
| 0x215 || 21 || 1 || Out of processes<br />
|-<br />
| 0x415 || 21 || 2 || Not initialized.<br />
|-<br />
| 0x615 || 21 || 3 || Max sessions<br />
|-<br />
| 0x815 || 21 || 4 || Service already registered<br />
|-<br />
| 0xA15 || 21 || 5 || Out of services<br />
|-<br />
| 0xC15 || 21 || 6 || Invalid name (all zeroes)<br />
|-<br />
| 0xE15 || 21 || 7 || Service not registered<br />
|-<br />
| 0x1015 || 21 || 8 || Permission denied<br />
|-<br />
| 0x1215 || 21 || 9 || Service Access Control too big.<br />
|-<br />
| 0x416 || 22 || 2 || Address space is full<br />
|-<br />
| 0x616 || 22 || 3 || NRO already loaded<br />
|-<br />
| 0x816 || 22 || 4 || Invalid NRO header values<br />
|-<br />
| 0xC16 || 22 || 6 || Bad NRR magic<br />
|-<br />
| 0x1016 || 22 || 8 || Reached max NRR count<br />
|-<br />
| 0x1216 || 22 || 9 || Unable to verify NRO hash or NRR signature<br />
|-<br />
| 0x80216 || 22 || 1025 || Address not page-aligned<br />
|-<br />
| 0x80416 || 22 || 1026 || Incorrect NRO size<br />
|-<br />
| 0x80816 || 22 || 1028 || NRO not loaded<br />
|-<br />
| 0x80A16 || 22 || 1029 || NRR not loaded<br />
|-<br />
| 0x80C16 || 22 || 1030 || Already initialized<br />
|-<br />
| 0x80E16 || 22 || 1031 || Not initialized<br />
|-<br />
| 0x41A || 26 || 2 || Argument is invalid<br />
|-<br />
| 0xC81A || 26 || 100 || Incorrect buffer size<br />
|-<br />
| 0xCA1A || 26 || 101 || Unknown TZ error<br />
|-<br />
| 0xD01A || 26 || 104 || All AES engines busy<br />
|-<br />
| 0xD21A || 26 || 105 || Invalid AES engine-id<br />
|-<br />
| 0x19669 || 105 || 203 || Setting value cannot be NULL<br />
|-<br />
| 0x1BA69 || 105 || 221 || Setting group name has zero length<br />
|-<br />
| 0x1E269 || 105 || 241 || Setting group name is too long (64 character limit?)<br />
|-<br />
| 0x1E469 || 105 || 242 || Setting name is too long (64 character limit?)<br />
|-<br />
| 0x20A69 || 105 || 261 || Setting group name ends with '.' or contains invalid characters (allowed: [a-z0-9_\-.])<br />
|-<br />
| 0x20C69 || 105 || 262 || Setting name ends with '.' or contains invalid characters (allowed: [a-z0-9_\-.])<br />
|-<br />
| 0x272 || 114 || 1 || Generic error<br />
|-<br />
| 0xCC74 || 116 || 102 || Time not set<br />
|-<br />
| 0x287C || 124 || 20 || Argument is NULL<br />
|-<br />
| 0x2C7C || 124 || 22 || Argument is invalid<br />
|-<br />
| 0x3C7C || 124 || 30 || Bad input buffer size<br />
|-<br />
| 0x407C || 124 || 32 || Invalid input buffer<br />
|-<br />
| 0x4680 || 128 || 35 || Error while launching applet.<br />
|-<br />
| 0x4A80 || 128 || 37 || Title-ID not found. Caused by code 0x410 when applet launch fails<br />
|-<br />
| 0x3E880 || 128 || 500 || Invalid IStorage size (negative?)<br />
|-<br />
| 0x3EC80 || 128 || 502 || IStorage has already been opened by another accessor<br />
|-<br />
| 0x3EE80 || 128 || 503 || IStorage Read/Write out-of-bounds<br />
|-<br />
| 0x3FE80 || 128 || 511 || IStorage opened as wrong type (data opened as transfermem, transfermem opened as data)<br />
|-<br />
| 0x4B080 || 128 || 600 || Failed to allocate memory for IStorage<br />
|-<br />
| 0x59080 || 128 || 712 || Thread stack pool exhausted (out of memory)<br />
|-<br />
| 0x7A880 || 128 || 980 || <code>am.debug!dev_function</code> setting needs to be set<br />
|-<br />
| 0xA83 || 131 || 5 || Unrecognized applet ID<br />
|-<br />
| 0x3CF089 || 137 || 7800 || Unknown/invalid libcurl error.<br />
|-<br />
| 0x3E8289-0x3F4089 || 137 || 8001-8096 || libcurl error 1-96. Some of the libcurl errors in the error-table map to the above unknown-libcurl-error however.<br />
|-<br />
| 0x68A || 138 || 3 || Not initialized.<br />
|-<br />
| 0x668C || 140 || 51 || USB data-transfer in progress<br />
|-<br />
| 0xD48C || 140 || 106 || Invalid descriptor<br />
|-<br />
| 0x1928C || 140 || 201 || USB device not bound / interface already enabled<br />
|-<br />
| 0x299 || 153 || 1 || Invalid audio device<br />
|-<br />
| 0x499 || 153 || 2 || Operation couldn't complete successfully<br />
|-<br />
| 0x699 || 153 || 3 || Invalid sample rate<br />
|-<br />
| 0x899 || 153 || 4 || Buffer size too small<br />
|-<br />
| 0x1099 || 153 || 8 || Too many buffers are still unreleased<br />
|-<br />
| 0x1499 || 153 || 10 || Invalid channel count<br />
|-<br />
| 0x40299 || 153 || 513 || Invalid/Unsupported operation<br />
|-<br />
| 0xC0099 || 153 || 1536 || Invalid handle<br />
|-<br />
| 0xC0899 || 153 || 1540 || Audio output was already started<br />
|-<br />
| 0x3C9D || 157 || 30 || Address is NULL<br />
|-<br />
| 0x3E9D || 157 || 31 || PID is NULL<br />
|-<br />
| 0x549D || 157 || 42 || Already bound<br />
|-<br />
| 0xCC9D || 157 || 102 || Invalid PID<br />
|-<br />
| 0xAA3 || 163 || 5 || System is booting up repair process without VOL+ held down.<br />
|-<br />
| 0xCA3 || 163 || 6 || System is booting up repair process that requires RepairTimeReviser but does not have special cartridge inserted.<br />
|-<br />
| 0xF0CD || 205 || 120 || IR image data not available/ready.<br />
|-<br />
| 0x35B || 347 || 1 || Failed to init SM.<br />
|-<br />
| 0x55B || 347 || 2 || Failed to init FS.<br />
|-<br />
| 0x75B || 347 || 3 || Failed to to open NRO file. May also happen when SD card isn't inserted / SD mounting failed earlier.<br />
|-<br />
| 0x95B || 347 || 4 || Failed to read NRO header.<br />
|-<br />
| 0xB5B || 347 || 5 || Invalid NRO magic.<br />
|-<br />
| 0xD5B || 347 || 6 || Invalid NRO segments.<br />
|-<br />
| 0xF5B || 347 || 7 || Failed to read NRO.<br />
|-<br />
| 0x135B || 347 || 9 || Failed to allocate heap.<br />
|-<br />
| 0x255B || 347 || 18 || Failed to map code-binary memory.<br />
|-<br />
| 0x275B || 347 || 19 || Failed to map code memory (.text).<br />
|-<br />
| 0x295B || 347 || 20 || Failed to map code memory (.rodata).<br />
|-<br />
| 0x2B5B || 347 || 21 || Failed to map code memory (.data+.bss).<br />
|-<br />
| 0x315B || 347 || 24 || Failed to unmap code memory (.text).<br />
|-<br />
| 0x335B || 347 || 25 || Failed to unmap code memory (.rodata).<br />
|-<br />
| 0x355B || 347 || 26 || Failed to unmap code memory (.data+.bss).<br />
|}<br />
<br />
== FS Error Codes ==<br />
The following are the error codes recognized by nn::fs::detail::LogErrorMessage found in some [[Factory Setup|factory]] titles:<br />
<br />
{| class=wikitable<br />
! Value || Description || Message<br />
|-<br />
| 0x7802 || 60 || Error: Specified mount name already exists.<br />
|-<br />
| 0xD401 || 106 || Error: Passed buffer is not usable for fs library.<br />
|-<br />
| 0x7D202 || 1001 || Error: Specified partition is not found.<br />
|-<br />
| 0x7D402 || 1002 || Error: Specified target is not found.<br />
|-<br />
| 0xFA002 - 0x138602 || 2000 - 2499 || Error: Failed to access SD card.<br />
|-<br />
| 0x136802 - 0x176E02 || 2500 - 2999 || Error: Failed to access game card.<br />
|-<br />
| 0x177202 || 3001 || Error: Specified operation is not implemented.<br />
|-<br />
| 0x177A02 || 3005 || Error: Specified value is out of range.<br />
|-<br />
| 0x1B5802 - 0x1F3E02 || 3500 - 3999 || Error: Failed to access MMC.<br />
|-<br />
| 0x1F4202 - 0x219602 || 4001 - 4299 || Error: ROM is corrupted.<br />
|-<br />
| 0x219A02 - 0x232602 || 4301 - 4499 || Error: Save data is corrupted.<br />
|-<br />
| 0x232A02 - 0x23EE02 || 4501 - 4599 || Error: NCA is corrupted.<br />
|-<br />
| 0x23F202 - 0x243E02 || 4601 - 4639 || Error: Integrity verification failed.<br />
|-<br />
| 0x244202 - 0x246602 || 4641 - 4659 || Error: Partition FS is corrupted.<br />
|-<br />
| 0x246A02 - 0x248E02 || 4661 - 4679 || Error: Built-in-storage is corrupted.<br />
|-<br />
| 0x249202 - 0x24B602 || 4681 - 4699 || Error: FAT FS is corrupted.<br />
|-<br />
| 0x24BA02 - 0x24DE02 || 4701 - 4719 || Error: HOST FS is corrupted.<br />
|-<br />
| 0x1F4002 - 0x270E02 || 4000, 4300, 4500, 4600, 4640, 4660, 4680, 4700, 4720-4999 || Error: Data is corrupted.<br />
|-<br />
| 0x271002 - 0x2EDE02 || 5000-5999 || Error: Unexpected failure occurred.<br />
|-<br />
| 0x2EE402 - 0x2F1A02 || 6002-6029 || Error: Invalid path was specified.<br />
|-<br />
| 0x2F5A02 || 6061 || Error: Invalid offset was specified.<br />
|-<br />
| 0x2F5C02 || 6062 || Error: Invalid size was specified.<br />
|-<br />
| 0x2F5E02 || 6063 || Error: Null pointer argument was specified.<br />
|-<br />
| 0x2EE002 || 6000 || Error: Precondition violation.<br />
|-<br />
| 0x2EE202 - 0x306E02 || 6001-6199 || Error: Invalid argument was specified.<br />
|-<br />
| 0x307202 || 6201 || Error: OpenMode_AllowAppend is required for implicit extension of file size by WriteFile().<br />
|-<br />
| 0x307002 - 0x313602 || 6200, 6202 - 6299 || Error: Invalid operation for the open mode.<br />
|-<br />
| 0x313802 - 0x31FE02 || 6300-6399 || Error: Unsupported operation.<br />
|-<br />
| 0x320002 - 0x32C602 || 6400-6499 || Error: Permission denied.<br />
|-<br />
| 0x346402 || 6706 || Error: Enough journal space is not left.<br />
|-<br />
| 0x346A02 || 6709 || Error: The open count of files and directories reached the limitation.<br />
|}<br />
<br />
= Fatal Errors =<br />
{| class=wikitable<br />
! Error || Description<br />
|-<br />
| 2162-0002<br />
| Can be triggered by running [[SVC|svcBreak]]. The svcBreak params have no affect on the value of the thrown error-code.<br />
|-<br />
| 2168-0000<br />
| Userland ARM undefined instruction exception<br />
|-<br />
| 2168-0001<br />
| Userland ARM prefetch-abort due to PC set to non-executable region<br />
|-<br />
| 2168-0002<br />
| Userland ARM data abort. Also caused by abnormal process termination via [[SVC|svcExitProcess]]. Note: directly jumping to nnMain()-retaddr from non-main-thread has the same result.<br />
|-<br />
| 2168-0003<br />
| Userland PC address not aligned to 4 bytes<br />
|-<br />
| 2168-0008<br />
| Can occur when attempting to call an svc outside the whitelist<br />
|}<br />
<br />
= Support Errors =<br />
This section is for Support Errors displayed by the error-applet, separate from the normal Result errors.<br />
<br />
== Support Modules ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 800 || [[Internet_Browser|General web-applet]]<br />
|-<br />
| 809 || [[Internet_Browser|WifiWebAuthApplet]]<br />
|-<br />
| 810 || [[Internet_Browser|Whitelisted-applet]]<br />
|-<br />
| 811 || [[Internet_Browser|ShopN]]<br />
|}<br />
<br />
8XX is for/includes system applets.<br />
<br />
== Errors ==<br />
{| class=wikitable<br />
! Error || Module || Description || Notes<br />
|-<br />
| <br />
| {web-applets listed above}<br />
| 2750<br />
| MP4 parsing failed.<br />
|}<br />
<br />
Normal error-codes displayed by the system also use the same format as fatal-errors.</div>
Misson20000
https://switchbrew.org/w/index.php?title=NSO&diff=5522
NSO
2018-11-11T19:20:26Z
<p>Misson20000: surprised the page didn't already mention that compression is LZ4</p>
<hr />
<div>[[Category:File formats]]<br />
NSO is the main executable format.<br />
<br />
It starts with the "NSO" header and mainly describes .text, .rodata, and .data segments (like a short-form of ELF program headers). If the segments are compressed, they are compressed using LZ4.<br />
<br />
= NSO Header =<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 4<br />
| Magic "NSO0"<br />
|-<br />
| 0x4<br />
| 4<br />
| NSO Version (Always 0)<br />
|-<br />
| 0x8<br />
| 4<br />
| Reserved (Unused)<br />
|-<br />
| 0xC<br />
| 4<br />
| Flags, bit 0-2: (.text, .rodata and .data) section is compressed, bit 3-5: check section hash when loading<br />
|-<br />
| 0x10<br />
| 0xC<br />
| .text SegmentHeader<br />
|-<br />
| 0x1C<br />
| 0x4 <br />
| Module offset (calculated by sizeof(header))<br />
|-<br />
| 0x20<br />
| 0xC<br />
| .rodata SegmentHeader<br />
|-<br />
| 0x2C<br />
| 0x4<br />
| Module file size<br />
|-<br />
| 0x30<br />
| 0xC<br />
| .data SegmentHeader<br />
|-<br />
| 0x3C<br />
| 0x4<br />
| bssSize<br />
|-<br />
| 0x40<br />
| 0x20<br />
| Value of "build id" from ELF's GNU .note section. Contains variable sized digest, up to 32bytes.<br />
|-<br />
| 0x60<br />
| 0x4<br />
| .text compressed size<br />
|-<br />
| 0x64<br />
| 0x4<br />
| .rodata compressed size<br />
|-<br />
| 0x68<br />
| 0x4<br />
| .data compressed size<br />
|-<br />
| 0x6C<br />
| 0x1C<br />
| Reserved (Padding)<br />
|-<br />
| 0x88<br />
| 0x8<br />
| .rodata-relative extents of .api_info<br />
|-<br />
| 0x90<br />
| 0x8<br />
| .rodata-relative extents of .dynstr<br />
|-<br />
| 0x98<br />
| 0x8<br />
| .rodata-relative extents of .dynsym<br />
|-<br />
| 0xA0<br />
| 0x20 * 3<br />
| SHA256 hashes over the decompressed sections using the above byte-sizes: .text, .rodata, and .data.<br />
|-<br />
| 0x100<br />
|<br />
| Compressed sections<br />
|}<br />
<br />
Most data in Switch binaries are standard ELF structures, however some are custom.<br />
For example, the MOD header is essentially a replacement for a PT_DYNAMIC program header.<br />
<br />
== SegmentHeader ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 0x4<br />
| FileOffset<br />
|-<br />
| 0x4<br />
| 0x4<br />
| MemoryOffset<br />
|-<br />
| 0x8<br />
| 0x4<br />
| DecompressedSize<br />
|}<br />
<br />
== .rodata-relative extent ==<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 4<br />
| RegionRoDataOffset<br />
|-<br />
| 0x4<br />
| 4<br />
| RegionSize<br />
|}<br />
<br />
== MOD ==<br />
All offsets are signed 32bit values relative to the magic field.<br />
The 32bits at image base + 4 must point to the magic field.<br />
The MOD structure is designed such that it can be placed at image base and point to itself.<br />
The 2 fields preceding the magic field get copied around with the structure, even if it is relocated to somewhere besides the image base. If MOD is not located at image base, the value at offset 4 must still point to the MOD magic. In the case of .text being at image base, this implies that the first instruction can only be an unconditional branch over the offset literal.<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x00<br />
| 4<br />
| ZeroPadding<br />
|-<br />
| 0x04<br />
| 4<br />
| MagicOffset. Always 8 (so it works when MOD is at image_base + 0).<br />
|-<br />
| 0x08<br />
| 4<br />
| Magic "MOD0"<br />
|-<br />
| 0x0C<br />
| 4<br />
| .dynamic offset<br />
|-<br />
| 0x10<br />
| 4<br />
| .bss start offset<br />
|-<br />
| 0x14<br />
| 4<br />
| .bss end offset<br />
|-<br />
| 0x18<br />
| 4<br />
| .eh_frame_hdr start offset<br />
|-<br />
| 0x1C<br />
| 4<br />
| .eh_frame_hdr end offset<br />
|-<br />
| 0x20<br />
| 4<br />
| offset to runtime-generated module object. typically equal to .bss base.<br />
|}<br />
<br />
=Arguments=<br />
Loader maps memory and writes the [[Loader_services#AddProcessToLaunchQueue|arguments]] to {end of rwdata section specified by last SegmentHeader}. Official processes use argdata_addr = {page-aligned _end}. svcQueryMemory is used by official sw to verify that argdata_addr is mapped RW, since this memory is only mapped when arguments are specified via that command. Afterwards, official sw aligns the argdata_addr to 4-bytes. Structure located at argdata_addr:<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0 || 0x4 || This is the total allocated space relative to argdata_addr, used for calculating the max size of the argv ptr array. Normally 0x9000?<br />
|-<br />
| 0x4 || 0x4 || This is the total_bytesize of the actual argdata string.<br />
|-<br />
| 0x8 || 0x18 || Unused by official sw.<br />
|-<br />
| 0x20 || See above || Actual argdata string.<br />
|}<br />
<br />
* The copy of the args used with the argv array is written by official processes to actual_argdata_string+actual_argdata_size.<br />
* argv_ptrarray written by official processes is at (args_copy+actual_argdata_size) + 0x9 & ~0x7.</div>
Misson20000
https://switchbrew.org/w/index.php?title=Error_codes&diff=5517
Error codes
2018-11-10T23:46:32Z
<p>Misson20000: /* Error codes */</p>
<hr />
<div>= Structure =<br />
These have been redesigned from the 3DS so that they fit within a Aarch64 MOV instruction immediate most of the time (without requiring the additional MOVK).<br />
<br />
{| class=wikitable<br />
! Bits || Field<br />
|-<br />
| 8-0 || Module<br />
|-<br />
| 21-9 || Description<br />
|}<br />
<br />
When a fatal-error is received the error code is outputted using the following formatter:<br />
%04d-%04d<br />
<br />
.. where the first code is <code>2000 + Module</code>, and the other being <code>Description</code>. Bits >=22 from the error-code are unused when displaying fatal-errors, since the Description ends with bit21.<br />
<br />
= Modules =<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 1 || Kernel<br />
|-<br />
| 2 || FS<br />
|-<br />
| 3 || OS (Memory, Thread, Mutex, NVIDIA)<br />
|-<br />
| 4 || HTCS<br />
|-<br />
| 5 || NCM<br />
|-<br />
| 6 || DD<br />
|-<br />
| 7 || Debug Monitor<br />
|-<br />
| 8 || LR<br />
|-<br />
| 9 || Loader<br />
|-<br />
| 10 || CMIF (IPC command interface)<br />
|-<br />
| 11 || HIPC (IPC)<br />
|-<br />
| 15 || PM<br />
|-<br />
| 16 || NS<br />
|-<br />
| 17 || Sockets<br />
|-<br />
| 18 || HTC<br />
|-<br />
| 20 || NCM Content<br />
|-<br />
| 21 || SM<br />
|-<br />
| 22 || RO userland<br />
|-<br />
| 24 || SDMMC<br />
|-<br />
| 25 || OVLN<br />
|-<br />
| 26 || SPL<br />
|-<br />
| 100 || ETHC<br />
|-<br />
| 101 || I2C<br />
|-<br />
| 102 || GPIO<br />
|-<br />
| 103 || UART<br />
|-<br />
| 105 || Settings<br />
|-<br />
| 107 || WLAN<br />
|-<br />
| 108 || XCD<br />
|-<br />
| 110 || NIFM<br />
|-<br />
| 111 || Hwopus<br />
|-<br />
| 113 || Bluetooth<br />
|-<br />
| 114 || VI<br />
|-<br />
| 115 || NFP<br />
|-<br />
| 116 || Time<br />
|-<br />
| 117 || FGM<br />
|-<br />
| 118 || OE<br />
|-<br />
| 120 || PCIe<br />
|-<br />
| 121 || Friends<br />
|-<br />
| 122 || BCAT<br />
|-<br />
| 123 || SSL<br />
|-<br />
| 124 || Account<br />
|-<br />
| 125 || News<br />
|-<br />
| 126 || Mii<br />
|-<br />
| 127 || NFC<br />
|-<br />
| 128 || AM<br />
|-<br />
| 129 || Play Report<br />
|-<br />
| 130 || AHID<br />
|-<br />
| 132 || Home Menu (Qlaunch)<br />
|-<br />
| 133 || PCV<br />
|-<br />
| 134 || OMM<br />
|-<br />
| 135 || BPC<br />
|-<br />
| 136 || PSM<br />
|-<br />
| 137 || NIM<br />
|-<br />
| 138 || PSC<br />
|-<br />
| 139 || TC<br />
|-<br />
| 140 || USB<br />
|-<br />
| 141 || NSD<br />
|-<br />
| 142 || PCTL<br />
|-<br />
| 143 || BTM<br />
|-<br />
| 144 || EC (Shop)<br />
|-<br />
| 145 || ETicket<br />
|-<br />
| 146 || NGC (Bad Words)<br />
|-<br />
| 147 || Error Report<br />
|-<br />
| 148 || APM<br />
|-<br />
| 150 || Profiler<br />
|-<br />
| 151 || Error Upload<br />
|-<br />
| 153 || Audio<br />
|-<br />
| 154 || NPNS<br />
|-<br />
| 155 || NPNS HTTP Stream<br />
|-<br />
| 157 || ARP<br />
|-<br />
| 158 || SWKBD<br />
|-<br />
| 159 || Boot<br />
|-<br />
| 161 || NFC Mifare<br />
|-<br />
| 162 || Userland assert<br />
|-<br />
| 163 || Fatal<br />
|-<br />
| 164 || NIM Shop<br />
|-<br />
| 165 || SPSM<br />
|-<br />
| 167 || BGTC<br />
|-<br />
| 168 || Userland crash<br />
|-<br />
| 179 || OLSC<br />
|-<br />
| 180 || SREPO<br />
|-<br />
| 181 || Dauth<br />
|-<br />
| 202 || HID<br />
|-<br />
| 203 || LDN<br />
|-<br />
| 205 || Irsensor<br />
|-<br />
| 206 || Capture<br />
|-<br />
| 208 || Manu<br />
|-<br />
| 209 || ATK<br />
|-<br />
| 210 || Web<br />
|-<br />
| 211 ||<br />
|-<br />
| 212 || GRC<br />
|-<br />
| 216 || Migration<br />
|-<br />
| 217 || Migration Idc Server<br />
|-<br />
| 345 || libnx<br />
|-<br />
| 346 || [[Homebrew ABI]]<br />
|-<br />
| 347 || Homebrew Loader<br />
|-<br />
| 348 || libnx Nvidia errors<br />
|-<br />
|}<br />
<br />
= Error codes =<br />
{| class=wikitable<br />
! Value || Module || Description || Notes<br />
|-<br />
| 0x1C01 || 1 || 14 || Invalid kernel capability descriptor<br />
|-<br />
| 0x4201 || 1 || 33 || Not Implemented<br />
|-<br />
| 0x7601 || 1 || 59 || Thread terminated/termination requested<br />
|-<br />
| 0x8C01 || 1 || 70 || No more debug events<br />
|-<br />
| 0xCA01 || 1 || 101 || Invalid size<br />
|-<br />
| 0xCC01 || 1 || 102 || Invalid address<br />
|-<br />
| 0xCE01 || 1 || 103 || Resource exhaustion<br />
|-<br />
| 0xD001 || 1 || 104 || Memory exhaustion<br />
|-<br />
| 0xD201 || 1 || 105 || Handle-table exhaustion<br />
|-<br />
| 0xD401 || 1 || 106 || Invalid memory state / invalid memory permissions.<br />
|-<br />
| 0xD801 || 1 || 108 || Invalid memory permissions.<br />
|-<br />
| 0xDC01 || 1 || 110 || Invalid memory range<br />
|-<br />
| 0xE001 || 1 || 112 || Invalid thread priority.<br />
|-<br />
| 0xE201 || 1 || 113 || Invalid processor id.<br />
|-<br />
| 0xE401 || 1 || 114 || Invalid handle.<br />
|-<br />
| 0xE601 || 1 || 115 || Invalid pointer/Syscall copy from user failed.<br />
|-<br />
| 0xE801 || 1 || 116 || Invalid combination<br />
|-<br />
| 0xEA01 || 1 || 117 || Time out. Also when you give 0 handles to svcWaitSynchronizationN.<br />
|-<br />
| 0xEC01 || 1 || 118 || Canceled/interrupted [?]<br />
|-<br />
| 0xEE01 || 1 || 119 || Out of range<br />
|-<br />
| 0xF001 || 1 || 120 || Invalid enum<br />
|-<br />
| 0xF201 || 1 || 121 || No such entry<br />
|-<br />
| 0xF401 || 1 || 122 || Irq/DeviceAddressSpace/{...} already registered<br />
|-<br />
| 0xF601 || 1 || 123 || Port remote dead<br />
|-<br />
| 0xF801 || 1 || 124 || [Usermode] Unhandled interrupt<br />
|-<br />
| 0xFA01 || 1 || 125 || Process already started/Wrong memory permission?<br />
|-<br />
| 0xFC01 || 1 || 126 || Reserved value<br />
|-<br />
| 0xFE01 || 1 || 127 || Invalid hardware breakpoint<br />
|-<br />
| 0x10001 || 1 || 128 || [Usermode] Fatal exception<br />
|-<br />
| 0x10201 || 1 || 129 || Last thread didn't belong to your process<br />
|-<br />
| 0x10601 || 1 || 131 || Port closed<br />
|-<br />
| 0x10801 || 1 || 132 || Resource limit exceeded<br />
|-<br />
| 0x20801 || 1 || 260 || Command buffer too small<br />
|-<br />
| 0x40a01 || 1 || 517 || No such process<br />
|-<br />
| 0x41001 || 1 || 520 || Process not being debugged<br />
|-<br />
| 0x202 || 2 || 1 || Path does not exist.<br />
|-<br />
| 0x402 || 2 || 2 || Path already exists.<br />
|-<br />
| 0xE02 || 2 || 7 || Savedata [[Filesystem_services|already]] mounted<br />
|-<br />
| 0x4602 || 2 || 35 || Not enough free space for BIS Calibration partition.<br />
|-<br />
| 0x4802 || 2 || 36 || Not enough free space for BIS Safe partition.<br />
|-<br />
| 0x4A02 || 2 || 37 || Not enough free space for BIS User partition.<br />
|-<br />
| 0x4C02 || 2 || 38 || Not enough free space for BIS System partition.<br />
|-<br />
| 0x4E02 || 2 || 39 || Not enough free space on SD card.<br />
|-<br />
| 0x7802 || 2 || 60 || The specified [[NCA]]-type doesn't exist for this title.<br />
|-<br />
| 0x7D202 || 2 || 1001 || Process does not have RomFs <br />
|-<br />
| 0x7D402 || 2 || 1002 || Title-id not found / savedata not found.<br />
|-<br />
| 0xFA202 || 2 || 2001 || SD card not inserted<br />
|-<br />
| 0x13B002 || 2 || 2520 || Gamecard not inserted<br />
|-<br />
| 0x13DA02 || 2 || 2541 || Version check failed when mounting gamecard sysupdate partition?<br />
|-<br />
| 0x171402 || 2 || 2954 || Invalid gamecard handle.<br />
|-<br />
| 0x177202 || 2 || 3001 || Unimplemented behavior<br />
|-<br />
| 0x177602 || 2 || 3003 || File/Directory already exists.<br />
|-<br />
| 0x190202 || 2 || 3201 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190602 || 2 || 3203 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190802 || 2 || 3204 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190A02 || 2 || 3205 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x190C02 || 2 || 3206 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x191002 || 2 || 3208 || Memory allocation failure related to FAT filesystem code<br />
|-<br />
| 0x195802 || 2 || 3244 || Allocation failure related to SD cards<br />
|-<br />
| 0x196002 || 2 || 3248 || Out of memory<br />
|-<br />
| 0x196202 || 2 || 3249 || Out of memory<br />
|-<br />
| 0x1A3E02 || 2 || 3359 || Out of memory<br />
|-<br />
| 0x1A4002 || 2 || 3360 || Out of memory<br />
|-<br />
| 0x1A4A02 || 2 || 3365 || Out of memory<br />
|-<br />
| 0x21BC02 || 2 || 4318 || Invalid save data filesystem magic (valid magic is SAVE in ASCII)<br />
|-<br />
| 0x235202 || 2 || 4521 || Invalid NCA Key index<br />
|-<br />
| 0x235E02 || 2 || 4527 || NCA-path used with the wrong titleID.<br />
|-<br />
| 0x249802 || 2 || 4684 || Invalid FAT file number.<br />
|-<br />
| 0x249C02 || 2 || 4686 || Invalid FAT format for BIS User partition.<br />
|-<br />
| 0x249E02 || 2 || 4687 || Invalid FAT format for BIS System partition.<br />
|-<br />
| 0x24A002 || 2 || 4688 || Invalid FAT format for BIS Safe partition.<br />
|-<br />
| 0x24A202 || 2 || 4689 || Invalid FAT format for BIS Calibration partition.<br />
|-<br />
| 0x250E02 || 2 || 4743 || [[NAX0|Corrupted]] NAX0 header.<br />
|-<br />
| 0x251002 || 2 || 4744 || Invalid [[NAX0]] magicnum.<br />
|-<br />
| 0x280202 || 2 || 5121 || Invalid FAT size<br />
|-<br />
| 0x280402 || 2 || 5122 || Invalid FAT BPB (BIOS Parameter Block)<br />
|-<br />
| 0x280602 || 2 || 5123 || Invalid FAT parameter<br />
|-<br />
| 0x280802 || 2 || 5124 || Invalid FAT sector<br />
|-<br />
| 0x280A02 || 2 || 5125 || Invalid FAT sector<br />
|-<br />
| 0x280C02 || 2 || 5126 || Invalid FAT sector<br />
|-<br />
| 0x280E02 || 2 || 5127 || Invalid FAT sector<br />
|-<br />
| 0x296A02 || 2 || 5301 || Mountpoint not found<br />
|-<br />
| 0x2EE202 || 2 || 6001 || Invalid input<br />
|-<br />
| 0x2EE602 || 2 || 6003 || Path too long<br />
|-<br />
| 0x2EE802 || 2 || 6004 || Invalid character.<br />
|-<br />
| 0x2EEA02 || 2 || 6005 || Invalid directory path.<br />
|-<br />
| 0x2EEC02 || 2 || 6006 || Unable to retrieve directory from path<br />
|-<br />
| 0x2F5A02 || 2 || 6061 || Offset outside storage<br />
|-<br />
| 0x313802 || 2 || 6300 || Operation not supported<br />
|-<br />
| 0x320002 || 2 || 6400 || Permission denied<br />
|-<br />
| 0x326602 || 2 || 6451 || Missing titlekey(?) required to mount content<br />
|-<br />
| 0x326E02 || 2 || 6455 || File not closed<br />
|-<br />
| 0x327002 || 2 || 6456 || Directory not closed<br />
|-<br />
| 0x327402 || 2 || 6458 || FS allocators already registered<br />
|-<br />
| 0x327602 || 2 || 6459 || FS allocators already used<br />
|-<br />
| 0x339402 || 2 || 6602 || File not found.<br />
|-<br />
| 0x339602 || 2 || 6603 || Directory not found.<br />
|-<br />
| 0x803 || 3 || 4 || OS busy<br />
|-<br />
| 0xE03 || 3 || 7 || Invalid parameter<br />
|-<br />
| 0x1003 || 3 || 8 || Out of memory<br />
|-<br />
| 0x1203 || 3 || 9 || Out of resources<br />
|-<br />
| 0x3EA03 || 3 || 501 || Invalid handle<br />
|-<br />
| 0x3EE03 || 3 || 503 || Invalid memory mirror<br />
|-<br />
| 0x7FE03 || 3 || 1023 || TLS slot is not allocated<br />
|-<br />
| 0xA05 || 5 || 5 || [[Content_Manager_services|NcaID]] not found. Returned when attempting to mount titles which exist that aren't *8XX titles, the same way *8XX titles are mounted.<br />
|-<br />
| 0xE05 || 5 || 7 || TitleId not found<br />
|-<br />
| 0x1805 || 5 || 12 || Invalid StorageId<br />
|-<br />
| 0xDC05 || 5 || 110 || Gamecard not inserted<br />
|-<br />
| 0x17C05 || 5 || 190 || Gamecard not initialized<br />
|-<br />
| 0x1F405 || 5 || 250 || Sdcard not inserted<br />
|-<br />
| 0x20805 || 5 || 260 || Storage not mounted<br />
|-<br />
| 0x806 || 6 || 4 || Converted from error 0xD401<br />
|-<br />
| 0x1006 || 6 || 8 || Converted from error 0xE401<br />
|-<br />
| 0x408 || 8 || 2 || Program location entry not found<br />
|-<br />
| 0x608 || 8 || 3 || Invalid context for control location<br />
|-<br />
| 0x808 || 8 || 4 || Storage not found<br />
|-<br />
| 0xA08 || 8 || 5 || Access denied<br />
|-<br />
| 0xC08 || 8 || 6 || Offline manual HTML location entry not found<br />
|-<br />
| 0xE08 || 8 || 7 || Title is not registered<br />
|-<br />
| 0x1008 || 8 || 8 || Control location entry for host not found<br />
|-<br />
| 0x1208 || 8 || 9 || Legal info HTML location entry not found<br />
|-<br />
| 0x209 || 9 || 1 || Args too long.<br />
|-<br />
| 0x409 || 9 || 2 || Maximum processes loaded.<br />
|-<br />
| 0x609 || 9 || 3 || NPDM too big.<br />
|-<br />
| 0x19009 || 9 || 200 || Invalid access control sizes in NPDM.<br />
|-<br />
| 0x809 || 9 || 4 || Invalid NPDM.<br />
|-<br />
| 0xA09 || 9 || 5 || Invalid files.<br />
|-<br />
| 0xE09 || 9 || 7 || Already registered.<br />
|-<br />
| 0x1009 || 9 || 8 || Title not found.<br />
|-<br />
| 0x1209 || 9 || 9 || Title-id in ACI0 doesn't match range in ACID.<br />
|-<br />
| 0x6609 || 9 || 51 || Invalid memory state/permission<br />
|-<br />
| 0x6A09 || 9 || 53 || Invalid NRR<br />
|-<br />
| 0xA209 || 9 || 81 || Unaligned NRR address<br />
|-<br />
| 0xA409 || 9 || 82 || Bad NRR size<br />
|-<br />
| 0xAA09 || 9 || 85 || Bad NRR address<br />
|-<br />
| 0xAE09 || 9 || 87 || Bad initialization<br />
|-<br />
| 0xC809 || 9 || 100 || Unknown ACI0 descriptor<br />
|-<br />
| 0xCE09 || 9 || 103 || ACID/ACI0 don't match for descriptor "KernelFlags"<br />
|-<br />
| 0xD009 || 9 || 104 || ACID/ACI0 don't match for descriptor "SyscallMask"<br />
|-<br />
| 0xD409 || 9 || 106 || ACID/ACI0 don't match for descriptor "MapIoOrNormalRange"<br />
|-<br />
| 0xD609 || 9 || 107 || ACID/ACI0 don't match for descriptor "MapNormalPage"<br />
|-<br />
| 0xDE09 || 9 || 111 || ACID/ACI0 don't match for descriptor "InterruptPair"<br />
|-<br />
| 0xE209 || 9 || 113 || ACID/ACI0 don't match for descriptor "ApplicationType"<br />
|-<br />
| 0xE409 || 9 || 114 || ACID/ACI0 don't match for descriptor "KernelReleaseVersion"<br />
|-<br />
| 0xE609 || 9 || 115 || ACID/ACI0 don't match for descriptor "HandleTableSize"<br />
|-<br />
| 0xE809 || 9 || 116 || ACID/ACI0 don't match for descriptor "DebugFlags"<br />
|-<br />
| 0x1940A || 10 || 202 || Invalid CMIF header size.<br />
|-<br />
| 0x1A60A || 10 || 211 || Invalid CMIF input header.<br />
|-<br />
| 0x1A80A || 10 || 212 || Invalid CMIF output header.<br />
|-<br />
| 0x1BA0A || 10 || 221 || Invalid method dispatch ID.<br />
|-<br />
| 0x1D60A || 10 || 235 || Invalid in object count.<br />
|-<br />
| 0x1D80A || 10 || 236 || Invalid out object count.<br />
|-<br />
| 0x25A0A || 10 || 301 || Out of domain entries.<br />
|-<br />
| 0x20B || 11 || 1 || Unsupported operation<br />
|-<br />
| 0xCC0B || 11 || 102 || Out of server session memory<br />
|-<br />
| 0x11A0B || 11 || 141 || Went past maximum during marshalling.<br />
|-<br />
| 0x1900B || 11 || 200 || Session doesn't support domains.<br />
|-<br />
| 0x25A0B || 11 || 301 || Remote process is dead.<br />
|-<br />
| 0x3260B || 11 || 403 || Unknown request type<br />
|-<br />
| 0x3D60B || 11 || 491 || IPC Query 1 failed.<br />
|-<br />
| 0x20F || 15 || 1 || Pid not found<br />
|-<br />
| 0x60F || 15 || 3 || Process has no pending events<br />
|-<br />
| 0xA0F || 15 || 5 || Application already running<br />
|-<br />
| 0x410 || 16 || 2 || Title-id not found<br />
|-<br />
| 0xF010 || 16 || 120 || Gamecard sysupdate not required<br />
|-<br />
| 0x1F610 || 16 || 251 || Unexpected StorageId<br />
|-<br />
| 0x215 || 21 || 1 || Out of processes<br />
|-<br />
| 0x415 || 21 || 2 || Not initialized.<br />
|-<br />
| 0x615 || 21 || 3 || Max sessions<br />
|-<br />
| 0x815 || 21 || 4 || Service already registered<br />
|-<br />
| 0xA15 || 21 || 5 || Out of services<br />
|-<br />
| 0xC15 || 21 || 6 || Invalid name (all zeroes)<br />
|-<br />
| 0xE15 || 21 || 7 || Service not registered<br />
|-<br />
| 0x1015 || 21 || 8 || Permission denied<br />
|-<br />
| 0x1215 || 21 || 9 || Service Access Control too big.<br />
|-<br />
| 0x416 || 22 || 2 || Address space is full<br />
|-<br />
| 0x616 || 22 || 3 || NRO already loaded<br />
|-<br />
| 0x816 || 22 || 4 || Invalid NRO header values<br />
|-<br />
| 0xC16 || 22 || 6 || Bad NRR magic<br />
|-<br />
| 0x1016 || 22 || 8 || Reached max NRR count<br />
|-<br />
| 0x1216 || 22 || 9 || Unable to verify NRO hash or NRR signature<br />
|-<br />
| 0x80216 || 22 || 1025 || Address not page-aligned<br />
|-<br />
| 0x80416 || 22 || 1026 || Incorrect NRO size<br />
|-<br />
| 0x80816 || 22 || 1028 || NRO not loaded<br />
|-<br />
| 0x80A16 || 22 || 1029 || NRR not loaded<br />
|-<br />
| 0x80C16 || 22 || 1030 || Already initialized<br />
|-<br />
| 0x80E16 || 22 || 1031 || Not initialized<br />
|-<br />
| 0x41A || 26 || 2 || Argument is invalid<br />
|-<br />
| 0xC81A || 26 || 100 || Incorrect buffer size<br />
|-<br />
| 0xCA1A || 26 || 101 || Unknown TZ error<br />
|-<br />
| 0xD01A || 26 || 104 || All AES engines busy<br />
|-<br />
| 0xD21A || 26 || 105 || Invalid AES engine-id<br />
|-<br />
| 0x19669 || 105 || 203 || Setting value cannot be NULL<br />
|-<br />
| 0x1BA69 || 105 || 221 || Setting group name has zero length<br />
|-<br />
| 0x1E269 || 105 || 241 || Setting group name is too long (64 character limit?)<br />
|-<br />
| 0x1E469 || 105 || 242 || Setting name is too long (64 character limit?)<br />
|-<br />
| 0x20A69 || 105 || 261 || Setting group name ends with '.' or contains invalid characters (allowed: [a-z0-9_\-.])<br />
|-<br />
| 0x20C69 || 105 || 262 || Setting name ends with '.' or contains invalid characters (allowed: [a-z0-9_\-.])<br />
|-<br />
| 0x272 || 114 || 1 || Generic error<br />
|-<br />
| 0xCC74 || 116 || 102 || Time not set<br />
|-<br />
| 0x287C || 124 || 20 || Argument is NULL<br />
|-<br />
| 0x2C7C || 124 || 22 || Argument is invalid<br />
|-<br />
| 0x3C7C || 124 || 30 || Bad input buffer size<br />
|-<br />
| 0x407C || 124 || 32 || Invalid input buffer<br />
|-<br />
| 0x4680 || 128 || 35 || Error while launching applet.<br />
|-<br />
| 0x4A80 || 128 || 37 || Title-ID not found. Caused by code 0x410 when applet launch fails<br />
|-<br />
| 0x3EC80 || 128 || 502 || must close IStorageAccessor before pushing IStorage<br />
|-<br />
| 0x59080 || 128 || 712 || Thread stack pool exhausted (out of memory)<br />
|-<br />
| 0x7A880 || 128 || 980 || <code>am.debug!dev_function</code> setting needs to be set<br />
|-<br />
| 0xA83 || 131 || 5 || Unrecognized applet ID<br />
|-<br />
| 0x3CF089 || 137 || 7800 || Unknown/invalid libcurl error.<br />
|-<br />
| 0x3E8289-0x3F4089 || 137 || 8001-8096 || libcurl error 1-96. Some of the libcurl errors in the error-table map to the above unknown-libcurl-error however.<br />
|-<br />
| 0x68A || 138 || 3 || Not initialized.<br />
|-<br />
| 0x668C || 140 || 51 || USB data-transfer in progress<br />
|-<br />
| 0xD48C || 140 || 106 || Invalid descriptor<br />
|-<br />
| 0x1928C || 140 || 201 || USB device not bound / interface already enabled<br />
|-<br />
| 0x299 || 153 || 1 || Invalid audio device<br />
|-<br />
| 0x499 || 153 || 2 || Invalid buffer address / bad input?<br />
|-<br />
| 0x699 || 153 || 3 || Invalid sample rate<br />
|-<br />
| 0x1099 || 153 || 8 || Too many buffers are still unreleased<br />
|-<br />
| 0x1499 || 153 || 10 || Invalid channel count<br />
|-<br />
| 0xC0899 || 153 || 1540 || Audio output was already started<br />
|-<br />
| 0x3C9D || 157 || 30 || Address is NULL<br />
|-<br />
| 0x3E9D || 157 || 31 || PID is NULL<br />
|-<br />
| 0x549D || 157 || 42 || Already bound<br />
|-<br />
| 0xCC9D || 157 || 102 || Invalid PID<br />
|-<br />
| 0xAA3 || 163 || 5 || System is booting up repair process without VOL+ held down.<br />
|-<br />
| 0xCA3 || 163 || 6 || System is booting up repair process that requires RepairTimeReviser but does not have special cartridge inserted.<br />
|-<br />
| 0xF0CD || 205 || 120 || IR image data not available/ready.<br />
|-<br />
| 0x35B || 347 || 1 || Failed to init SM.<br />
|-<br />
| 0x55B || 347 || 2 || Failed to init FS.<br />
|-<br />
| 0x75B || 347 || 3 || Failed to to open NRO file. May also happen when SD card isn't inserted / SD mounting failed earlier.<br />
|-<br />
| 0x95B || 347 || 4 || Failed to read NRO header.<br />
|-<br />
| 0xB5B || 347 || 5 || Invalid NRO magic.<br />
|-<br />
| 0xD5B || 347 || 6 || Invalid NRO segments.<br />
|-<br />
| 0xF5B || 347 || 7 || Failed to read NRO.<br />
|-<br />
| 0x135B || 347 || 9 || Failed to allocate heap.<br />
|-<br />
| 0x255B || 347 || 18 || Failed to map code-binary memory.<br />
|-<br />
| 0x275B || 347 || 19 || Failed to map code memory (.text).<br />
|-<br />
| 0x295B || 347 || 20 || Failed to map code memory (.rodata).<br />
|-<br />
| 0x2B5B || 347 || 21 || Failed to map code memory (.data+.bss).<br />
|-<br />
| 0x315B || 347 || 24 || Failed to unmap code memory (.text).<br />
|-<br />
| 0x335B || 347 || 25 || Failed to unmap code memory (.rodata).<br />
|-<br />
| 0x355B || 347 || 26 || Failed to unmap code memory (.data+.bss).<br />
|}<br />
<br />
== FS Error Codes ==<br />
The following are the error codes recognized by nn::fs::detail::LogErrorMessage found in some [[Factory Setup|factory]] titles:<br />
<br />
{| class=wikitable<br />
! Value || Description || Message<br />
|-<br />
| 0x7802 || 60 || Error: Specified mount name already exists.<br />
|-<br />
| 0xD401 || 106 || Error: Passed buffer is not usable for fs library.<br />
|-<br />
| 0x7D202 || 1001 || Error: Specified partition is not found.<br />
|-<br />
| 0x7D402 || 1002 || Error: Specified target is not found.<br />
|-<br />
| 0xFA002 - 0x138602 || 2000 - 2499 || Error: Failed to access SD card.<br />
|-<br />
| 0x136802 - 0x176E02 || 2500 - 2999 || Error: Failed to access game card.<br />
|-<br />
| 0x177202 || 3001 || Error: Specified operation is not implemented.<br />
|-<br />
| 0x177A02 || 3005 || Error: Specified value is out of range.<br />
|-<br />
| 0x1B5802 - 0x1F3E02 || 3500 - 3999 || Error: Failed to access MMC.<br />
|-<br />
| 0x1F4202 - 0x219602 || 4001 - 4299 || Error: ROM is corrupted.<br />
|-<br />
| 0x219A02 - 0x232602 || 4301 - 4499 || Error: Save data is corrupted.<br />
|-<br />
| 0x232A02 - 0x23EE02 || 4501 - 4599 || Error: NCA is corrupted.<br />
|-<br />
| 0x23F202 - 0x243E02 || 4601 - 4639 || Error: Integrity verification failed.<br />
|-<br />
| 0x244202 - 0x246602 || 4641 - 4659 || Error: Partition FS is corrupted.<br />
|-<br />
| 0x246A02 - 0x248E02 || 4661 - 4679 || Error: Built-in-storage is corrupted.<br />
|-<br />
| 0x249202 - 0x24B602 || 4681 - 4699 || Error: FAT FS is corrupted.<br />
|-<br />
| 0x24BA02 - 0x24DE02 || 4701 - 4719 || Error: HOST FS is corrupted.<br />
|-<br />
| 0x1F4002 - 0x270E02 || 4000, 4300, 4500, 4600, 4640, 4660, 4680, 4700, 4720-4999 || Error: Data is corrupted.<br />
|-<br />
| 0x271002 - 0x2EDE02 || 5000-5999 || Error: Unexpected failure occurred.<br />
|-<br />
| 0x2EE402 - 0x2F1A02 || 6002-6029 || Error: Invalid path was specified.<br />
|-<br />
| 0x2F5A02 || 6061 || Error: Invalid offset was specified.<br />
|-<br />
| 0x2F5C02 || 6062 || Error: Invalid size was specified.<br />
|-<br />
| 0x2F5E02 || 6063 || Error: Null pointer argument was specified.<br />
|-<br />
| 0x2EE002 || 6000 || Error: Precondition violation.<br />
|-<br />
| 0x2EE202 - 0x306E02 || 6001-6199 || Error: Invalid argument was specified.<br />
|-<br />
| 0x307202 || 6201 || Error: OpenMode_AllowAppend is required for implicit extension of file size by WriteFile().<br />
|-<br />
| 0x307002 - 0x313602 || 6200, 6202 - 6299 || Error: Invalid operation for the open mode.<br />
|-<br />
| 0x313802 - 0x31FE02 || 6300-6399 || Error: Unsupported operation.<br />
|-<br />
| 0x320002 - 0x32C602 || 6400-6499 || Error: Permission denied.<br />
|-<br />
| 0x346402 || 6706 || Error: Enough journal space is not left.<br />
|-<br />
| 0x346A02 || 6709 || Error: The open count of files and directories reached the limitation.<br />
|}<br />
<br />
= Fatal Errors =<br />
{| class=wikitable<br />
! Error || Description<br />
|-<br />
| 2162-0002<br />
| Can be triggered by running [[SVC|svcBreak]]. The svcBreak params have no affect on the value of the thrown error-code.<br />
|-<br />
| 2168-0000<br />
| Userland ARM undefined instruction exception<br />
|-<br />
| 2168-0001<br />
| Userland ARM prefetch-abort due to PC set to non-executable region<br />
|-<br />
| 2168-0002<br />
| Userland ARM data abort. Also caused by abnormal process termination via [[SVC|svcExitProcess]]. Note: directly jumping to nnMain()-retaddr from non-main-thread has the same result.<br />
|-<br />
| 2168-0003<br />
| Userland PC address not aligned to 4 bytes<br />
|-<br />
| 2168-0008<br />
| Can occur when attempting to call an svc outside the whitelist<br />
|}<br />
<br />
= Support Errors =<br />
This section is for Support Errors displayed by the error-applet, separate from the normal Result errors.<br />
<br />
== Support Modules ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 800 || [[Internet_Browser|General web-applet]]<br />
|-<br />
| 809 || [[Internet_Browser|WifiWebAuthApplet]]<br />
|-<br />
| 810 || [[Internet_Browser|Whitelisted-applet]]<br />
|-<br />
| 811 || [[Internet_Browser|ShopN]]<br />
|}<br />
<br />
8XX is for/includes system applets.<br />
<br />
== Errors ==<br />
{| class=wikitable<br />
! Error || Module || Description || Notes<br />
|-<br />
| <br />
| {web-applets listed above}<br />
| 2750<br />
| MP4 parsing failed.<br />
|}<br />
<br />
Normal error-codes displayed by the system also use the same format as fatal-errors.</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5512
Talk:Homebrew ABI
2018-11-10T00:58:00Z
<p>Misson20000: /* RomFS Override */</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)<br />
<br />
:"- The NRO file is not persisted to the SD card." "- The NRO file is not stored somewhere that the homebrew library knows how to access." "- The application does not exist as an NRO file at all." The ABI requires the NRO to located on SD in the first place... --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:34, 8 November 2018 (UTC)<br />
<br />
:Like yellows8 said, the homebrew ABI is designed around NRO files stored on SD card. If we ever support other filesystems (such as hostio access), we'd just add support for host:/ paths being passed through argv (as well as support code in libnx which would be trivial) - homebrew apps would need a recompile anyway with or without new ABI keys. Also, for that use case (hostio), romfs doesn't really make sense because you could just use assets in a folder inside the host filesystem instead of having to go through the trouble of building romfs (which can get pretty large). Finally, homebrew by definition is NRO formatted. Other formats should not be supported or promoted. --[[User:Fincs|Fincs]] ([[User talk:Fincs|talk]]) 19:47, 8 November 2018 (UTC)<br />
<br />
yellows8: It says nowhere in the homebrew ABI document that the NRO is required to be located on the SD card. If you are absolutely convinced that that should be an HBABI requirement, I would encourage you to add it to the document. I very much think that should not be an HBABI requirement though. The only things keeping homebrew on the SD card are libnx's behavior of reading its own executable combined with the small set of default-mounted filesystems that libnx understands. Aside from this behavior (which I'm trying to get changed), there is no reason to require that homebrew applications be located on the SD card.<br />
<br />
fincs: Apologies if I was unclear. When I said RomFS, I meant the filesystem that is visible to libnx applications under <code>romfs:/*</code> paths. For the hostio use case, if hostio were to be mounted under <code>hostio:</code>, the application would need to be written to tell whether it's on hostio or not and adjust its asset loading paths accordingly, whereas it would be significantly more convenient if the homebrew loader could override the <code>romfs:</code> mountpoint to use a hostio IFileSystem. I also disagree that homebrew is "by definition" NRO formatted. By convention, sure, and I'd even accept that this ABI does not apply to non-NRO formatted homebrew. I invite you to ignore that use case.<br />
<br />
Here's a different idea for you.<br />
<br />
==== Mount ====<br />
This is used to request that a filesystem be mounted by the homebrew application.<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Pointer to a NULL-terminated string representing the desired mountpoint.<br />
* '''Value[1]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]].<br />
<br />
The length of the mountpoint shall be no longer than 32 characters, including the NULL terminator.<br />
This key may be combined with the Argv key to specify the location of an application's executable.<br />
<br />
This way, we can still override <code>romfs:/</code> with Mount["romfs", <IFileSystem>], or we can mount an arbitrary filesystem (Mount["myfs", <IFileSystem>]) and set argv[0] to a path on that new mountpoint (<code>myfs:/application.nro</code>) so that the application can still find its NRO file and read it back to provide the <code>romfs:/</code> mount even if the NRO is not located on the SD card. I've even specified a length limit to match fsdev requirements.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 23:42, 9 November 2018 (UTC)<br />
<br />
[[Homebrew_ABI#NextLoadPath]] "NRO" "should start with "sdmc:/". Of course nx-hbloader doesn't enforce the latter besides only having sdmc mounted. --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 00:05, 10 November 2018 (UTC)<br />
<br />
For NextLoadPath? Sure, if you want to use NextLoadPath, it's best to give it a path to an NRO starting with "sdmc:/" ''because that's all that nx-hbloader understands'' and all that you want it to understand, which makes sense. But HBABI doesn't require that homebrew needs to be loaded by passing NextLoadPath back to the loader. After all, nx-hbmenu isn't loaded that way. That's besides the point, anyway. The point is that whether or not this restriction is actually documented on the HBABI page, I want you to evaluate why this restriction exists and whether it's necessary or not.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:27, 10 November 2018 (UTC)<br />
<br />
Where does this "IFilesystem" come from? --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 01:47, 10 November 2018 (CET)<br />
<br />
Doesn't much matter as far as the application is concerned. Could be some save data that the loader opened from FS, could be some BIS filesystem, or, in my case, a custom IFileSystem implementation that came from a custom service. Just as long as it implements the IFileSystem interface.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:57, 10 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5509
Talk:Homebrew ABI
2018-11-10T00:30:28Z
<p>Misson20000: /* RomFS Override */</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)<br />
<br />
:"- The NRO file is not persisted to the SD card." "- The NRO file is not stored somewhere that the homebrew library knows how to access." "- The application does not exist as an NRO file at all." The ABI requires the NRO to located on SD in the first place... --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:34, 8 November 2018 (UTC)<br />
<br />
:Like yellows8 said, the homebrew ABI is designed around NRO files stored on SD card. If we ever support other filesystems (such as hostio access), we'd just add support for host:/ paths being passed through argv (as well as support code in libnx which would be trivial) - homebrew apps would need a recompile anyway with or without new ABI keys. Also, for that use case (hostio), romfs doesn't really make sense because you could just use assets in a folder inside the host filesystem instead of having to go through the trouble of building romfs (which can get pretty large). Finally, homebrew by definition is NRO formatted. Other formats should not be supported or promoted. --[[User:Fincs|Fincs]] ([[User talk:Fincs|talk]]) 19:47, 8 November 2018 (UTC)<br />
<br />
yellows8: It says nowhere in the homebrew ABI document that the NRO is required to be located on the SD card. If you are absolutely convinced that that should be an HBABI requirement, I would encourage you to add it to the document. I very much think that should not be an HBABI requirement though. The only things keeping homebrew on the SD card are libnx's behavior of reading its own executable combined with the small set of default-mounted filesystems that libnx understands. Aside from this behavior (which I'm trying to get changed), there is no reason to require that homebrew applications be located on the SD card.<br />
<br />
fincs: Apologies if I was unclear. When I said RomFS, I meant the filesystem that is visible to libnx applications under <code>romfs:/*</code> paths. For the hostio use case, if hostio were to be mounted under <code>hostio:</code>, the application would need to be written to tell whether it's on hostio or not and adjust its asset loading paths accordingly, whereas it would be significantly more convenient if the homebrew loader could override the <code>romfs:</code> mountpoint to use a hostio IFileSystem. I also disagree that homebrew is "by definition" NRO formatted. By convention, sure, and I'd even accept that this ABI does not apply to non-NRO formatted homebrew. I invite you to ignore that use case.<br />
<br />
Here's a different idea for you.<br />
<br />
==== Mount ====<br />
This is used to request that a filesystem be mounted by the homebrew application.<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Pointer to a NULL-terminated string representing the desired mountpoint.<br />
* '''Value[1]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]].<br />
<br />
The length of the mountpoint shall be no longer than 32 characters, including the NULL terminator.<br />
This key may be combined with the Argv key to specify the location of an application's executable.<br />
<br />
This way, we can still override <code>romfs:/</code> with Mount["romfs", <IFileSystem>], or we can mount an arbitrary filesystem (Mount["myfs", <IFileSystem>]) and set argv[0] to a path on that new mountpoint (<code>myfs:/application.nro</code>) so that the application can still find its NRO file and read it back to provide the <code>romfs:/</code> mount even if the NRO is not located on the SD card. I've even specified a length limit to match fsdev requirements.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 23:42, 9 November 2018 (UTC)<br />
<br />
[[Homebrew_ABI#NextLoadPath]] "NRO" "should start with "sdmc:/". Of course nx-hbloader doesn't enforce the latter besides only having sdmc mounted. --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 00:05, 10 November 2018 (UTC)<br />
<br />
For NextLoadPath? Sure, if you want to use NextLoadPath, it's best to give it a path to an NRO starting with "sdmc:/" ''because that's all that nx-hbloader understands'' and all that you want it to understand, which makes sense. But HBABI doesn't require that homebrew needs to be loaded by passing NextLoadPath back to the loader. After all, nx-hbmenu isn't loaded that way. That's besides the point, anyway. The point is that whether or not this restriction is actually documented on the HBABI page, I want you to evaluate why this restriction exists and whether it's necessary or not.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:27, 10 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5508
Talk:Homebrew ABI
2018-11-10T00:27:27Z
<p>Misson20000: /* RomFS Override */</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)<br />
<br />
:"- The NRO file is not persisted to the SD card." "- The NRO file is not stored somewhere that the homebrew library knows how to access." "- The application does not exist as an NRO file at all." The ABI requires the NRO to located on SD in the first place... --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:34, 8 November 2018 (UTC)<br />
<br />
:Like yellows8 said, the homebrew ABI is designed around NRO files stored on SD card. If we ever support other filesystems (such as hostio access), we'd just add support for host:/ paths being passed through argv (as well as support code in libnx which would be trivial) - homebrew apps would need a recompile anyway with or without new ABI keys. Also, for that use case (hostio), romfs doesn't really make sense because you could just use assets in a folder inside the host filesystem instead of having to go through the trouble of building romfs (which can get pretty large). Finally, homebrew by definition is NRO formatted. Other formats should not be supported or promoted. --[[User:Fincs|Fincs]] ([[User talk:Fincs|talk]]) 19:47, 8 November 2018 (UTC)<br />
<br />
yellows8: It says nowhere in the homebrew ABI document that the NRO is required to be located on the SD card. If you are absolutely convinced that that should be an HBABI requirement, I would encourage you to add it to the document. I very much think that should not be an HBABI requirement though. The only things keeping homebrew on the SD card are libnx's behavior of reading its own executable combined with the small set of default-mounted filesystems that libnx understands. Aside from this behavior (which I'm trying to get changed), there is no reason to require that homebrew applications be located on the SD card.<br />
<br />
fincs: Apologies if I was unclear. When I said RomFS, I meant the filesystem that is visible to libnx applications under <code>romfs:/*</code> paths. For the hostio use case, if hostio were to be mounted under <code>hostio:</code>, the application would need to be written to tell whether it's on hostio or not and adjust its asset loading paths accordingly, whereas it would be significantly more convenient if the homebrew loader could override the <code>romfs:</code> mountpoint to use a hostio IFileSystem. I also disagree that homebrew is "by definition" NRO formatted. By convention, sure, and I'd even accept that this ABI does not apply to non-NRO formatted homebrew. I invite you to ignore that use case.<br />
<br />
Here's a different idea for you.<br />
<br />
==== Mount ====<br />
This is used to request that a filesystem be mounted by the homebrew application.<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Pointer to a NULL-terminated string representing the desired mountpoint.<br />
* '''Value[1]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]].<br />
<br />
The length of the mountpoint shall be no longer than 32 characters, including the NULL terminator.<br />
This key may be combined with the Argv key to specify the location of an application's executable.<br />
<br />
This way, we can still override <code>romfs:/</code> with Mount["romfs", <IFileSystem>], or we can mount an arbitrary filesystem (Mount["myfs", <IFileSystem>]) and set argv[0] to a path on that new mountpoint (<code>myfs:/application.nro</code>) so that the application can still find its NRO file and read it back to provide the <code>romfs:/</code> mount even if the NRO is not located on the SD card. I've even specified a length limit to match fsdev requirements.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 23:42, 9 November 2018 (UTC)<br />
<br />
[[Homebrew_ABI#NextLoadPath]] "NRO" "should start with "sdmc:/". Of course nx-hbloader doesn't enforce the latter besides only having sdmc mounted. --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 00:05, 10 November 2018 (UTC)<br />
<br />
For NextLoadPath? Sure, if you want to use NextLoadPath, it's best to give it a path to an NRO starting with "sdmc:/" ''because that's all that nx-hbloader understands'' and all that you want it to understand, which makes sense. But HBABI doesn't require that homebrew needs to be loaded by passing NextLoadPath back to the loader. After all, nx-hbmenu isn't loaded that way.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:27, 10 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5505
Talk:Homebrew ABI
2018-11-09T23:47:16Z
<p>Misson20000: /* RomFS Override */</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)<br />
<br />
:"- The NRO file is not persisted to the SD card." "- The NRO file is not stored somewhere that the homebrew library knows how to access." "- The application does not exist as an NRO file at all." The ABI requires the NRO to located on SD in the first place... --[[User:Yellows8|Yellows8]] ([[User talk:Yellows8|talk]]) 19:34, 8 November 2018 (UTC)<br />
<br />
:Like yellows8 said, the homebrew ABI is designed around NRO files stored on SD card. If we ever support other filesystems (such as hostio access), we'd just add support for host:/ paths being passed through argv (as well as support code in libnx which would be trivial) - homebrew apps would need a recompile anyway with or without new ABI keys. Also, for that use case (hostio), romfs doesn't really make sense because you could just use assets in a folder inside the host filesystem instead of having to go through the trouble of building romfs (which can get pretty large). Finally, homebrew by definition is NRO formatted. Other formats should not be supported or promoted. --[[User:Fincs|Fincs]] ([[User talk:Fincs|talk]]) 19:47, 8 November 2018 (UTC)<br />
<br />
yellows8: It says nowhere in the homebrew ABI document that the NRO is required to be located on the SD card. If you are absolutely convinced that that should be an HBABI requirement, I would encourage you to add it to the document. I very much think that should not be an HBABI requirement though. The only things keeping homebrew on the SD card are libnx's behavior of reading its own executable combined with the small set of default-mounted filesystems that libnx understands. Aside from this behavior (which I'm trying to get changed), there is no reason to require that homebrew applications be located on the SD card.<br />
<br />
fincs: Apologies if I was unclear. When I said RomFS, I meant the filesystem that is visible to libnx applications under <code>romfs:/*</code> paths. For the hostio use case, if hostio were to be mounted under <code>hostio:</code>, the application would need to be written to tell whether it's on hostio or not and adjust its asset loading paths accordingly, whereas it would be significantly more convenient if the homebrew loader could override the <code>romfs:</code> mountpoint to use a hostio IFileSystem. I also disagree that homebrew is "by definition" NRO formatted. By convention, sure, and I'd even accept that this ABI does not apply to non-NRO formatted homebrew. I invite you to ignore that use case.<br />
<br />
Here's a different idea for you.<br />
<br />
==== Mount ====<br />
This is used to request that a filesystem be mounted by the homebrew application.<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Pointer to a NULL-terminated string representing the desired mountpoint.<br />
* '''Value[1]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]].<br />
<br />
The length of the mountpoint shall be no longer than 32 characters, including the NULL terminator.<br />
This key may be combined with the Argv key to specify the location of an application's executable.<br />
<br />
This way, we can still override <code>romfs:/</code> with Mount["romfs", <IFileSystem>], or we can mount an arbitrary filesystem (Mount["myfs", <IFileSystem>]) and set argv[0] to a path on that new mountpoint (<code>myfs:/application.nro</code>) so that the application can still find its NRO file and read it back to provide the <code>romfs:/</code> mount even if the NRO is not located on the SD card. I've even specified a length limit to match fsdev requirements.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 23:42, 9 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=SVC&diff=5476
SVC
2018-11-08T03:26:18Z
<p>Misson20000: /* svcWaitSynchronization Result codes */ Add details for 0x7601 and 0xf601</p>
<hr />
<div>__NOTOC__<br />
<br />
= System calls =<br />
{| class=wikitable<br />
! Id || Name || In || Out<br />
|-<br />
| 0x1 || [[#svcSetHeapSize]] || W1=size || W0=result, X1=outaddr<br />
|-<br />
| 0x2 || [[#svcSetMemoryPermission]] || X0=addr, X1=size, W2=prot || W0=result<br />
|-<br />
| 0x3 || [[#svcSetMemoryAttribute]] || X0=addr, X1=size, W2=state0, W3=state1 || W0=result<br />
|-<br />
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result<br />
|-<br />
| 0x6 || [[#svcQueryMemory]] || X0=MemoryInfo*, X2=addr || W0=result, W1=PageInfo <br />
|-<br />
| 0x7 || [[#svcExitProcess]] || None ||<br />
|-<br />
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id || W0=result, W1=handle<br />
|-<br />
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result<br />
|-<br />
| 0xA || [[#svcExitThread]] || None || <br />
|-<br />
| 0xB || [[#svcSleepThread]] || X0=nano || W0=result<br />
|-<br />
| 0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio<br />
|-<br />
| 0xD || [[#svcSetThreadPriority]] || W0=thread_handle, W1=prio || W0=result<br />
|-<br />
| 0xE || [[#svcGetThreadCoreMask]] || W2=thread_handle || W0=result, W1=out, X2=out<br />
|-<br />
| 0xF || [[#svcSetThreadCoreMask]] || W0=thread_handle, W1=in, X2=in2 || W0=result<br />
|-<br />
| 0x10 || [[#svcGetCurrentProcessorNumber]] || None || W0/X0=cpuid<br />
|-<br />
| 0x11 || svcSignalEvent || W0=wevent_handle || W0=result<br />
|-<br />
| 0x12 || svcClearEvent || W0=wevent_or_revent_handle || W0=result<br />
|-<br />
| 0x13 || [[#svcMapSharedMemory]] || W0=shmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x14 || svcUnmapSharedMemory || W0=shmem_handle, X1=addr, X2=size || W0=result <br />
|-<br />
| 0x15 || [[#svcCreateTransferMemory]] || X1=addr, X2=size, W3=perm || W0=result, W1=tmem_handle<br />
|-<br />
| 0x16 || svcCloseHandle || W0=handle || W0=result<br />
|-<br />
| 0x17 || svcResetSignal || W0=revent_or_process_handle || W0=result<br />
|-<br />
| 0x18 || [[#svcWaitSynchronization]] || X1=handles_ptr, W2=num_handles. X3=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x19 || [[#svcCancelSynchronization]] || W0=thread_handle || W0=result<br />
|-<br />
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || <br />
|-<br />
| 0x1B || svcArbitrateUnlock || X0=ptr ||<br />
|-<br />
| 0x1C || svcWaitProcessWideKeyAtomic || X0=ptr0, X1=ptr, W2=thread_handle, X3=timeout || W0=result<br />
|-<br />
| 0x1D || svcSignalProcessWideKey || X0=ptr, W1=value || W0=result<br />
|-<br />
| 0x1E || [[#svcGetSystemTick]] || None || X0={value of cntpct_el0}<br />
|-<br />
| 0x1F || svcConnectToNamedPort || X1=port_name_str || W0=result, W1=handle<br />
|-<br />
| 0x20 || svcSendSyncRequestLight || W0=light_session_handle, X1=? || W0=result<br />
|-<br />
| 0x21 || svcSendSyncRequest || X0=normal_session_handle || W0=result<br />
|-<br />
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result<br />
|-<br />
| 0x23 || svcSendAsyncRequestWithUserBuffer || X1=cmdbufptr, X2=size, X3=handle || W0=result, W1=revent_handle<br />
|-<br />
| 0x24 || svcGetProcessId || W1=thread_or_process_or_debug_handle || W0=result, X1=pid<br />
|-<br />
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out<br />
|-<br />
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0<br />
|-<br />
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result<br />
|-<br />
| 0x28 || svcReturnFromException || X0=result || <br />
|-<br />
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x2A || svcFlushEntireDataCache || None || None<br />
|-<br />
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x2E || [5.0.0+] svcGetFutureThreadInfo || X3=timeout || W0=result, bunch of crap<br />
|-<br />
| 0x2F || svcGetLastThreadInfo || None || W0=result, W1,W2,W3,W4=unk, W5=truncated_u64, W6=bool<br />
|-<br />
| 0x30 || svcGetResourceLimitLimitValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x31 || svcGetResourceLimitCurrentValue || W1=reslimit_handle, W2=[[#LimitableResource]] || W0=result, X1=value<br />
|-<br />
| 0x32 || svcSetThreadActivity || W0=thread_handle, W1=bool || W0=result<br />
|-<br />
| 0x33 || svcGetThreadContext3 || X0=[[#ThreadContext]]*, W1=thread_handle || W0=result<br />
|-<br />
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=[[#ArbitrationType]], X2=value X3=timeout ||<br />
|-<br />
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=[[#SignalType]], X2=value W3=num_to_signal ||<br />
|- style="border-top: double"<br />
| 0x3C || [[#svcDumpInfo]] || ||<br />
|-<br />
| 0x3D || [4.0.0+] svcDumpInfoNew || ||<br />
|- style="border-top: double"<br />
| 0x40 || svcCreateSession || W2=is_light, X3=? || W0=result, W1=server_handle, W2=client_handle<br />
|-<br />
| 0x41 || [[#svcAcceptSession]] || W1=port_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x42 || svcReplyAndReceiveLight || W0=light_session_handle || W0=result, W1,W2,W3,W4,W5,W6,W7=out<br />
|-<br />
| 0x43 || [[#svcReplyAndReceive]] || X1=ptr_handles, W2=num_handles, X3=replytarget_handle(0=none), X4=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x44 || svcReplyAndReceiveWithUserBuffer|| X1=buf, X2=sz, X3=ptr_handles, W4=num_handles, X5=replytarget_handle(0=none), X6=timeout || W0=result, W1=handle_idx<br />
|-<br />
| 0x45 || svcCreateEvent || None || W0=result, W1=wevent_handle, W2=revent_handle<br />
|- style="border-top: double"<br />
| 0x48 || [5.0.0+] [[#svcMapPhysicalMemoryUnsafe]] || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x49 || [5.0.0+] svcUnmapPhysicalMemoryUnsafe || X0=addr, X1=size || W0=result<br />
|-<br />
| 0x4A || [5.0.0+] svcSetUnsafeLimit || X0=size || W0=result<br />
|-<br />
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=code_memory_handle<br />
|-<br />
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=code_memory_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result<br />
|-<br />
| 0x4D || svcSleepSystem || None || None<br />
|-<br />
| 0x4E || [[#svcReadWriteRegister]] || X1=reg_addr, W2=rw_mask, W3=in_val || W0=result, W1=out_val<br />
|-<br />
| 0x4F || svcSetProcessActivity || W0=process_handle, W1=bool || W0=result<br />
|-<br />
| 0x50 || [[#svcCreateSharedMemory]] || W1=size, W2=myperm, W3=otherperm || W0=result, W1=shmem_handle<br />
|-<br />
| 0x51 || [[#svcMapTransferMemory]] || X0=tmem_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x52 || [[#svcUnmapTransferMemory]] || W0=tmemhandle, X1=addr, X2=size || W0=result<br />
|-<br />
| 0x53 || svcCreateInterruptEvent || X1=irq_num, W2=flag || W0=result, W1=handle<br />
|-<br />
| 0x54 || [[#svcQueryPhysicalAddress]] || X1=addr || W0=result, X1=physaddr, X2=kerneladdr, X3=size<br />
|-<br />
| 0x55 || [[#svcQueryIoMapping]] || X1=physaddr, X2=size || W0=result, X1=virtaddr<br />
|-<br />
| 0x56 || [[#svcCreateDeviceAddressSpace]] || X1=dev_as_start_addr, X2=dev_as_end_addr || W0=result, W1=dev_as_handle<br />
|-<br />
| 0x57 || [[#svcAttachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result<br />
|-<br />
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result <br />
|-<br />
| 0x5B || svcMapDeviceAddressSpace || || <br />
|-<br />
| 0x5C || [[#svcUnmapDeviceAddressSpace]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr || W0=result<br />
|-<br />
| 0x5D || svcInvalidateProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5E || svcStoreProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x5F || svcFlushProcessDataCache || W0=process_handle, X1=addr, X2=size || W0=size<br />
|-<br />
| 0x60 || svcDebugActiveProcess || X1=pid || W0=result, W1=debug_handle<br />
|-<br />
| 0x61 || svcBreakDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x62 || svcTerminateDebugProcess || W0=debug_handle || W0=result<br />
|-<br />
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result<br />
|-<br />
| 0x64 || svcContinueDebugEvent || [1.0.0-2.3.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id <br />
[3.0.0+] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")<br />
|| W0=result<br />
|-<br />
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out <br />
|-<br />
| 0x66 || svcGetThreadList || X1=tids_out_ptr, W2=max_out, W3=debug_handle_or_zero || W0=result, X1=num_out<br />
|-<br />
| 0x67 || svcGetDebugThreadContext || X0=ThreadContext*, X1=debug_handle, X2=thread_id, W3=[[#ThreadContextFlags]] || W0=result<br />
|-<br />
| 0x68 || svcSetDebugThreadContext || W0=debug_handle, W1=[[#ThreadContextFlags]], X2=ThreadContext*, X3=thread_id || W0=result<br />
|-<br />
| 0x69 || svcQueryDebugProcessMemory || X0=[[#MemoryInfo]]*, X2=debug_handle, X3=addr || W0=result, W1=PageInfo<br />
|-<br />
| 0x6A || svcReadDebugProcessMemory || X0=buffer*, X1=debug_handle, X2=src_addr, X3=size || W0=result<br />
|-<br />
| 0x6B || svcWriteDebugProcessMemory || X0=debug_handle, X1=buffer*, X2=dst_addr, X3=size || W0=result<br />
|-<br />
| 0x6C || [[#svcSetHardwareBreakPoint]] || W0=HardwareBreakpointId, X1=watchpoint_flags/breakpoint_flags, X2=watchpoint_value/debug_handle || <br />
|-<br />
| 0x6D || svcGetDebugThreadParam || X2=debug_handle, X3=thread_id, W4=[[#DebugThreadParam]] || W0=result, X1=out0, W2=out1<br />
|- style="border-top: double"<br />
| 0x6F || [5.0.0+] [[#svcGetSystemInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out<br />
|-<br />
| 0x70 || svcCreatePort || W2=max_sessions, W3=unk_bool, X4=name_ptr || W0=result, W1=clientport_handle, W2=serverport_handle<br />
|-<br />
| 0x71 || svcManageNamedPort || X1=name_ptr, W2=max_sessions || W0=result, W1=serverport_handle<br />
|-<br />
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle<br />
|-<br />
| 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result<br />
|-<br />
| 0x74 || [[#svcMapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x75 || [[#svcUnmapProcessMemory]] || X0=dstaddr, W1=process_handle, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x76 || [[#svcQueryProcessMemory]] || X0=meminfo_ptr, W2=process_handle, X3=addr || W0=result, W1=pageinfo<br />
|-<br />
| 0x77 || [[#svcMapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x78 || [[#svcUnmapProcessCodeMemory]] || W0=process_handle, X1=dstaddr, X2=srcaddr, X3=size || W0=result<br />
|-<br />
| 0x79 || [[#svcCreateProcess]] || X1=procinfo_ptr, X2=caps_ptr, W3=cap_num || W0=result, W1=process_handle<br />
|-<br />
| 0x7A || svcStartProcess || W0=process_handle, W1=main_thread_prio, W2=default_cpuid, W3=main_thread_stacksz || W0=result<br />
|-<br />
| 0x7B || svcTerminateProcess || W0=process_handle || W0=result<br />
|-<br />
| 0x7C || [[#svcGetProcessInfo]] || W0=process_handle, W1=[[#ProcessInfoType]] || W0=result, X1=[[#ProcessState]]<br />
|-<br />
| 0x7D || svcCreateResourceLimit || None || W0=result, W1=reslimit_handle <br />
|-<br />
| 0x7E || svcSetResourceLimitLimitValue || W0=reslimit_handle, W1=[[#LimitableResource]], X2=value || W0=result<br />
|-<br />
| 0x7F || svcCallSecureMonitor || X0=smc_sub_id, X1,X2,X3,X4,X5,X6,X7=smc_args || X0,X1,X2,X3,X4,X5,X6,X7=result<br />
|}<br />
<br />
== svcSetHeapSize ==<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || OutAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Set the process heap to a given Size. It can both extend and shrink the heap.<br />
<br />
Size must be a multiple of 0x200000 (2MB).<br />
<br />
On success, the heap base-address (which is fixed by kernel, aslr'd) is written to OutAddr.<br />
<br />
Uses current process pool partition.<br />
<br />
[2.0.0+] Size must be less than or equal to 4GB.<br />
<br />
== svcSetMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || Prot<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change permission of page-aligned memory region.<br />
<br />
Bit2 of permission (exec) is not allowed. Setting write-only is not allowed either (bit1).<br />
<br />
This can be used to move back and forth between ---, r-- and rw-.<br />
<br />
== svcSetMemoryAttribute ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || Addr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || u32 || State0<br />
|-<br />
| (In) W3 || u32 || State1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Change attribute of page-aligned memory region. <br />
<br />
This is used to turn on/off caching for a given memory area. Useful when talking to devices such as the GPU.<br />
<br />
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.<br />
<br />
{| class=wikitable<br />
! State0 || State1 || Action<br />
|-<br />
| 0 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 0 || Clear bit3 in [[#MemoryAttribute]].<br />
|-<br />
| 8 || 8 || Set bit3 in [[#MemoryAttribute]].<br />
|}<br />
<br />
== svcMapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps a memory range into a different range.<br />
<br />
Mainly used for adding guard pages around stack.<br />
<br />
Source range gets reprotected to --- (it can no longer be accessed), and bit0 is set in the source [[#MemoryAttribute]].<br />
<br />
[1.0.0] This could be used to map into either the Alias Region or the Stack region.<br />
<br />
[2.0.0+] This can only be used to map into the Stack region.<br />
<br />
Code can get the range of the Alias region from [[#svcGetInfo]] id0=2,3, and on 2.0.0+ the range of the Stack region via [[#svcGetInfo]] id0=14, 15 (on 1.0.0, the Stack region had hardcoded limits).<br />
<br />
When mapped into the Alias region, the mapped memory will have state 0x482907.<br />
<br />
When mapped into the Stack region, the mapped memory will have state 0x5C3C0B.<br />
<br />
== svcUnmapMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) X1 || void* || SrcAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]].<br />
<br />
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go".<br />
<br />
The srcaddr/dstaddr must match what was given when the pages were originally mapped.<br />
<br />
== svcQueryMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfo<br />
|-<br />
| (In) X2 || void* || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
'''Description:''' Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.<br />
<br />
Outputs a [[#MemoryInfo]] struct.<br />
<br />
== svcExitProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current process.<br />
<br />
== svcCreateThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void(*)(void*) || Entry<br />
|-<br />
| (In) X2 || void* || ThreadContext<br />
|-<br />
| (In) X3 || void* || StackTop<br />
|-<br />
| (In) W4 || u32 || Priority<br />
|-<br />
| (In) W5 || u32 || ProcessorId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Thread> || Handle<br />
|}<br />
</div><br />
<br />
'''Description:''' Create a thread in the current process.<br />
<br />
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.<br />
<br />
== svcStartThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Starts the thread for the provided handle.<br />
<br />
== svcExitThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
'''Description:''' Exits the current thread.<br />
<br />
== svcSleepThread ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Nano<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Sleep for a specified amount of time, or yield thread.<br />
<br />
Setting nano=0 means "yield thread".<br />
<br />
== svcGetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1|| Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || Priority<br />
|}<br />
</div><br />
<br />
'''Description:''' Get priority of provided thread handle.<br />
<br />
== svcSetThreadPriority ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0|| Handle<Thread> || Handle<br />
|-<br />
| (In) W1|| u32 || Priority<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set priority of provided thread handle.<br />
<br />
Priority is a number 0-0x3F. Lower value means higher priority.<br />
<br />
== svcGetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W2 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u32 || Out0<br />
|-<br />
| (Out) X2 || u64 || Out1<br />
|}<br />
</div><br />
<br />
'''Description:''' Get affinity mask of provided thread handle.<br />
<br />
== svcSetThreadCoreMask ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (In) W1 || u32 || In0<br />
|-<br />
| (In) X2 || u64 || In1<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Set affinity mask of provided thread handle.<br />
<br />
== svcGetCurrentProcessorNumber ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) W0/X0 || u64 || CpuId<br />
|}<br />
</div><br />
<br />
'''Description:''' Get which cpu is executing the current thread.<br />
<br />
Cpu-id is an integer in the range 0-3.<br />
<br />
== svcMapSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<SharedMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the block supplied by the handle. The required permissions are different for the process that created the handle and all other processes.<br />
<br />
Increases reference count for the KSharedMemory object. Thus in order to release the memory associated with the object, all handles to it must be closed and all mappings must be unmapped.<br />
<br />
== svcCreateTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<TransferMemory> || Handle<br />
|}<br />
</div><br />
<br />
This one reprotects the src block with perms you give it. It also sets bit0 into [[#MemoryAttribute]].<br />
<br />
Executable bit perm not allowed.<br />
<br />
Closing all handles automatically causes the bit0 in [[#MemoryAttribute]] to clear, and the permission to reset.<br />
<br />
== svcWaitSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || Handle* || HandlesPtr<br />
|-<br />
| (In) W2 || u64 || HandlesNum<br />
|-<br />
| (In) X3 || u64 || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || u64 || HandleIndex<br />
|}<br />
</div><br />
<br />
Works with num_handles <= 0x40, error on num_handles == 0.<br />
<br />
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.<br />
<br />
=== Object types ===<br />
<br />
'''Port:''' signals when there is an incoming connection waiting to be [[#svcAcceptSession|accepted]].<br />
<br />
'''Session (server-side):''' signals when there is an incoming message waiting to be [[#svcReplyAndReceive|received]] or the pipe is closed.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. One of the objects was signalled before the timeout expired. Handle index is updated to indicate which object signalled.<br />
<br />
'''0x7601:''' Thread termination requested. Handle index is not updated.<br />
<br />
'''0xe401:''' Invalid handle. Returned when one of the handles passed is invalid. Handle index is not updated.<br />
<br />
'''0xea01:''' Timeout. Returned when no objects have been signalled within the timeout. Handle index is not updated.<br />
<br />
'''0xec01:''' Interrupted. Returned when another thread uses [[#svcCancelSynchronization]] to cancel this thread. Handle index is not updated.<br />
<br />
'''0xf601:''' Session closed. Returned when one of the handles represents a session that has been closed. Handle index is updated.<br />
<br />
== svcCancelSynchronization ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Thread> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
If the referenced thread is currently in a synchronization call ([[#svcWaitSynchronization]], [[#svcReplyAndReceive]] or [[#svcReplyAndReceiveLight]]), that call will be interrupted and return 0xec01.<br />
If that thread is not currently executing such a synchronization call, the next call to a synchronization call will return 0xec01.<br />
<br />
This doesn't take force-pause (activity/debug pause) into account.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. The thread was either interrupted or has had its flag set.<br />
<br />
'''0xe401:''' Invalid handle. The handle given was either invalid or not a thread handle.<br />
<br />
== svcGetSystemTick ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (Out) X0 || u64 || Ticks<br />
|}<br />
</div><br />
<br />
Returns the value of cntpct_el0.<br />
<br />
The frequency is 19200000 Hz (constant from official sw).<br />
<br />
Official sw reads cntpct_el0 directly from usermode without using this SVC. [[ExeFS|sdk-nso]] has this SVC, but it's not known to be called anywhere.<br />
<br />
== svcSendSyncRequestWithUserBuffer ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || CmdPtr<br />
|-<br />
| (In) X1 || u64 || Size<br />
|-<br />
| (In) W2 || Handle<Session> || Handle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size and CmdPtr must be 0x1000-aligned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success.<br />
<br />
'''0xcc01:''' CmdPtr is not 0x1000-aligned.<br />
<br />
'''0xca01:''' Size is not 0x1000-aligned.<br />
<br />
'''0xce01:''' KSessionRequest allocation failed (unlikely) or pointer buffer size exceeded.<br />
<br />
'''0xe401:''' Handles does not exist, or handle is not an instance of KClientSession.<br />
<br />
== svcBreak ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || Break Reason<br />
|-<br />
| (In) X1 || u64 ||<br />
|-<br />
| (In) X2 || u64 || Info<br />
|-<br />
| (Out) W0 || Result || 0 (Success)<br />
|}<br />
</div><br />
<br />
If the process is attached, report the Break event. Then, if svcContinueDebugEvent didn't apply IgnoreException on the thread: if TPIDR_EL0 is 0, adjust ELR_EL1 to retry to svc instruction (and set TPIDR_EL0 to 1).<br />
<br />
Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below), if it doesn't terminate the process adjust ELR_EL1 as well.<br />
<br />
Otherwise just return 0.<br />
<br />
== svcGetInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Process || 0 || 0 || AllowedCpuIdBitmask<br />
|-<br />
| Process || 1 || 0 || AllowedThreadPrioBitmask<br />
|-<br />
| Process || 2 || 0 || AliasRegionBaseAddr<br />
|-<br />
| Process || 3 || 0 || AliasRegionSize<br />
|-<br />
| Process || 4 || 0 || HeapRegionBaseAddr<br />
|-<br />
| Process || 5 || 0 || HeapRegionSize<br />
|-<br />
| Process || 6 || 0 || TotalMemoryAvailable. Total memory available(free+used).<br />
|-<br />
| Process || 7 || 0 || TotalMemoryUsage. Total used size of codebin memory + main-thread stack + allocated heap.<br />
|-<br />
| Zero || 8 || 0 || IsCurrentProcessBeingDebugged<br />
|-<br />
| Zero || 9 || 0 || Returns ResourceLimit handle for current process. Used by [[Process_Manager_services|PM]].<br />
|-<br />
| Zero || 10 || -1, {current coreid} || IdleTickCount<br />
|-<br />
| Zero || 11 || 0-3 || RandomEntropy from current process. TRNG. Used to seed usermode PRNGs.<br />
|-<br />
| Process || 12 || 0 || [2.0.0+] AddressSpaceBaseAddr<br />
|-<br />
| Process || 13 || 0 || [2.0.0+] AddressSpaceSize<br />
|-<br />
| Process || 14 || 0 || [2.0.0+] StackRegionBaseAddr<br />
|-<br />
| Process || 15 || 0 || [2.0.0+] StackRegionSize<br />
|-<br />
| Process || 16 || 0 || [3.0.0+] PersonalMmHeapSize<br />
|-<br />
| Process || 17 || 0 || [3.0.0+] PersonalMmHeapUsage<br />
|-<br />
| Process || 18 || 0 || [3.0.0+] TitleId<br />
|-<br />
| Zero || 19 || 0 || [4.0.0-4.1.0] PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 19 || 1 || [4.0.0-4.1.0] PrivilegedProcessId_UpperBound<br />
|-<br />
| Process || 20 || 0 || [5.0.0+] UserExceptionContextAddr<br />
|-<br />
| Thread || 0xF0000002 || 0 || Performance counter related.<br />
|}<br />
<br />
== svcMapPhysicalMemory ==<br />
This is like svcSetHeapSize except you can allocate heap at any address you'd like.<br />
<br />
Uses current process pool partition.<br />
<br />
== svcDumpInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) None || || <br />
|-<br />
| (Out) None || ||<br />
|}<br />
</div><br />
<br />
Does nothing, just returns with registers set to all-zero.<br />
<br />
== svcAcceptSession ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || Handle<Port> || Port<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || Handle<ServerSession> || Session<br />
|}<br />
</div><br />
<br />
=== Result codes ===<br />
<br />
'''0xf201:''' No session waiting to be accepted<br />
<br />
== svcReplyAndReceive ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || *Handle<Port or ServerSession> || Handles<br />
|-<br />
| (In) W2 || u32 || NumHandles<br />
|-<br />
| (In) W3 || Handle<ServerSession> || ReplyTarget<br />
|-<br />
| (In) X4 || u64 (nanoseconds) || Timeout<br />
|-<br />
| (Out) W0 || [[#Result]] || Result<br />
|-<br />
| (Out) W1 || u32 || HandleIndex<br />
|}<br />
</div><br />
<br />
If ReplyTarget is not zero, a reply from the TLS will be sent to that session.<br />
Then it will wait until either of the passed sessions has an incoming message, is closed, a passed port has an incoming connection, or the timeout expires.<br />
If there is an incoming message, it is copied to the TLS.<br />
<br />
If ReplyTarget is zero, the TLS should contain a blank message. If this message has a C descriptor, the buffer it points to will be used as the pointer buffer. See [[IPC_Marshalling#IPC_buffers]]. Note that a pointer buffer cannot be specified if ReplyTarget is not zero.<br />
<br />
After being validated, passed handles will be enumerated in order; even if a session has been closed, if one that appears earlier in the list has an incoming message, it will take priority and a result code of 0x0 will be returned.<br />
<br />
=== Result codes ===<br />
<br />
'''0x0:''' Success. Either a session has an incoming message or a port has an incoming connection. HandleIndex is set appropriately.<br />
<br />
'''0xea01:''' Timeout. No handles were signalled before the timeout expired. HandleIndex is not updated.<br />
<br />
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.<br />
<br />
== svcMapPhysicalMemoryUnsafe ==<br />
Same as [[#svcMapPhysicalMemory]] except it always uses pool partition 0.<br />
<br />
== svcCreateCodeMemory ==<br />
Takes an address range with backing memory to create the code memory object.<br />
<br />
The memory is initially memset to 0xFF after being locked.<br />
<br />
== svcControlCodeMemory ==<br />
Maps the backing memory for a Code memory object into the current process.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.<br />
<br />
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.<br />
<br />
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.<br />
<br />
This allows one "secure JIT" process to map the code memory as RW-, and the other "slave" process to map it R-X.<br />
<br />
[5.0.0+] Error 0xE401 is now returned when the process owner of the Code memory object is the same as the current process.<br />
<br />
== svcReadWriteRegister ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || RegAddr<br />
|-<br />
| (In) W2 || u64 || RwMask<br />
|-<br />
| (In) W3 || u64 || InValue<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1|| u64 || OutValue<br />
|}<br />
</div><br />
<br />
Read/write IO registers with a hardcoded whitelist. Input address is physical-address and must be aligned to 4.<br />
<br />
rw_mask is 0 for reading and 0xffffffff for writing. You can also write individual bits by using a mask value.<br />
<br />
You can only write to registers inside physical pages 0x70019000 (MC), 0x7001C000 (MC0), 0x7001D000 (MC1), and they all share the same whitelist.<br />
<br />
The whitelist is same for writing as for reading.<br />
<br />
The whitelist is:<br />
<br />
0x054, 0x090, 0x094, 0x098, 0x09c, 0x0a0, 0x0a4, 0x0a8, 0x0ac, 0x0b0, 0x0b4, 0x0b8, 0x0bc, 0x0c0, 0x0c4, 0x0c8, 0x0d0, 0x0d4, 0x0d8, 0x0dc, 0x0e0, 0x100, 0x108, 0x10c, 0x118, 0x11c, 0x124, 0x128, 0x12c, 0x130, 0x134, 0x138, 0x13c, 0x158, 0x15c, 0x164, 0x168, 0x16c, 0x170, 0x174, 0x178, 0x17c, 0x200, 0x204, 0x2e4, 0x2e8, 0x2ec, 0x2f4, 0x2f8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37c, 0x380, 0x390, 0x394, 0x398, 0x3ac, 0x3b8, 0x3bc, 0x3c0, 0x3c4, 0x3d8, 0x3e8, 0x41c, 0x420, 0x424, 0x428, 0x42c, 0x430, 0x44c, 0x47c, 0x480, 0x484, 0x50c, 0x554, 0x558, 0x55c, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69c, 0x6a0, 0x6a4, 0x6c0, 0x6c4, 0x6f0, 0x6f4, 0x960, 0x970, 0x974, 0xa20, 0xa24, 0xb88, 0xb8c, 0xbc4, 0xbc8, 0xbcc, 0xbd0, 0xbd4, 0xbd8, 0xbdc, 0xbe0, 0xbe4, 0xbe8, 0xbec, 0xc00, 0xc5c, 0xcac<br />
<br />
<br />
[2.0.0+] Whitelist was extended with 0x4c4, 0x4c8, 0x4cc, 0x584, 0x588, 0x58c.<br />
<br />
[2.0.0+] The IO registers in range 0x7000E400 (PMC) size 0xC00 skip the whitelist, and do a TrustZone call using [[SMC]] Id1 0xC3000008(ReadWriteRegister).<br />
<br />
[4.0.0+] Access to the Memory Controller (0x70019000) also uses smcReadWriteRegister.<br />
<br />
Here is the whitelist imposed by that SMC, relative to the start of the PMC registers:<br />
<br />
0x000, 0x00c, 0x010, 0x014, 0x01c, 0x020, 0x02c, 0x030, 0x034, 0x038, 0x03c, 0x040, 0x044, 0x048, 0x0dc, 0x0e0, 0x0e4, 0x160, 0x164, 0x168, 0x170, 0x1a8, 0x1b8, 0x1bc, 0x1c0, 0x1c4, 0x1c8, 0x2b4, 0x2d4, 0x440, 0x4d8<br />
<br />
Here is the whitelist imposed by smcReadWriteRegister (checked in addition to the whitelist in svcReadWriteRegister), relative to the start of the MC registers:<br />
<br />
0x000, 0x004, 0x008, 0x00C, 0x010, 0x01C, 0x020, 0x030, 0x034, 0x050, 0x054, 0x090, 0x094, 0x098, 0x09C, 0x0A0, 0x0A4, 0x0A8, 0x0AC, 0x0B0, 0x0B4, 0x0B8, 0x0BC, 0x0C0, 0x0C4, 0x0C8, 0x0D0, 0x0D4, 0x0D8, 0x0DC, 0x0E0, 0x100, 0x108, 0x10C, 0x118, 0x11C, 0x124, 0x128, 0x12C, 0x130, 0x134, 0x138, 0x13C, 0x158, 0x15C, 0x164, 0x168, 0x16C, 0x170, 0x174, 0x178, 0x17C, 0x200, 0x204, 0x238, 0x240, 0x244, 0x250, 0x254, 0x258, 0x264, 0x268, 0x26C, 0x270, 0x274, 0x280, 0x284, 0x288, 0x28C, 0x294, 0x2E4, 0x2E8, 0x2EC, 0x2F4, 0x2F8, 0x310, 0x314, 0x320, 0x328, 0x344, 0x348, 0x370, 0x374, 0x37C, 0x380, 0x390, 0x394, 0x398, 0x3AC, 0x3B8, 0x3BC, 0x3C0, 0x3C4, 0x3D8, 0x3E8, 0x41C, 0x420, 0x424, 0x428, 0x42C, 0x430, 0x44C, 0x47C, 0x480, 0x484, 0x4C4, 0x4C8, 0x4CC, 0x50C, 0x554, 0x558, 0x55C, 0x584, 0x588, 0x58C, 0x670, 0x674, 0x690, 0x694, 0x698, 0x69C, 0x6A0, 0x6A4, 0x6C0, 0x6C4, 0x6F0, 0x6F4, 0x960, 0x970, 0x974, 0x9B8, 0xA20, 0xA24, 0xA88, 0xA94, 0xA98, 0xA9C, 0xAA0, 0xAA4, 0xAA8, 0xAAC, 0xAB0, 0xAB4, 0xAB8, 0xABC, 0xAC0, 0xAC4, 0xAC8, 0xACC, 0xAD0, 0xAD4, 0xAD8, 0xADC, 0xAE0, 0xB88, 0xB8C, 0xBC4, 0xBC8, 0xBCC, 0xBD0, 0xBD4, 0xBD8, 0xBDC, 0xBE0, 0xBE4, 0xBE8, 0xBEC, 0xC00, 0xC5C, 0xCAC<br />
<br />
== svcCreateSharedMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W1 || u64 || Size<br />
|-<br />
| (In) W2 || [[#Permission]] || LocalPerm<br />
|-<br />
| (In) W3 || [[#Permission]] || RemotePerm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<SharedMemory> || MemHandle<br />
|}<br />
</div><br />
<br />
Other perm can be used to enforce permission 1, 3, or 0x10000000 if don't care.<br />
<br />
Allocates memory from the current process' pool partition.<br />
<br />
== svcMapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
The newly mapped pages will have [[#MemoryState]] type 0xE.<br />
<br />
You must pass same size and permissions as given in svcCreateMemoryMirror, otherwise error.<br />
<br />
== svcUnmapTransferMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || Handle<TransferMemory> || MemHandle<br />
|-<br />
| (In) X1 || void* || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Size must match size given in map syscall, otherwise there's an invalid-size error.<br />
<br />
== svcQueryPhysicalAddress ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]]|| Ret<br />
|-<br />
| (Out) X1 || u64 || PhysAddr<br />
|-<br />
| (Out) X2 || u64 || KernelAddr<br />
|-<br />
| (Out) X3 || u64 || Size<br />
|}<br />
</div><br />
<br />
== svcQueryIoMapping ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || PhysAddr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || void* || VirtAddr<br />
|}<br />
</div><br />
<br />
'''Description:''' Returns a virtual address mapped to a given IO range.<br />
<br />
== svcCreateDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || StartAddr<br />
|-<br />
| (In) X2 || u64 || EndAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<DeviceAddressSpace> || AddressSpaceHandle<br />
|}<br />
</div><br />
<br />
'''Description:''' Creates a virtual address space for binding device address spaces and returns a handle.<br />
<br />
dev_as_start_addr is normally set to 0 and dev_as_end_addr is normally set to 0xFFFFFFFF.<br />
<br />
== svcAttachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Attaches a device address space to a [[#DeviceName|device]].<br />
<br />
== svcDetachDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || [[#DeviceName]] || DeviceId<br />
|-<br />
| (In) X1 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Detaches a device address space from a [[#DeviceName|device]].<br />
<br />
== svcMapDeviceAddressSpaceByForce ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
dev_map_addr is the userspace destination address, while dev_as_addr is the source address between dev_as_start_addr and dev_as_end_addr (passed to [[#svcCreateDeviceAddressSpace]]).<br />
<br />
The userspace destination address must have the [[SVC#MemoryState|MapDeviceAllowed]] bit set. Bit [[SVC#MemoryAttribute|IsDeviceMapped]] will be set after mapping.<br />
<br />
== svcMapDeviceAddressSpaceAligned ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (In) W5 || [[#Permission]] || Permissions<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Maps an attached device address space to an userspace address.<br />
<br />
Same as [[#svcMapDeviceAddressSpaceByForce]], but the userspace destination address must have the [[SVC#MemoryState|MapDeviceAlignedAllowed]] bit set instead.<br />
<br />
== svcUnmapDeviceAddressSpace ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || DeviceAsSize<br />
|-<br />
| (In) X4 || u64 || DeviceAsAddr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
'''Description:''' Unmaps an attached device address space from an userspace address.<br />
<br />
== svcGetSystemInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || u64 || InfoId<br />
|-<br />
| (In) W2 || Handle || Handle<br />
|-<br />
| (In) X3 || u64 || InfoSubId<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) X1 || u64 || Out<br />
|}<br />
</div><br />
<br />
{| class=wikitable<br />
! Handle type || Id0 || Id1 || Description<br />
|-<br />
| Zero || 0 || 0 || TotalMemorySize_Application<br />
|-<br />
| Zero || 0 || 1 || TotalMemorySize_Applet<br />
|-<br />
| Zero || 0 || 2 || TotalMemorySize_System<br />
|-<br />
| Zero || 0 || 3 || TotalMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 1 || 0 || CurrentMemorySize_Application<br />
|-<br />
| Zero || 1 || 1 || CurrentMemorySize_Applet<br />
|-<br />
| Zero || 1 || 2 || CurrentMemorySize_System<br />
|-<br />
| Zero || 1 || 3 || CurrentMemorySize_SystemUnsafe<br />
|-<br />
| Zero || 2 || 0 || PrivilegedProcessId_LowerBound<br />
|-<br />
| Zero || 2 || 1 || PrivilegedProcessId_UpperBound<br />
|-<br />
|}<br />
<br />
== svcSetProcessMemoryPermission ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || Addr<br />
|-<br />
| (In) X2 || u64 || Size<br />
|-<br />
| (In) W3 || void* || Perm<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
This sets the memory permissions for the specified memory with the supplied process handle.<br />
<br />
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed.<br />
<br />
== svcMapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || u64 || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || void* || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Maps the src address from the supplied process handle into the current process.<br />
<br />
This allows mapping code and rodata with RW- permission.<br />
<br />
== svcUnmapProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || void* || DstAddr<br />
|-<br />
| (In) W1 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessMemory]].<br />
<br />
== svcQueryProcessMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X0 || [[#MemoryInfo]]* || MemInfoPtr<br />
|-<br />
| (In) W2 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X3 || u64 || Addr<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || PageInfo || PageInfo<br />
|}<br />
</div><br />
<br />
Equivalent to [[#svcQueryMemory]] except takes a process handle.<br />
<br />
== svcMapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs. This does not support using the current-process handle alias.<br />
<br />
== svcUnmapProcessCodeMemory ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (In) X1 || u64 || DstAddr<br />
|-<br />
| (In) X2 || u64 || SrcAddr<br />
|-<br />
| (In) X3 || u64 || Size<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].<br />
<br />
== svcCreateProcess ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) X1 || [[#CreateProcessInfo]]* || InfoPtr<br />
|-<br />
| (In) X2 || u64 || CapabilitiesPtr<br />
|-<br />
| (In) X3 || u64 || CapabilitiesNum<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || Handle<Process> || ProcessHandle<br />
|}<br />
</div><br />
<br />
Takes a [[#CreateProcessInfo]] as input.<br />
<br />
== svcGetProcessInfo ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || Handle<Process> || ProcessHandle<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|-<br />
| (Out) W1 || [[#ProcessState]] || State<br />
|}<br />
</div><br />
<br />
Returns an enum with value 0-7.<br />
<br />
== Debugging ==<br />
[2.0.0+] Exactly 6 debug SVCs require that [[SPL_services#GetConfig|IsDebugMode]] is non-zero. Error 0x4201 is returned otherwise.<br />
* svcBreakDebugProcess<br />
* svcContinueDebugEvent<br />
* svcWriteDebugProcessMemory<br />
* svcSetDebugThreadContext<br />
* svcTerminateDebugProcess<br />
* svcSetHardwareBreakPoint<br />
<br />
svcDebugActiveProcess stops execution of the target process, the normal method for resuming it requires svcContinueDebugEvent(see above). Closing the debug handle also results in execution being resumed.<br />
<br />
== svcSetHardwareBreakPoint ==<br />
<br />
<div style="display: inline-block;"><br />
{| class="wikitable" border="1"<br />
|-<br />
! Argument || Type || Name<br />
|-<br />
| (In) W0 || u32 || hardware_breakpoint_id<br />
|-<br />
| (In) W1 || u64 || flags<br />
|-<br />
| (In) W2 || u64 || value<br />
|-<br />
| (Out) W0 || [[#Result]] || Ret<br />
|}<br />
</div><br />
<br />
Sets one of the AArch64 hardware breakpoints. The nintendo switch has 6 hardware breakpoints, and 4 hardware watchpoints. The syscall has two behaviors depending on the value of hardware_breakpoint_id:<br />
<br />
If hardware_breakpoint_id < 0x10, then it sets one of the AArch64 hardware breakpoints. Flags will go to DBGBCRn_EL1, and value to DBGBVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0x7F01E1. Furthermore, the kernel will or it with 0x4004, in order to set various security flags to guarantee the watchpoints only triggers for code in EL0. If the user asks for a Breakpoint Type of ContextIDR match, the kernel shall use the given debug_handle to set DBGBVRn_EL1 to the ContextID of the debugged process.<br />
<br />
<br />
If hardware_breakpoint_id is between 0x10 and 0x20 (exclusive), then it sets one of the AArch64 hardware watchpoints. Flags will go to DBGWCRn_EL1, and the value to DBGWVRn_EL1. The only flags the user is allowed to set are those in the bitmask 0xFF0F1FF9. Furthermore, the kernel will or it with 0x104004. This will set various security flags, and set the watchpoint type to be a Linked Watchpoint. This means that you need to link it to a Linked ContextIDR breakpoint. Check the ARM documentation for more information.<br />
<br />
Note that hardware_breakpoint_id 0 to 4 match only to Virtual Address, while hardware_breakpoint_id 5 and 6 match against either Virtual Address, ContextID, or VMID. As such, if you are configuring a breakpoint to link for a watchpoint, make sure you use hardware_breakpoint_id 5 or 6.<br />
<br />
<br />
For more documentation for hardware breakpoints, check out the AArch64 documentation for the [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488h/way1382455558968.html DBGBCRn_EL1 register] and the [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488h/way1382455560629.html DBGWCRn_EL1 register]<br />
<br />
= Enum/Structures =<br />
== ThreadContextRequestFlags ==<br />
Bitfield of one of more of these:<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Name<br />
|-<br />
| 0 || 1 || NormalContext<br />
|-<br />
| 1 || 2 ||<br />
|-<br />
| 2 || 4 ||<br />
|-<br />
| 3 || 8 ||<br />
|}<br />
<br />
== DeviceName ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DeviceName_AFI<br />
|-<br />
| 1 || DeviceName_AVPC<br />
|-<br />
| 2 || DeviceName_DC<br />
|-<br />
| 3 || DeviceName_DCB<br />
|-<br />
| 4 || DeviceName_HC<br />
|-<br />
| 5 || DeviceName_HDA<br />
|-<br />
| 6 || DeviceName_ISP2<br />
|-<br />
| 7 || DeviceName_MSENCNVENC<br />
|-<br />
| 8 || DeviceName_NV<br />
|-<br />
| 9 || DeviceName_NV2<br />
|-<br />
| 10 || DeviceName_PPCS<br />
|-<br />
| 11 || DeviceName_SATA<br />
|-<br />
| 12 || DeviceName_VI<br />
|-<br />
| 13 || DeviceName_VIC<br />
|-<br />
| 14 || DeviceName_XUSB_HOST<br />
|-<br />
| 15 || DeviceName_XUSB_DEV<br />
|-<br />
| 16 || DeviceName_TSEC<br />
|-<br />
| 17 || DeviceName_PPCS1<br />
|-<br />
| 18 || DeviceName_DC1<br />
|-<br />
| 19 || DeviceName_SDMMC1A<br />
|-<br />
| 20 || DeviceName_SDMMC2A<br />
|-<br />
| 21 || DeviceName_SDMMC3A<br />
|-<br />
| 22 || DeviceName_SDMMC4A<br />
|-<br />
| 23 || DeviceName_ISP2B<br />
|-<br />
| 24 || DeviceName_GPU<br />
|-<br />
| 25 || DeviceName_GPUB<br />
|-<br />
| 26 || DeviceName_PPCS2<br />
|-<br />
| 27 || DeviceName_NVDEC<br />
|-<br />
| 28 || DeviceName_APE<br />
|-<br />
| 29 || DeviceName_SE<br />
|-<br />
| 30 || DeviceName_NVJPG<br />
|-<br />
| 31 || DeviceName_HC1<br />
|-<br />
| 32 || DeviceName_SE1<br />
|-<br />
| 33 || DeviceName_AXIAP<br />
|-<br />
| 34 || DeviceName_ETR<br />
|-<br />
| 35 || DeviceName_TSECB<br />
|-<br />
| 36 || DeviceName_TSEC1<br />
|-<br />
| 37 || DeviceName_TSECB1<br />
|-<br />
| 38 || DeviceName_NVDEC1<br />
|}<br />
<br />
== CodeMemoryOperation ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || CodeMemoryOperation_MapOwner<br />
|-<br />
| 1 || CodeMemoryOperation_MapSlave<br />
|-<br />
| 2 || CodeMemoryOperation_UnmapOwner<br />
|-<br />
| 3 || CodeMemoryOperation_UnmapSlave<br />
|}<br />
<br />
<br />
== LimitableResource ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || LimitableResource_Memory<br />
|-<br />
| 1 || LimitableResource_Threads<br />
|-<br />
| 2 || LimitableResource_Events<br />
|-<br />
| 3 || LimitableResource_TransferMemories<br />
|-<br />
| 4 || LimitableResource_Sessions<br />
|}<br />
<br />
== ProcessInfoType ==<br />
<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || [[#ProcessState|ProcessInfoType_ProcessState]]<br />
|-<br />
|}<br />
<br />
== ProcessState ==<br />
{| class=wikitable<br />
! Value || Name || Notes<br />
|-<br />
| 0 || ProcessState_Created ||<br />
|-<br />
| 1 || ProcessState_CreatedAttached ||<br />
|-<br />
| 2 || ProcessState_Started ||<br />
|-<br />
| 3 || ProcessState_Crashed || Processes will not enter this state unless they were created with [[#CreateProcessInfo|EnableDebug]].<br />
|-<br />
| 4 || ProcessState_StartedAttached ||<br />
|-<br />
| 5 || ProcessState_Exiting ||<br />
|-<br />
| 6 || ProcessState_Exited ||<br />
|-<br />
| 7 || ProcessState_DebugSuspended ||<br />
|}<br />
<br />
== DebugThreadParam ==<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugThreadParam_DynamicPriority<br />
|-<br />
| 1 || DebugThreadParam_SchedulingStatus<br />
|-<br />
| 2 || DebugThreadParam_PreferredCpuCore<br />
|-<br />
| 3 || DebugThreadParam_CurrentCpuCore<br />
|-<br />
| 4 || DebugThreadParam_AffinityMask<br />
|}<br />
<br />
Dynamic priority: output in out2<br />
<br />
Scheduling status: out1 contains bit0: is debug-suspended, bit1: is user-suspended (svcSetThreadActivity 1 or svcSetProcessActivity 1).<br />
Out2 contains {suspended, idle, running, terminating} => {5, 0, 1, 4}<br />
<br />
DebugThreadParam_PreferredCpuCore: output in out2<br />
<br />
DebugThreadParam_CurrentCpuCore: output in out2<br />
<br />
DebugThreadParam_AffinityMask: output in out1<br />
<br />
== CreateProcessInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Bits || Description<br />
|-<br />
| 0 || 12 || || ProcessName (doesn't have to be null-terminated)<br />
|-<br />
| 0 || 4 || || ProcessCategory (0: regular title, 1: kernel built-in)<br />
|-<br />
| 0x10 || 8 || || TitleId<br />
|-<br />
| 0x18 || 8 || || CodeAddr<br />
|-<br />
| 0x20 || 4 || || CodeNumPages<br />
|-<br />
| 0x24 || 4 || || MmuFlags<br />
|-<br />
| || || Bit0 || IsAarch64<br />
|-<br />
| || || Bit3-1 || [[#AddressSpaceType]]<br />
|-<br />
| || || Bit4 || [2.0.0+] EnableDebug<br />
|-<br />
| || || Bit5 || EnableAslr<br />
|-<br />
| || || Bit6 || UseSystemMemBlocks<br />
|-<br />
| || || Bit7 || [4.0.0] ?<br />
|-<br />
| || || Bit10-7 || [5.0.0+] PoolPartition (0=Application, 1=Applet, 2=Sysmodule, 3=Nvservices)<br />
|-<br />
| 0x28 || 4 || || ResourceLimitHandle<br />
|-<br />
| 0x2C || 4 || || [3.0.0+] PersonalMmHeapNumPages<br />
|}<br />
<br />
On [1.0.0] there's only one pool.<br />
<br />
On [2.0.0-4.0.0] PoolPartition is 1 for built-ins and 0 for rest.<br />
<br />
On [5.0.0] PoolPartition is specified in CreateProcessArgs. There are now 4 pool partitions.<br />
<br />
=== AddressSpaceType ===<br />
{| class=wikitable<br />
! Type || Name || Width || Description<br />
|-<br />
| 0 || Normal_32Bit || 32 ||<br />
|-<br />
| 1 || Normal_36Bit || 36 ||<br />
|-<br />
| 2 || WithoutMap_32Bit || 32 || Appears to be missing map region [?]<br />
|-<br />
| 3 || [2.0.0+] Normal_39Bit || 39 ||<br />
|}<br />
<br />
== MemoryInfo ==<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || 8 || BaseAddress<br />
|-<br />
| 8 || 8 || Size<br />
|-<br />
| 0x10 || 4 || MemoryType: lower 8 bits of [[#MemoryState]]<br />
|-<br />
| 0x14 || 4 || [[#MemoryAttribute]]<br />
|-<br />
| 0x18 || 4 || Permission (bit0: R, bit1: W, bit2: X)<br />
|-<br />
| 0x1C || 4 || IpcRefCount<br />
|-<br />
| 0x20 || 4 || DeviceRefCount<br />
|-<br />
| 0x24 || 4 || Padding: always zero<br />
|}<br />
<br />
== MemoryAttribute ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 0 || IsBorrowed<br />
|-<br />
| 1 || IsIpcMapped: when IpcRefCount > 0.<br />
|-<br />
| 2 || IsDeviceMapped: when DeviceRefCount > 0.<br />
|-<br />
| 3 || IsUncached<br />
|}<br />
<br />
== MemoryState ==<br />
{| class=wikitable<br />
! Bits || Description<br />
|-<br />
| 7-0 || Type<br />
|-<br />
| 8 || [[#svcSetMemoryPermission|PermissionChangeAllowed]]<br />
|-<br />
| 9 || ForceReadWritableByDebugSyscalls<br />
|-<br />
| 10 || IpcSendAllowed_Type0<br />
|-<br />
| 11 || IpcSendAllowed_Type3<br />
|-<br />
| 12 || IpcSendAllowed_Type1<br />
|-<br />
| 14 || [[#svcSetProcessMemoryPermission|ProcessPermissionChangeAllowed]]<br />
|-<br />
| 15 || [[#svcMapMemory|MapAllowed]]<br />
|-<br />
| 16 || [[#svcUnmapProcessCodeMemory|UnmapProcessCodeMemoryAllowed]]<br />
|-<br />
| 17 || [[#svcCreateTransferMemory|TransferMemoryAllowed]]<br />
|-<br />
| 18 || [[#svcQueryPhysicalAddress|QueryPhysicalAddressAllowed]]<br />
|-<br />
| 19 || MapDeviceAllowed ([[#svcMapDeviceAddressSpace]] and [[#svcMapDeviceAddressSpaceByForce]])<br />
|-<br />
| 20 || [[#svcMapDeviceAddressSpaceAligned|MapDeviceAlignedAllowed]]<br />
|-<br />
| 21 || [[#svcSendSyncRequestWithUserBuffer|IpcBufferAllowed]]<br />
|-<br />
| 22 || IsPoolAllocated/IsReferenceCounted<br />
|-<br />
| 23 || [[#svcMapProcessMemory|MapProcessAllowed]]<br />
|-<br />
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]<br />
|-<br />
| 25 || [4.0.0+] CodeMemoryAllowed<br />
|}<br />
<br />
{| class=wikitable<br />
! Value || Type || Meaning<br />
|-<br />
| 0x00000000 || MemoryType_Unmapped ||<br />
|-<br />
| 0x00002001 || MemoryType_Io || Mapped by kernel capability parsing in [[#svcCreateProcess]]. <br />
|-<br />
| 0x00042002 || MemoryType_Normal || Mapped by kernel capability parsing in [[#svcCreateProcess]].<br />
|-<br />
| 0x00DC7E03 || MemoryType_CodeStatic || Mapped during [[#svcCreateProcess]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FEBD04<br />
<br />
[4.0.0+]<br />
<br />
0x03FEBD04<br />
|| MemoryType_CodeMutable || Transition from 0xDC7E03 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| [1.0.0+]<br />
0x017EBD05<br />
<br />
[4.0.0+]<br />
<br />
0x037EBD05<br />
|| MemoryType_Heap || Mapped using [[#svcSetHeapSize]].<br />
|-<br />
| 0x00402006 || MemoryType_SharedMemory || Mapped using [[#svcMapSharedMemory]].<br />
|-<br />
| 0x00482907 || [1.0.0] MemoryType_Alias || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x00DD7E08 || MemoryType_ModuleCodeStatic || Mapped using [[#svcMapProcessCodeMemory]].<br />
|-<br />
| [1.0.0+]<br />
<br />
0x01FFBD09<br />
<br />
[4.0.0+]<br />
<br />
0x03FFBD09<br />
|| MemoryType_ModuleCodeMutable || Transition from 0xDD7E08 performed by [[#svcSetProcessMemoryPermission]].<br />
|-<br />
| 0x005C3C0A || [[IPC_Marshalling|MemoryType_IpcBuffer0]] || IPC buffers with descriptor flags=0.<br />
|-<br />
| 0x005C3C0B || MemoryType_Stack || Mapped using [[#svcMapMemory]].<br />
|-<br />
| 0x0040200C || [[Thread Local Storage|MemoryType_ThreadLocal]] || Mapped during [[#svcCreateThread]].<br />
|-<br />
| 0x015C3C0D || MemoryType_TransferMemoryIsolated || Mapped using [[#svcMapTransferMemory]] when the owning process has perm=0.<br />
|-<br />
| 0x005C380E || MemoryType_TransferMemory || Mapped using [[#svcMapTransferMemory]] when the owning process has perm!=0.<br />
|-<br />
| 0x0040380F || MemoryType_ProcessMemory || Mapped using [[#svcMapProcessMemory]].<br />
|-<br />
| 0x00000010 || MemoryType_Reserved ||<br />
|-<br />
| 0x005C3811 || [[IPC_Marshalling|MemoryType_IpcBuffer1]] || IPC buffers with descriptor flags=1.<br />
|-<br />
| 0x004C2812 || [[IPC_Marshalling|MemoryType_IpcBuffer3]] || IPC buffers with descriptor flags=3.<br />
|-<br />
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].<br />
|-<br />
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|-<br />
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].<br />
|}<br />
<br />
== ArbitrationType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || WaitIfLessThan<br />
|-<br />
| 0x1 || DecrementAndWaitIfLessThan<br />
|-<br />
| 0x2 || WaitIfEqual<br />
|-<br />
|}<br />
<br />
== SignalType ==<br />
<br />
{| class=wikitable<br />
! Value || Type<br />
|-<br />
| 0x0 || Signal<br />
|-<br />
| 0x1 || SignalAndIncrementIfEqual<br />
|-<br />
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual<br />
|-<br />
|}<br />
<br />
== ContinueDebugFlagsOld ==<br />
[1.0.0-2.3.0]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: ResumeAllThreads or debug-suspended-thread-id needed)<br />
|-<br />
| 1 || 2 || SwallowException<br />
|-<br />
| 2 || 4 || ResumeAllThreads<br />
|}<br />
<br />
== ContinueDebugFlags ==<br />
[3.0.0+]<br />
<br />
{| class=wikitable<br />
! Bit || Bitmask || Description<br />
|-<br />
| 0 || 1 || IgnoreException (note: doesn't need to be set in the same call than Resume)<br />
|-<br />
| 1 || 2 || DontCatchExceptions<br />
|-<br />
| 2 || 4 || Resume<br />
|-<br />
| 3 || 8 || IgnoreOtherThreadsExceptions<br />
|}<br />
<br />
IgnoreExceptionsOfOthers is like IgnoreException but acts on all threads that aren't in the input list. The affected threads are resumed.<br />
<br />
Only one of of Resume and IgnoreOtherThreadsExceptions can be set at a time.<br />
<br />
If the input number of threads is 0, this means "all threads".<br />
<br />
== DebugEventInfo ==<br />
<br />
The below table is for the Aarch64 version of the system call. For A32, all u64 fields but title/process/thread id are actually u32, making the structure 0x28-byte-big (0x40 for a64).<br />
<br />
Size: 0x40<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0 || u32 || EventType<br />
|-<br />
| 4 || u32 || Flags (bit0: NeedsContinue)<br />
|-<br />
| 8 || u64 || ThreadId<br />
|-<br />
| 0x10 || || PerTypeSpecifics<br />
|}<br />
<br />
AttachProcess specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || TitleId<br />
|-<br />
| 0x18 || u64 || ProcessId<br />
|-<br />
| 0x20 || char[12] || ProcessName<br />
|-<br />
| 0x2C || u32 || MmuFlags<br />
|-<br />
| 0x30 || u64 || [5.0.0+] UserExceptionContextAddr<br />
|}<br />
<br />
AttachThread specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u64 || ThreadId<br />
|-<br />
| 0x18 || u64 || TlsPtr<br />
|-<br />
| 0x20 || u64 || Entrypoint<br />
|}<br />
<br />
Exit specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32|| Type (0=PausedThread, 1=RunningThread, 2=ExitedProcess, 3=TerminatedProcess)<br />
|}<br />
<br />
Exception specific:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x10 || u32 || ExceptionType<br />
|-<br />
| 0x18 || u64 || FaultRegister<br />
|-<br />
| 0x20 || || PerExceptionSpecifics<br />
|}<br />
<br />
=== DebugEventType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || DebugEvent_AttachProcess<br />
|-<br />
| 1 || DebugEvent_AttachThread<br />
|-<br />
| 2 || DebugEvent_ExitProcess<br />
|-<br />
| 3 || DebugEvent_ExitThread<br />
|-<br />
| 4 || DebugEvent_Exception<br />
|}<br />
<br />
=== DebugExceptionType ===<br />
{| class=wikitable<br />
! Value || Name<br />
|-<br />
| 0 || Exception_Trap (*)<br />
|-<br />
| 1 || Exception_InstructionAbort<br />
|-<br />
| 2 || Exception_DataAbortMisc (**)<br />
|-<br />
| 3 || Exception_PcSpAlignmentFault<br />
|-<br />
| 4 || Exception_DebuggerAttached<br />
|-<br />
| 5 || Exception_BreakPoint<br />
|-<br />
| 6 || Exception_UserBreak<br />
|-<br />
| 7 || Exception_DebuggerBreak<br />
|-<br />
| 8 || Exception_BadSvcId<br />
|-<br />
| 9 || Exception_SError [not in 1.0.0]<br />
|}<br />
<br />
* Undefined instructions, software breakpoints, some other traps.<br />
** Data aborts, FP traps, and everything else that doesn't belong to any of the above.<br />
<br />
Trap specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Opcode<br />
|}<br />
<br />
BreakPoint specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || IsWatchpoint<br />
|}<br />
<br />
UserBreak specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || Info0<br />
|-<br />
| 0x28 || u64 || Info1<br />
|-<br />
| 0x30 || u64 || Info2<br />
|}<br />
<br />
BadSvcId specifics:<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x20 || u32 || SvcId<br />
|}<br />
<br />
= Exception handling =<br />
First of all, a function that might be called by synchronous exception handler and that is called by the SError handler fetches the exception info, adjusts PC, panics on exceptions taken from EL1, then dispatches the exception.<br />
<br />
The dispatcher has two mutually exclusive exception reporting methods:<br />
* by storing information at the start of the process's TLS memregion (TPIDRRO_EL0) and jumping back to the crt0<br />
* by using KDebug<br />
<br />
KDebug dispatching is used when at least one of the following conditions are met:<br />
* SMC ConfigItem KernelMemConfig bit 1 is NOT set (it isn't on retail), unless: this is a software or hardware breakpoint, or a watchpoint, or [4.0.0+?] the process is attached and this is a Google PNaCl trap instruction (see LLVM source)<br />
* PC doesn't point to a valid address in mapped-readable CodeStatic memory (i.e. this is the case for NRO and JIT memory) or this one of the following exceptions (it particular, that doesn't include FP exceptions occuring in CodeStatic memory):<br />
** Uncategorized<br />
** IllegalState<br />
** SupervisorCallA32<br />
** SupervisorCallA64<br />
** PCAlignment<br />
** SPAlignment<br />
** SError<br />
** BreakpointLowerEl<br />
** SoftwareStepLowerEl (note: no way set single-step flag; not parsed)<br />
** WatchpointLowerEl<br />
** SoftwareBreakpointA32 (note: not parsed)<br />
** SoftwareBreakpointA64 (note: not parsed)<br />
<br />
In all other cases the userland-handled exception path is taken.<br />
<br />
KDebug path:<br />
<br />
If the process is attached, the exception is reported to the KDebug. If the thread was continued using flag IgnoreExceptions, it returns from the exception as if nothing happened.<br />
<br />
If the latter is not the case, or if the process isn't attached, process to [2.0.0+] crash reporting (or in [1.0.0] just terminate the process): <br />
if EnableDebug is set, and depending on the process state (more than one crash per process isn't permitted) it may signal itself with ProcessState_Crashed so that PM asks NS to start creport so that creports attaches to it and reports the crashes. Otherwise, just terminate.<br />
<br />
Userland reporting path and svcReturnFromException:<br />
<br />
TLS region start (A64):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x148 || Exception stack<br />
|-<br />
| 0x148 || 0x78 || Frame: x0..x30, sp, elr_el1=unadjusted PC, pstate & 0xFF0FFE20,<br />
afsr0, afsr1, esr, pc (stored using the regs' own size)<br />
|}<br />
<br />
TLS region start (A32):<br />
<br />
{| class=wikitable<br />
! Offset || Length || Description<br />
|-<br />
| 0x0 || 0x178 || Exception stack<br />
|-<br />
| 0x148 || 0x30 || Frame: r0..r14, elr_el1=unadjusted PC, tpidr_el0 = 1, cpsr & 0xFF0FFE20,<br />
afsr0, afsr1, esr, pc (stored using the regs' own size)<br />
|}<br />
<br />
<br />
In that case, after storing the regs in the TLS, the exception handler returns to the application's crt0 (entrypoint), with X0=<error description code> (see below) and X1=SP=frame=<stack top> (see above)<br />
<br />
<br />
{| class=wikitable<br />
! Desc. code || Meaning<br />
|-<br />
| 0x100 || Instruction abort<br />
|-<br />
| 0x102 || Misaligned PC<br />
|-<br />
| 0x103 || Misaligned SP<br />
|-<br />
| 0x106 || SError [not in 1.0.0?]<br />
|-<br />
| 0x301 || Bad SVC<br />
|-<br />
| 0x104 || Uncategorized, CP15RTTrap, CP15RRTTrap, CP14RTTrap, CP14RRTTrap, IllegalState, SystemRegisterTrap<br />
|-<br />
| 0x101 || None of the above, EC <= 0x34 and not a breakpoint<br />
|-<br />
|}<br />
<br />
(During normal app boot the process is invoked with X0=0 and X1=main_thread_handle. The crt0 of retail apps determines whether to boot normally or handle an exception if X0 is set to 0 or not)<br />
<br />
The application is supposed to promptly update the contents of elr_el1 to a user handler (and any other regs it sees fit) and call svcReturnFromException (error code) to call that handler. The latter is then expected to promptly abort the program.<br />
<br />
svcReturnFromException updates the contents of the kernel stack frame with what the user provided in the TLS structure, sets TPIDR_EL0 to 1, then:<br />
* if the provided error code is 0, gracefully pivots and returns from exception<br />
* if it is not, replays the exception and pass it to the KDebug (see above). One can pass 0x10001 to prevent process termination. If the process is attached, this also prevents crash-collection/termination (different from the exception handler behavior)<br />
<br />
Note that if a thread that wasn't faulting calls svcReturnFromException, it signals an "invalid syscall" exception</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5475
Talk:Homebrew ABI
2018-11-07T02:30:43Z
<p>Misson20000: change RomFSOverride draft to specify that IFileSystem must respond to commands 0-12</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The given handle must respond to IFileSystem commands 0-12.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Homebrew_ABI&diff=5470
Talk:Homebrew ABI
2018-11-06T00:36:35Z
<p>Misson20000: /* RomFS Override */ new section</p>
<hr />
<div>== StdioSockets ==<br />
<br />
Currently, there's a broken link in the [[Homebrew_ABI#Loader_Config_Keys|Loader Config Keys]] section on the StdioSockets key, caused by a [http://switchbrew.org/index.php?title=Homebrew_ABI&curid=284&diff=4772&oldid=3846 recent removal of the section]. I understand the temptation to remove StdioSockets, since it wasn't very well designed in the first place, and nobody uses it anymore, but I don't think that it makes sense to remove it from the ABI specification. The key shouldn't be erased entirely, because that would indicate that it is unreserved. A backwards-incompatible change like that defeats one of the purposes of the ABI. Removing the link and adding a label that the key is deprecated would be acceptable, but it'd leave no specification on the key. I think that, unless I'm misinterpreting the original intent of the edit, it should be reverted and labels should be added to the key's specification that it is deprecated and no longer in use.<br />
<br />
Mentioning [[User:WinterMute|WinterMute]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 17:50, 18 June 2018 (CDT)<br />
<br />
Probably better to just reserve it for future use I guess. Had someone interrogate me about why nxlink didn't use the homebrew ABI "properly" so it seemed better to remove it rather than leave it there confusing people.<br />
<br />
[[User:WinterMute|WinterMute]] ([[User talk:WinterMute|talk]]) 04:26, 19 June 2018 (CDT)<br />
<br />
== RomFS Override ==<br />
<br />
The current strategy for providing RomFS to homebrew applications depends on the application being able to find and open its own NRO file via argv[0] and load RomFS from ASET. This is not practical for several use cases that I am encountering:<br />
<br />
- The NRO file is not persisted to the SD card.<br />
<br />
- The NRO file is not stored somewhere that the homebrew library knows how to access.<br />
<br />
- The application does not exist as an NRO file at all.<br />
<br />
I'd like to propose a new HBABI key to allow homebrew applications to access RomFS without needing to open their own NRO file via argv[0].<br />
<br />
==== RomFSOverride ====<br />
This is used to override an application's RomFS. If this key is passed and recognized, the application shall make no attempt to open itself via fopen(argv[0]).<br />
<br />
* '''Key:''' 15<br />
* '''Value[0]:''' Handle to a session implementing [[Filesystem_services#IFileSystem]] for the application's RomFS.<br />
* '''Value[1]:''' Ignored.<br />
<br />
The application may only expect that IFileSystem#GetEntryType, IFileSystem#OpenFile, and IFileSystem#OpenDirectory are implemented for the given handle.<br />
<br />
Possible alternatives include instead passing IFile/IStorage for the RomFS section, or IFile/IStorage for the entire ASET section.<br />
<br />
Concerns include ownership of the session handle. Should the application be required to close the handle or leave it open? Personally, I'm inclined to require that the application borrow the session from the loader and leave it open in case closing the handle is not something desirable. This also simplifies the logic in the loader, since if the handle needs to be closed, the loader can always just close it instead of having to figure out whether it was recognized or not. Possible alternatives to this ownership scheme include either adding flags to HBABI entries for which words contain handles that should be closed if not recognized, or a flag that the application sets on each entry it recognizes so that the loader can take care of closing the handle if the application did not recognize it.<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 00:36, 6 November 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Main_Page&diff=5336
Talk:Main Page
2018-10-27T03:09:39Z
<p>Misson20000: /* Image Thumbnail Errors */ add signature and note about PNG images being broken too</p>
<hr />
<div>== HTTPS Redirect ==<br />
<br />
Currently, http traffic is not redirected to an https URL. Could the site administrator please add such a redirect? The login page especially should only be served over https, and on Firefox at least, the login cookie does not get sent to pages loaded over http if you logged in over https.<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 16:08, 15 August 2018 (CDT)<br />
<br />
Sure, I can take a look into it. I've been wanting to add SSL certs on the site for sometime now, but unfortunately my host doesn't allow me to add a free one. I'm in the process of changing hosting provider, so when that happens, I'll make these changes.<br />
--[[User:simon66|simon66]] ([[User talk:simon66|talk]]) 12:25, 18 August 2018 (CDT)<br />
<br />
== Image Thumbnail Errors ==<br />
<br />
The wiki is failing to create thumbnails for uploaded SVG images. See [[:File:C_descriptor_type_2.svg]]. It embeds like this: [[File:C_descriptor_type_2.svg]].<br />
PNG images do this too. See [[:File:C_descriptor_type_2.png]].<br />
<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 03:09, 27 October 2018 (UTC)</div>
Misson20000
https://switchbrew.org/w/index.php?title=File:C_descriptor_type_3.png&diff=5335
File:C descriptor type 3.png
2018-10-27T03:04:38Z
<p>Misson20000: Shows how X descriptors are packed into C descriptors with flags 3 or higher.</p>
<hr />
<div>== Summary ==<br />
Shows how X descriptors are packed into C descriptors with flags 3 or higher.</div>
Misson20000
https://switchbrew.org/w/index.php?title=Talk:Main_Page&diff=5334
Talk:Main Page
2018-10-27T03:03:29Z
<p>Misson20000: /* Image Thumbnail Errors */ new section</p>
<hr />
<div>== HTTPS Redirect ==<br />
<br />
Currently, http traffic is not redirected to an https URL. Could the site administrator please add such a redirect? The login page especially should only be served over https, and on Firefox at least, the login cookie does not get sent to pages loaded over http if you logged in over https.<br />
--[[User:Misson20000|Misson20000]] ([[User talk:Misson20000|talk]]) 16:08, 15 August 2018 (CDT)<br />
<br />
Sure, I can take a look into it. I've been wanting to add SSL certs on the site for sometime now, but unfortunately my host doesn't allow me to add a free one. I'm in the process of changing hosting provider, so when that happens, I'll make these changes.<br />
--[[User:simon66|simon66]] ([[User talk:simon66|talk]]) 12:25, 18 August 2018 (CDT)<br />
<br />
== Image Thumbnail Errors ==<br />
<br />
The wiki is failing to create thumbnails for uploaded SVG images. See [[:File:C_descriptor_type_2.svg]]. It embeds like this: [[File:C_descriptor_type_2.svg]].</div>
Misson20000
https://switchbrew.org/w/index.php?title=File:C_descriptor_type_2.png&diff=5333
File:C descriptor type 2.png
2018-10-27T03:00:50Z
<p>Misson20000: Shows how X descriptors are packed into type-2 C descriptors.</p>
<hr />
<div>== Summary ==<br />
Shows how X descriptors are packed into type-2 C descriptors.</div>
Misson20000
https://switchbrew.org/w/index.php?title=File:C_descriptor_type_2.svg&diff=5332
File:C descriptor type 2.svg
2018-10-27T02:59:09Z
<p>Misson20000: Misson20000 uploaded a new version of File:C descriptor type 2.svg</p>
<hr />
<div>== Summary ==<br />
Shows how X descriptors are packed into type 2 C descriptors.</div>
Misson20000
https://switchbrew.org/w/index.php?title=File:C_descriptor_type_2.svg&diff=5331
File:C descriptor type 2.svg
2018-10-27T02:57:56Z
<p>Misson20000: Misson20000 uploaded a new version of File:C descriptor type 2.svg</p>
<hr />
<div>== Summary ==<br />
Shows how X descriptors are packed into type 2 C descriptors.</div>
Misson20000
https://switchbrew.org/w/index.php?title=File:C_descriptor_type_2.svg&diff=5330
File:C descriptor type 2.svg
2018-10-27T02:56:56Z
<p>Misson20000: Shows how X descriptors are packed into type 2 C descriptors.</p>
<hr />
<div>== Summary ==<br />
Shows how X descriptors are packed into type 2 C descriptors.</div>
Misson20000