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 (1.0.0-9.2.0) or u64 ApplicationInstanceId (10.0.0+), returns an [[#ApplicationLaunchProperty]]. | + | 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, returns an [[#ApplicationLaunchProperty]]. | + | Takes an input u64 ApplicationId. Returns an [[#ApplicationLaunchProperty]]. |
| | | |
| == GetApplicationControlProperty == | | == 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]] | + | 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, returns a type-0x16 buffer filled with the contents of [[NACP_Format|control.nacp]] | + | 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 === |
− | Takes an input u64.
| + | No input. Returns an output [[#ApplicationInstanceId]]. |
| | | |
| === SetApplicationLaunchProperty === | | === SetApplicationLaunchProperty === |
− | Takes an input [[#ApplicationLaunchProperty]]. | + | Takes an input [[#ApplicationLaunchProperty]]. No output. |
| | | |
| === SetApplicationControlProperty === | | === SetApplicationControlProperty === |
− | Takes an input type-0x15 buffer filled with the contents of [[NACP_Format|control.nacp]]. | + | 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 = |
− | Total size is 0x10 bytes.
| + | 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 |
− | | Title ID | + | | [[NCM_services#ProgramId|Id]] |
| |- | | |- |
| | 0x08 | | | 0x08 |
Line 695: |
Line 758: |
| | 0x0C | | | 0x0C |
| | 0x01 | | | 0x01 |
− | | Base Game [[Filesystem_services#StorageId|Storage Id]] | + | | [[Filesystem_services#StorageId|Storage]] |
| |- | | |- |
| | 0x0D | | | 0x0D |
| | 0x01 | | | 0x01 |
− | | Update [[Filesystem_services#StorageId|Storage Id]] | + | | [[Filesystem_services#StorageId|PatchStorage]] |
| |- | | |- |
| | 0x0E | | | 0x0E |
− | | 0x02 | + | | 0x01 |
− | | Padding | + | | [[#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 = |