Changes

2,902 bytes added ,  18:17, 25 February 2022
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 (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 =