Glue services: Difference between revisions

No edit summary
Ootulp (talk | contribs)
 
(10 intermediate revisions by 2 users not shown)
Line 94: Line 94:
|-
|-
| 3 || [15.0.0+] [[#AcquireApplicationCertificateUpdater|AcquireApplicationCertificateUpdater]]
| 3 || [15.0.0+] [[#AcquireApplicationCertificateUpdater|AcquireApplicationCertificateUpdater]]
|-
| 4 || [19.0.0+] [[#RegisterApplicationControlProperty|RegisterApplicationControlProperty]]
|}
|}


Line 110: Line 112:
== AcquireApplicationCertificateUpdater ==
== AcquireApplicationCertificateUpdater ==
Takes an input [[#ApplicationInstanceId]]. Returns an [[#IUpdater]].
Takes an input [[#ApplicationInstanceId]]. Returns an [[#IUpdater]].
== RegisterApplicationControlProperty ==
Takes a type-0x15 input buffer containing an [[NACP|ApplicationControlProperty]] and an input [[#ApplicationInstanceId]]. No output.


== IRegistrar ==
== IRegistrar ==
Line 122: Line 127:
| 1 || [[#SetApplicationLaunchProperty|SetApplicationLaunchProperty]]
| 1 || [[#SetApplicationLaunchProperty|SetApplicationLaunchProperty]]
|-
|-
| 2 || [[#SetApplicationControlProperty|SetApplicationControlProperty]]
| 2 || [1.0.0-18.1.0] [[#SetApplicationControlProperty|SetApplicationControlProperty]]
|}
|}


Line 171: Line 176:
! Cmd || Name
! Cmd || Name
|-
|-
| 100 || [[#OpenTaskService]]
| 100 || [[#CreateTaskService]]
|}
|}


== OpenTaskService ==
== CreateTaskService ==
No input. Returns an [[#ITaskService]].
No input. Returns an [[#ITaskService]].


Line 206: Line 211:
| 15 || SchedulePeriodicTask
| 15 || SchedulePeriodicTask
|-
|-
| 16 || [9.0.0+]
| 16 || [9.0.0+] ScheduleStrictTask
|-
|-
| 101 || [3.0.0+] GetOperationMode
| 101 || [3.0.0+] GetOperationMode
Line 214: Line 219:
| 103 || [3.0.0+] WillStayHalfAwakeInsteadSleep
| 103 || [3.0.0+] WillStayHalfAwakeInsteadSleep
|-
|-
| 200 || [12.0.0+]
| 200 || [12.0.0+] EnableStayHalfAwake
|}
|}


Line 289: Line 294:
|-
|-
| 501 || [4.0.0+] CalculateSpanBetween ||  
| 501 || [4.0.0+] CalculateSpanBetween ||  
|-
| 600 || [19.0.0+] GetInitialLaunchEndTime ||
|}
|}


Line 578: Line 585:
| 540 || [[#DeleteAlarmSetting]]
| 540 || [[#DeleteAlarmSetting]]
|-
|-
| 1000 ||  
| 1000 || [[#GetNotificationCount]]
|-
|-
| 1010 || [[#ListNotifications]]
| 1010 || ListNotifications
|-
|-
| 1020 || [[#DeleteNotification]]
| 1020 || DeleteNotification
|-
|-
| 1030 || [[#ClearNotifications]]
| 1030 || ClearNotifications
|-
|-
| 1040 || [[#OpenNotificationSystemEventAccessor]]
| 1040 || [[#GetNotificationSendingNotifier]]
|-
|-
| 1500 || [[#SetPresentationSetting]]
| 1500 || SetNotificationPresentationSetting
|-
|-
| 1510 || [[#GetPresentationSetting]]
| 1510 || GetNotificationPresentationSetting
|-
|-
| 2000 || [[#GetAlarmSetting]]
| 2000 || [[#GetAlarmSetting]]
|-
|-
| 2001 ||
| 2001 || GetAlarmSettingWithApplicationParameter
|-
| 2010 || [[#SetAlarmSettingIsMuted]]
|-
| 2020 || [[#IsAlarmSettingDeletable]]
|-
|-
| 2010 || [[#MuteAlarmSetting]]
| 3000 || [20.0.0+]
|-
|-
| 2020 || [[#IsAlarmSettingReady]]
| 3010 || [20.0.0+]
|-
|-
| 8000 ||
| 8000 || RegisterAppletResourceUserId
|-
|-
| 8010 ||
| 8010 || UnregisterAppletResourceUserId
|-
|-
| 8999 || [10.0.0+]
| 8999 || [10.0.0+] GetCurrentTime
|-
|-
| 9000 || [[#GetNextAlarm]]
| 9000 || [[#GetAlarmSettingNextNotificationTime]]
|}
|}


== Cmd1000 ==
== GetNotificationCount ==
No input, returns a total of 4-bytes of output.
No input. Returns a total of 4-bytes of output.
 
== ListNotifications ==
Unofficial name.


== DeleteNotification ==
== GetNotificationSendingNotifier ==
Unofficial name.
No input. Returns an output [[#INotificationSystemEventAccessor]].
 
== ClearNotifications ==
Unofficial name.
 
No input/output.
 
== OpenNotificationSystemEventAccessor ==
Unofficial name.
 
No input, returns an output [[#INotificationSystemEventAccessor]].


== INotificationSystemEventAccessor ==
== INotificationSystemEventAccessor ==
Line 637: Line 635:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 ||  
| 0 || GetSystemEvent
|}
|}
Cmd0: no input, returns an output handle.
== SetPresentationSetting ==
Unofficial name.
== GetPresentationSetting ==
Unofficial name.


== GetAlarmSetting ==
== GetAlarmSetting ==
Unofficial name.
Takes an input [[#AlarmSettingId]]. Returns an [[#AlarmSetting]].
Takes an input [[#AlarmSettingId]]. Returns an [[#AlarmSetting]].


== MuteAlarmSetting ==
== SetAlarmSettingIsMuted ==
Unofficial name.
Takes an input [[#AlarmSettingId]] and a bool. No output.
 
Takes an input [[#AlarmSettingId]] and a bool.
 
== IsAlarmSettingReady ==
Unofficial name.


== IsAlarmSettingDeletable ==
Takes an input [[#AlarmSettingId]]. Returns a bool.
Takes an input [[#AlarmSettingId]]. Returns a bool.


== GetNextAlarm ==
== GetAlarmSettingNextNotificationTime ==
Unofficial name.
 
Takes an input [[#AlarmSettingId]]. Returns an u8 '''IsAlarmScheduled''' and a [[Glue_services#PosixTime|PosixTime]] for the next scheduled alarm.
Takes an input [[#AlarmSettingId]]. Returns an u8 '''IsAlarmScheduled''' and a [[Glue_services#PosixTime|PosixTime]] for the next scheduled alarm.


Line 681: Line 663:
| 1 || CommitContext
| 1 || CommitContext
|-
|-
| 2 ||  
| 2 || RemoveContext
|}
|}


Line 725: Line 707:
|-
|-
| 1 || CommitContext
| 1 || CommitContext
|}
= pl:u =
This is "nn::pl::sharedresource::detail::IPlatformSharedResourceManager".
This was added with [16.0.0+].
This has max_sessions 5.
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || [[#RequestLoad]]
|-
| 1 || [[#GetLoadState]]
|-
| 2 || [[#GetSize]]
|-
| 3 || [[#GetSharedMemoryAddressOffset]]
|-
| 4 || [[#GetSharedMemoryNativeHandle]]
|-
| 5 || [[#GetSharedFontInOrderOfPriority]]
|-
| 6 || GetSharedFontInOrderOfPriorityForSystem
|-
| 2000 || [S2]
|-
| 2010 || [S2]
|-
| 2020 || [S2]
|-
| 2100 || [S2] OpenFont. Returns an [[#(Switch 2) IFontService]].
|}
== RequestLoad ==
Takes a [[#SharedFontType]] (uint32), no output.
== GetLoadState ==
Takes a [[#SharedFontType]] (uint32), returns the [[#LoadState]] (uint32).
=== LoadState ===
{| class="wikitable" border="1"
|-
! Value || Description
|-
| 0x00 || Loading
|-
| 0x01 || Loaded
|}
== GetSize ==
Takes a [[#SharedFontType]] (uint32), returns the Font Size (uint32).
== GetSharedMemoryAddressOffset ==
Takes a [[#SharedFontType]] (uint32), returns the offset (uint32) to the Font Address.
== GetSharedMemoryNativeHandle ==
No input, returns an output SharedMemory handle.
User-processes map this SharedMemory with size=0x1100000 and permissions=R--.
Font data is TTF, located at the offset returned by [[#GetSharedMemoryAddressOffset]].
== GetSharedFontInOrderOfPriority ==
Takes an input u64 [[Settings_services#LanguageCode|LanguageCode]] and 3 type-0x6 output buffers, returns an output u8 and u32. The u8 is a bool to specify if the fonts are loaded or not and the u32 is the font count.
The first buffer contains a list of [[#SharedFontType|Shared font types]], the second buffer contains the font offsets and the final buffer contains the font sizes.
The buffers are an array of u32s which specify information about a specific font. Buffer1[n] is related to Buffer2[n] and Buffer3[n].
Example: Font index 0s offset is at Buffer2[0], size is at Buffer3[0].
The fonts are relative to the shared memory created by [[#GetSharedFontSharedMemoryHandle]]
== SharedFontType ==
{| class="wikitable" border="1"
|-
! Value || Description
|-
| 0x00 || Japan, US and Europe (Standard)
|-
| 0x01 || Chinese Simplified
|-
| 0x02 || Extended Chinese Simplified
|-
| 0x03 || Chinese Traditional
|-
| 0x04 || Korean (Hangul)
|-
| 0x05 || Nintendo Extended
|}
* Nintendo Extended: Contains Nintendo-specific characters, including HID buttons, HID controller styles, applet icons, Wii(U) icons,  etc.
== (Switch 2) IFontService ==
This is "nn::pl::sharedresource::detail::IFontService".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|}
|}


Line 785: Line 869:


This is a 0x1-byte struct.
This is a 0x1-byte struct.
[17.0.0+] This is a 0x10-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 795: Line 881:
| 0x01
| 0x01
| ProgramIndex
| ProgramIndex
|-
| 0x01
| 0x0F
|
|}
|}