Glue services: Difference between revisions

(7 intermediate revisions by 3 users not shown)
Line 4: Line 4:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || [[#GetApplicationLaunchProperty]]
|-
| 1 || [10.0.0+] [[#GetApplicationControlProperty]] ([1.0.0-9.2.0] [[#GetApplicationLaunchPropertyWithApplicationId]])
|-
| 2 || [10.0.0+] GetApplicationProcessProperty ([1.0.0-9.2.0] [[#GetApplicationControlProperty)]]
|-
| 3 || [10.0.0+] GetApplicationInstanceId ([1.0.0-9.2.0] [[#GetApplicationControlPropertyWithApplicationId]])
|-
| 4 || [10.0.0+] [[#GetApplicationInstanceUnregistrationNotifier]]
|-
| 5 || [10.0.0+] ListApplicationInstanceId
|-
|-
| 0 || GetApplicationLaunchProperty || Takes an input u64 ProcessId, returns an [[#ApplicationLaunchProperty]]
| 6 || [10.0.0+] GetMicroApplicationInstanceId
|-
|-
| 1 || GetApplicationLaunchPropertyWithApplicationId || Takes an input u64 TitleId, returns an [[#ApplicationLaunchProperty]]
| 7 || [10.0.0+] GetApplicationCertificate
|-
|-
| 2 || GetApplicationControlProperty || Takes an input u64 ProcessId, returns a type-0x16 buffer filled with the contents of [[NACP_Format|control.nacp]]
| 9998 || [9.0.0-9.2.0] GetPreomiaApplicationLaunchProperty
|-
|-
| 3 || GetApplicationControlPropertyWithApplicationId || Takes an input u64 TitleId, returns a type-0x16 buffer filled with the contents of [[NACP_Format|control.nacp]]
| 9999 || [9.0.0-9.2.0] GetPreomiaApplicationControlProperty
|}
 
== GetApplicationLaunchProperty ==
Takes an input u64 ProcessId (1.0.0-9.2.0) or u64 ApplicationInstanceId (10.0.0+), returns an [[#ApplicationLaunchProperty]].
 
== GetApplicationLaunchPropertyWithApplicationId ==
Takes an input u64 ApplicationId, returns an [[#ApplicationLaunchProperty]].
 
== GetApplicationControlProperty ==
Takes an input u64 ProcessId (1.0.0-9.2.0) or u64 ApplicationInstanceId (10.0.0+), returns a type-0x16 buffer filled with the contents of [[NACP_Format|control.nacp]]
 
== GetApplicationControlPropertyWithApplicationId ==
Takes an input u64 ApplicationId, returns a type-0x16 buffer filled with the contents of [[NACP_Format|control.nacp]]
 
== GetApplicationInstanceUnregistrationNotifier ==
Returns an [[#IUnregistrationNotifier]].
 
== IUnregistrationNotifier ==
This is "nn::arp::detail::IUnregistrationNotifier".
 
{| class="wikitable" border="1"
|-
|-
| 9998 || [9.0.0+] ||
! Cmd || Name
|-
|-
| 9999 || [9.0.0+] ||
| 0 || GetReadableHandle
|}
|}


Line 24: Line 57:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || [[#AcquireRegistrar]]
|-
|-
| 0 || AcquireRegistrar || Returns an [[#IRegistrar]]
| 1 || [10.0.0+] UnregisterApplicationInstance ([1.0.0-9.2.0] DeleteProperties)
|-
|-
| 1 || DeleteProperties || Takes an input u64 unknown
| 2 || [10.0.0+] [[#AcquireUpdater]]
|}
|}
== AcquireRegistrar ==
Returns an [[#IRegistrar]].
== AcquireUpdater ==
Returns an [[#IUpdater]].


== IRegistrar ==
== IRegistrar ==
Line 36: Line 77:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || [[#Issue]]
|-
| 1 || [[#SetApplicationLaunchProperty]]
|-
| 2 || [[#SetApplicationControlProperty]]
|}
 
=== Issue ===
Takes an input u64.
 
=== SetApplicationLaunchProperty ===
Takes an input [[#ApplicationLaunchProperty]].
 
=== SetApplicationControlProperty ===
Takes an input type-0x15 buffer filled with the contents of [[NACP_Format|control.nacp]].
 
== IUpdater ==
This is "nn::arp::detail::IUpdater".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || Issue
|-
|-
| 0 || Issue || Takes an input u64 unknown
| 1 || SetApplicationProcessProperty
|-
|-
| 1 || SetApplicationLaunchProperty || Takes an input [[#ApplicationLaunchProperty]]
| 2 || DeleteApplicationProcessProperty
|-
|-
| 2 || SetApplicationControlProperty || Takes an input type-0x15 buffer filled with the contents of [[NACP_Format|control.nacp]]
| 3 || SetApplicationCertificate
|}
|}


Line 100: Line 166:
| 5 || [3.0.0+] SetIsUsingSleepUnsupportedDevices
| 5 || [3.0.0+] SetIsUsingSleepUnsupportedDevices
|}
|}
[10.0.0+] NotifyEnteringHalfAwake now takes 1-byte of input.


= time:a, time:r, time:u =
= time:a, time:r, time:u =
Line 398: Line 466:
Takes a type-0x15 input buffer [[#AlarmSetting]] and a type-0x5 input buffer. Returns an [[#AlarmSettingId]].
Takes a type-0x15 input buffer [[#AlarmSetting]] and a type-0x5 input buffer. Returns an [[#AlarmSettingId]].


The second buffer can be empty (addr=0/size=0). This is the ApplicationParameter.
The second buffer can be empty (addr=0/size=0). Size must be <=0x400. This is the ApplicationParameter.


A maximum of 8 Alarms can be registered by an Application at the same time.
A maximum of 8 Alarms can be registered by an Application at the same time.
Line 409: Line 477:
Takes a type-0x15 input buffer [[#AlarmSetting]] and a type-0x5 input buffer. No output.
Takes a type-0x15 input buffer [[#AlarmSetting]] and a type-0x5 input buffer. No output.


The second buffer can be empty (addr=0/size=0). This is the ApplicationParameter.
The second buffer can be empty (addr=0/size=0). Size must be <=0x400. This is the ApplicationParameter.


== ListAlarmSettings ==
== ListAlarmSettings ==
Line 450: Line 518:
| 1030 || [[#ClearNotifications]]
| 1030 || [[#ClearNotifications]]
|-
|-
| 1040 ||  
| 1040 || [[#OpenNotificationSystemEventAccessor]]
|-
|-
| 1500 || [[#SetPresentationSetting]]
| 1500 || [[#SetPresentationSetting]]
Line 467: Line 535:
|-
|-
| 8010 ||
| 8010 ||
|-
| 8999 || [10.0.0+]
|-
|-
| 9000 || [[#GetNextAlarm]]
| 9000 || [[#GetNextAlarm]]
Line 485: Line 555:
No input/output.
No input/output.


== Cmd1040 ==
== OpenNotificationSystemEventAccessor ==
No input, returns an output [[#IUnknown0]].
Unofficial name.
 
No input, returns an output [[#INotificationSystemEventAccessor]].
 
== INotificationSystemEventAccessor ==
This is "nn::notification::server::INotificationSystemEventAccessor".
 
This was added with [9.0.0+].


== IUnknown0 ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 495: Line 571:
| 0 ||  
| 0 ||  
|}
|}
This was added with [9.0.0+].


Cmd0: no input, returns an output handle.
Cmd0: no input, returns an output handle.