Glue services: Difference between revisions
No edit summary |
|||
Line 6: | Line 6: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[#GetApplicationLaunchProperty]] | | 0 || [[#GetApplicationLaunchProperty|GetApplicationLaunchProperty]] | ||
|- | |- | ||
| 1 || [10.0.0+] [[#GetApplicationControlProperty]] ([1.0.0-9.2.0] [[#GetApplicationLaunchPropertyWithApplicationId]]) | | 1 || [10.0.0+] [[#GetApplicationControlProperty|GetApplicationControlProperty]] ([1.0.0-9.2.0] [[#GetApplicationLaunchPropertyWithApplicationId|GetApplicationLaunchPropertyWithApplicationId]]) | ||
|- | |- | ||
| 2 || [10.0.0+] GetApplicationProcessProperty ([1.0.0-9.2.0] [[#GetApplicationControlProperty]]) | | 2 || [10.0.0+] [[#GetApplicationProcessProperty|GetApplicationProcessProperty]] ([1.0.0-9.2.0] [[#GetApplicationControlProperty|GetApplicationControlProperty]]) | ||
|- | |- | ||
| 3 || [10.0.0+] GetApplicationInstanceId ([1.0.0-9.2.0] [[#GetApplicationControlPropertyWithApplicationId]]) | | 3 || [10.0.0+] [[#GetApplicationInstanceId|GetApplicationInstanceId]] ([1.0.0-9.2.0] [[#GetApplicationControlPropertyWithApplicationId|GetApplicationControlPropertyWithApplicationId]]) | ||
|- | |- | ||
| 4 || [10.0.0+] [[#GetApplicationInstanceUnregistrationNotifier]] | | 4 || [10.0.0+] [[#GetApplicationInstanceUnregistrationNotifier|GetApplicationInstanceUnregistrationNotifier]] | ||
|- | |- | ||
| 5 || [10.0.0+] ListApplicationInstanceId | | 5 || [10.0.0+] [[#ListApplicationInstanceId|ListApplicationInstanceId]] | ||
|- | |- | ||
| 6 || [10.0.0+] GetMicroApplicationInstanceId | | 6 || [10.0.0+] [[#GetMicroApplicationInstanceId|GetMicroApplicationInstanceId]] | ||
|- | |- | ||
| 7 || [10.0.0+] GetApplicationCertificate | | 7 || [10.0.0+] [[#GetApplicationCertificate|GetApplicationCertificate]] | ||
|- | |- | ||
| 9998 || [9.0.0-9.2.0] GetPreomiaApplicationLaunchProperty | | 9998 || [9.0.0-9.2.0] [[#GetPreomiaApplicationLaunchProperty|GetPreomiaApplicationLaunchProperty]] | ||
|- | |- | ||
| 9999 || [9.0.0-9.2.0] GetPreomiaApplicationControlProperty | | 9999 || [9.0.0-9.2.0] [[#GetPreomiaApplicationControlProperty|GetPreomiaApplicationControlProperty]] | ||
|} | |} | ||
== GetApplicationLaunchProperty == | == GetApplicationLaunchProperty == | ||
Takes an input u64 ProcessId | Takes an input u64 ProcessId. Returns an [[#ApplicationLaunchProperty]]. | ||
[10.0.0+] Now takes an input [[#ApplicationInstanceId]] instead of ProcessId. | |||
== GetApplicationLaunchPropertyWithApplicationId == | == GetApplicationLaunchPropertyWithApplicationId == | ||
Takes an input u64 ApplicationId | Takes an input u64 ApplicationId. Returns an [[#ApplicationLaunchProperty]]. | ||
== GetApplicationControlProperty == | == GetApplicationControlProperty == | ||
Takes an input u64 ProcessId | Takes an input u64 ProcessId and a type-0x16 output buffer containing an [[NACP|ApplicationControlProperty]]. No output. | ||
[10.0.0+] Now takes an input [[#ApplicationInstanceId]] instead of ProcessId. | |||
== GetApplicationControlPropertyWithApplicationId == | == GetApplicationControlPropertyWithApplicationId == | ||
Takes an input u64 ApplicationId | Takes an input u64 ApplicationId and a type-0x16 output buffer containing an [[NACP|ApplicationControlProperty]]. No output. | ||
== GetApplicationProcessProperty == | |||
Takes an input [[#ApplicationInstanceId]]. Returns an [[#ApplicationProcessProperty]]. | |||
== GetApplicationInstanceId == | |||
Takes an input u64 ProcessId. Returns an [[#ApplicationInstanceId]]. | |||
== GetApplicationInstanceUnregistrationNotifier == | == GetApplicationInstanceUnregistrationNotifier == | ||
Returns an [[#IUnregistrationNotifier]]. | No input. Returns an [[#IUnregistrationNotifier]]. | ||
== ListApplicationInstanceId == | |||
Takes a type-0x6 output buffer containing an array of [[#ApplicationInstanceId]]. Returns an s32 '''Count'''. | |||
== GetMicroApplicationInstanceId == | |||
Same as [[#GetApplicationInstanceId]]. | |||
== GetApplicationCertificate == | |||
Takes an input [[#ApplicationInstanceId]] and a type-0x16 output buffer containing an [[#ApplicationCertificate]]. No output. | |||
== GetPreomiaApplicationLaunchProperty == | |||
Same as [[#GetApplicationLaunchProperty]]. | |||
== GetPreomiaApplicationControlProperty == | |||
Same as [[#GetApplicationControlProperty]]. | |||
== IUnregistrationNotifier == | == IUnregistrationNotifier == | ||
Line 49: | Line 74: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || GetReadableHandle | | 0 || [[#GetReadableHandle|GetReadableHandle]] | ||
|} | |} | ||
=== GetReadableHandle === | |||
No input. Returns an output readable Event handle. | |||
= arp:w = | = arp:w = | ||
Line 59: | Line 87: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[#AcquireRegistrar]] | | 0 || [[#AcquireRegistrar|AcquireRegistrar]] | ||
|- | |- | ||
| 1 || [10.0.0+] UnregisterApplicationInstance ([1.0.0-9.2.0] DeleteProperties) | | 1 || [10.0.0+] [[#UnregisterApplicationInstance|UnregisterApplicationInstance]] ([1.0.0-9.2.0] DeleteProperties) | ||
|- | |- | ||
| 2 || [10.0.0+] [[#AcquireUpdater]] | | 2 || [10.0.0+] [[#AcquireUpdater|AcquireUpdater]] | ||
|} | |} | ||
== AcquireRegistrar == | == AcquireRegistrar == | ||
Returns an [[#IRegistrar]]. | No input. Returns an [[#IRegistrar]]. | ||
== UnregisterApplicationInstance == | |||
Takes an input [[#ApplicationInstanceId]]. No output. | |||
== AcquireUpdater == | == AcquireUpdater == | ||
Returns an [[#IUpdater]]. | Takes an input [[#ApplicationInstanceId]]. Returns an [[#IUpdater]]. | ||
== IRegistrar == | == IRegistrar == | ||
Line 79: | Line 110: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[#Issue]] | | 0 || [[#Issue|Issue]] | ||
|- | |- | ||
| 1 || [[#SetApplicationLaunchProperty]] | | 1 || [[#SetApplicationLaunchProperty|SetApplicationLaunchProperty]] | ||
|- | |- | ||
| 2 || [[#SetApplicationControlProperty]] | | 2 || [[#SetApplicationControlProperty|SetApplicationControlProperty]] | ||
|} | |} | ||
=== Issue === | === Issue === | ||
No input. Returns an output [[#ApplicationInstanceId]]. | |||
=== SetApplicationLaunchProperty === | === SetApplicationLaunchProperty === | ||
Takes an input [[#ApplicationLaunchProperty]]. | Takes an input [[#ApplicationLaunchProperty]]. No output. | ||
=== SetApplicationControlProperty === | === SetApplicationControlProperty === | ||
Takes | Takes a type-0x15 input buffer containing an [[NACP|ApplicationControlProperty]]. No output. | ||
== IUpdater == | == IUpdater == | ||
Line 102: | Line 133: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || Issue | | 0 || [[#Issue_2|Issue]] | ||
|- | |- | ||
| 1 || SetApplicationProcessProperty | | 1 || [[#SetApplicationProcessProperty|SetApplicationProcessProperty]] | ||
|- | |- | ||
| 2 || DeleteApplicationProcessProperty | | 2 || [[#DeleteApplicationProcessProperty|DeleteApplicationProcessProperty]] | ||
|- | |- | ||
| 3 || SetApplicationCertificate | | 3 || [[#SetApplicationCertificate|SetApplicationCertificate]] | ||
|} | |} | ||
=== Issue === | |||
No input/output. | |||
=== SetApplicationProcessProperty === | |||
Takes an input u64 ProcessId and an input [[#ApplicationProcessProperty]]. No output. | |||
=== DeleteApplicationProcessProperty === | |||
No input/output. | |||
=== SetApplicationCertificate === | |||
Takes a type-0x15 input buffer containing an [[#ApplicationCertificate]]. No output. | |||
= bgtc:t = | = bgtc:t = | ||
Line 674: | Line 717: | ||
|- | |- | ||
| 1 || CommitContext | | 1 || CommitContext | ||
|} | |||
= ApplicationInstanceId = | |||
This is "nn::arp::ApplicationInstanceId". | |||
This is an u64 ID bound to an application instance. | |||
= ApplicationKind = | |||
This is "nn::arp::ApplicationKind". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 || Application | |||
|- | |||
| 1 || MicroApplication | |||
|} | |} | ||
= ApplicationLaunchProperty = | = ApplicationLaunchProperty = | ||
This is "nn::arp::ApplicationLaunchProperty". | |||
This is a 0x10-byte struct. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 687: | Line 750: | ||
| 0x00 | | 0x00 | ||
| 0x08 | | 0x08 | ||
| | | [[NCM_services#ProgramId|Id]] | ||
|- | |- | ||
| 0x08 | | 0x08 | ||
Line 695: | Line 758: | ||
| 0x0C | | 0x0C | ||
| 0x01 | | 0x01 | ||
| | | [[Filesystem_services#StorageId|Storage]] | ||
|- | |- | ||
| 0x0D | | 0x0D | ||
| 0x01 | | 0x01 | ||
| | | [[Filesystem_services#StorageId|PatchStorage]] | ||
|- | |- | ||
| 0x0E | | 0x0E | ||
| | | 0x01 | ||
| | | [[#ApplicationKind|Kind]] | ||
|- | |||
| 0x0F | |||
| 0x01 | |||
| Reserved | |||
|} | |} | ||
= ApplicationProcessProperty = | |||
This is "nn::arp::ApplicationProcessProperty". | |||
This is a 0x1-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x00 | |||
| 0x01 | |||
| ProgramIndex | |||
|} | |||
= ApplicationCertificate = | |||
This is "nn::arp::ApplicationCertificate". | |||
This is a 0x528-byte struct. | |||
= AlarmSettingId = | = AlarmSettingId = |