BCAT services: Difference between revisions

No edit summary
Line 8: Line 8:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
|-
| 0 || CreateBcatService || Takes an input u64 ProcessId, returns an [[#IBcatService]]
| 0 || [[#CreateBcatService]]
|-
|-
| 1 || CreateDeliveryCacheStorageService || Takes an input u64 ProcessId, returns an [[#IDeliveryCacheStorageService]]
| 1 || [[#CreateDeliveryCacheStorageService]]
|-
|-
| 2 || CreateDeliveryCacheStorageServiceWithApplicationId || Takes an input u64 TitleId, returns an [[#IDeliveryCacheStorageService]]
| 2 || [[#CreateDeliveryCacheStorageServiceWithApplicationId]]
|-
|-
| 3 || [2.0.0-2.3.0] CreateDeliveryCacheProgressService || Takes an input u64 ProcessId, returns an [[#IDeliveryCacheProgressService]]
| 3 || [2.0.0-2.3.0] [[#CreateDeliveryCacheProgressService]]
|-
|-
| 4 || [2.0.0-2.3.0] CreateDeliveryCacheProgressServiceWithApplicationId || Takes an input u64 TitleId, returns an [[#IDeliveryCacheProgressService]]
| 4 || [2.0.0-2.3.0] [[#CreateDeliveryCacheProgressServiceWithApplicationId]]
|}
|}


Equivalent to 3DS BOSS(SpotPass). See [[BCAT_Content_Container|here]] for BCAT-content-container.
Equivalent to 3DS BOSS(SpotPass). See [[BCAT_Content_Container|here]] for BCAT-content-container.
== CreateBcatService ==
Takes an input u64 ProcessId. Returns an [[#IBcatService]].
== CreateDeliveryCacheStorageService ==
Takes an input u64 ProcessId. Returns an [[#IDeliveryCacheStorageService]].
== CreateDeliveryCacheStorageServiceWithApplicationId  ==
Takes an input u64 <code>nn::ApplicationId</code>. Returns an [[#IDeliveryCacheStorageService]].
== CreateDeliveryCacheProgressService  ==
Takes an input u64 ProcessId. Returns an [[#IDeliveryCacheProgressService]].
== CreateDeliveryCacheProgressServiceWithApplicationId  ==
Takes an input u64 <code>nn::ApplicationId</code>. returns an [[#IDeliveryCacheProgressService]].


== IBcatService ==
== IBcatService ==
Line 52: Line 67:
| 20410 || [9.1.0+] SetSystemApplicationDeliveryTaskTimer
| 20410 || [9.1.0+] SetSystemApplicationDeliveryTaskTimer
|-
|-
| 30100 || SetPassphrase
| 30100 || [[#SetPassphrase]]
|-
|-
| 30101 || [2.0.0-2.3.0]  
| 30101 || [2.0.0-2.3.0]  
Line 71: Line 86:
|-
|-
| 90100 || GetDeliveryTaskList
| 90100 || GetDeliveryTaskList
|-
| 90101 || [11.0.0+] GetDeliveryTaskListForSystem
|-
|-
| 90200 || [[#GetDeliveryList]]
| 90200 || [[#GetDeliveryList]]
Line 80: Line 97:
| 90300 || [3.0.0+] GetPushNotificationLog
| 90300 || [3.0.0+] GetPushNotificationLog
|-
|-
| 90101 || [11.0.0+]
| 90301 || [11.0.0+] GetDeliveryCacheStorageUsage
|-
| 90301 || [11.0.0+]
|}
|}


Line 93: Line 108:
Takes an input u64 <code>nn::ApplicationId</code>, no output.
Takes an input u64 <code>nn::ApplicationId</code>, no output.


[3.0.0+] Now takes an additional 8-bytes of input, and returns an [[#IDeliveryCacheProgressService]].
[3.0.0+] Now takes an additional 8-bytes of input. Returns an [[#IDeliveryCacheProgressService]].


=== GetDeliveryCacheStorageUpdateNotifier ===
=== GetDeliveryCacheStorageUpdateNotifier ===
Takes an input u64 <code>nn::ApplicationId</code>, returns an [[#INotifierService]].
Takes an input u64 <code>nn::ApplicationId</code>. Returns an [[#INotifierService]].


=== RequestSuspendDeliveryTask ===
=== RequestSuspendDeliveryTask ===
Takes an input u64 <code>nn::ApplicationId</code>, returns an [[#IDeliveryTaskSuspensionService]].
Takes an input u64 <code>nn::ApplicationId</code>. Returns an [[#IDeliveryTaskSuspensionService]].


=== RegisterSystemApplicationDeliveryTask ===
=== RegisterSystemApplicationDeliveryTask ===
Takes an input u64 <code>nn::ApplicationId</code>, no output.
Takes an input u64 <code>nn::ApplicationId</code>. No output.


=== UnregisterSystemApplicationDeliveryTask ===
=== UnregisterSystemApplicationDeliveryTask ===
Takes an input u64 <code>nn::ApplicationId</code>, no output.
Takes an input u64 <code>nn::ApplicationId</code>. No output.
 
=== SetPassphrase ===
Takes an input u64 <code>nn::ApplicationId</code> and a type-0x9 input buffer. No output.


=== GetDeliveryList ===
=== GetDeliveryList ===
Takes a type-0x6 output buffer, returns a total of 4-bytes of output.
Takes a type-0x6 output buffer. Returns a total of 4-bytes of output.


[3.0.0+] Now takes a total of 8-bytes of input, and returns an additional 4-bytes of output.
[3.0.0+] Now takes a total of 8-bytes of input, and returns an additional 4-bytes of output.
Line 211: Line 229:
All sessions have 32 sessions.
All sessions have 32 sessions.
Permission masks are:
Permission masks are:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 259: Line 276:
| 30101 || [3.0.0+] GetTopicList || 2
| 30101 || [3.0.0+] GetTopicList || 2
|-
|-
| [[#30110]] || [6.0.0+] || 2
| 30110 || [6.0.0+] || 2
|-
|-
| 30200 || [[#IsSystemUpdateRequired]] || 2
| 30200 || [[#IsSystemUpdateRequired]] || 2
Line 265: Line 282:
| 30201 || [8.0.0+] || 2
| 30201 || [8.0.0+] || 2
|-
|-
| [[#30210]] || [10.0.0+] || 2
| 30210 || [10.0.0+] || 2
|-
|-
| 30300 || RequestImmediateReception || 2
| 30300 || RequestImmediateReception || 2
Line 271: Line 288:
| 30400 || [3.0.0+] DecodeArchiveFile || 2
| 30400 || [3.0.0+] DecodeArchiveFile || 2
|-
|-
| [[#30500]] || [8.0.0+] ? || 2
| 30500 || [8.0.0+] ? || 2
|-
|-
| 30900 || [1.0.0] (No input, returns an [[#INewlyArrivedEventHolder]]) || 2
| 30900 || [1.0.0] (No input, returns an [[#INewlyArrivedEventHolder]]) || 2
Line 493: Line 510:


== NewsRecordV1 ==
== NewsRecordV1 ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 517: Line 533:


== NewsRecord ==
== NewsRecord ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-