BCAT services: Difference between revisions

No edit summary
Ac K (talk | contribs)
No edit summary
(8 intermediate revisions by 4 users not shown)
Line 3: Line 3:
= bcat:a, bcat:m, bcat:u, bcat:s =
= bcat:a, bcat:m, bcat:u, bcat:s =
These are "nn::bcat::detail::ipc::IServiceCreator".
These are "nn::bcat::detail::ipc::IServiceCreator".
These were added with [2.0.0+].


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


Line 19: Line 25:
== IBcatService ==
== IBcatService ==
This is "nn::bcat::detail::ipc::IBcatService".
This is "nn::bcat::detail::ipc::IBcatService".
This was added with [2.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 24: Line 32:
! Cmd || Name
! Cmd || Name
|-
|-
| 10100 || RequestSyncDeliveryCache
| 10100 || [[#RequestSyncDeliveryCache]]
|-
|-
| 10101 || [5.0.0+] RequestSyncDeliveryCacheWithDirectoryName
| 10101 || [5.0.0+] RequestSyncDeliveryCacheWithDirectoryName
Line 30: Line 38:
| 10200 || [5.0.0+] CancelSyncDeliveryCacheRequest
| 10200 || [5.0.0+] CancelSyncDeliveryCacheRequest
|-
|-
| 20100 || RequestSyncDeliveryCacheWithApplicationId
| 20100 || [[#RequestSyncDeliveryCacheWithApplicationId]]
|-
|-
| 20101 || [5.0.0+] RequestSyncDeliveryCacheWithApplicationIdAndDirectoryName
| 20101 || [5.0.0+] RequestSyncDeliveryCacheWithApplicationIdAndDirectoryName
|-
|-
| 20300 || [8.0.0+] ? (Takes a total of 8-bytes of input, returns an [[#IUnknown0]])
| 20300 || [8.0.0+] [[#GetDeliveryCacheStorageUpdateNotifier]]
|-
|-
| 20301 || [8.0.0+] ? (Takes a total of 8-bytes of input, returns an [[#IUnknown1]])
| 20301 || [8.0.0+] [[#RequestSuspendDeliveryTask]]
|-
|-
| 30100 || SetPassphrase
| 30100 || SetPassphrase
|-
|-
| 30200 || RegisterBackgroundDeliveryTask
| [2.0.0-2.3.0] 30101 ||
|-
| [2.0.0-2.3.0] 30102 ||  
|-
|-
| 30201 || UnregisterBackgroundDeliveryTask
| 30200 || [3.0.0+] RegisterDeliveryTask
|-
|-
| 30202 || BlockDeliveryTask
| 30201 || [3.0.0+] UnregisterDeliveryTask
|-
|-
| 30203 || UnblockDeliveryTask
| 30202 || [3.0.0+] BlockDeliveryTask
|-
|-
| 30300 || [8.0.0+]
| 30203 || [3.0.0+] UnblockDeliveryTask
|-
|-
| 90100 || EnumerateBackgroundDeliveryTask
| 30300 || [8.0.0+] RegisterSystemApplicationDeliveryTasks
|-
|-
| 90200 || GetDeliveryList
| 90100 || GetDeliveryTaskList
|-
|-
| 90201 || ClearDeliveryCacheStorage
| 90200 || [[#GetDeliveryList]]
|-
|-
| 90202 || [8.0.0+]
| 90201 || [3.0.0+] ClearDeliveryCacheStorage
|-
|-
| 90300 || GetPushNotificationLog
| 90202 || [8.0.0+] ClearDeliveryTaskSubscriptionStatus
|-
| 90300 || [3.0.0+] GetPushNotificationLog
|}
|}
=== RequestSyncDeliveryCache ===
No input/output.
[3.0.0+] Now returns an [[#IDeliveryCacheProgressService]].
=== RequestSyncDeliveryCacheWithApplicationId ===
Takes a total of 8-bytes of input, no output.
[3.0.0+] Now takes an additional 8-bytes of input, and returns an [[#IDeliveryCacheProgressService]].
=== GetDeliveryCacheStorageUpdateNotifier ===
Takes a total of 8-bytes of input, returns an [[#INotifierService]].
=== RequestSuspendDeliveryTask ===
Takes a total of 8-bytes of input, returns an [[#IDeliveryTaskSuspensionService]].
=== GetDeliveryList ===
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.


=== IDeliveryCacheProgressService ===
=== IDeliveryCacheProgressService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheProgressService".
This is "nn::bcat::detail::ipc::IDeliveryCacheProgressService".
This was added with [2.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 75: Line 110:
== IDeliveryCacheStorageService ==
== IDeliveryCacheStorageService ==
This is "nn::bcat::detail::ipc::IDeliveryCacheStorageService".
This is "nn::bcat::detail::ipc::IDeliveryCacheStorageService".
This was added with [2.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 89: Line 126:
=== IDeliveryCacheFileService ===
=== IDeliveryCacheFileService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheFileService".
This is "nn::bcat::detail::ipc::IDeliveryCacheFileService".
This was added with [2.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 105: Line 144:
=== IDeliveryCacheDirectoryService ===
=== IDeliveryCacheDirectoryService ===
This is "nn::bcat::detail::ipc::IDeliveryCacheDirectoryService".
This is "nn::bcat::detail::ipc::IDeliveryCacheDirectoryService".
This was added with [2.0.0+].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 117: Line 158:
|}
|}


=== IUnknown0 ===
=== INotifierService ===
This is "nn::bcat::detail::ipc::INotifierService".
 
Added with [8.0.0+].
Added with [8.0.0+].


Line 124: Line 167:
! Cmd || Name || Notes
! Cmd || Name || Notes
|-
|-
| 0 || ||  
| 0 || GetEvent ||  
|-
|}
|}


=== IUnknown0 ===
=== IDeliveryTaskSuspensionService ===
This is "nn::bcat::detail::ipc::IDeliveryTaskSuspensionService".
 
Added with [8.0.0+].
Added with [8.0.0+].


Line 135: Line 179:
! Cmd || Name || Notes
! Cmd || Name || Notes
|-
|-
| 0 || ||  
| 0 || GetEvent ||  
|-
|}
|}


= <nowiki>news:a, news:c, news:m, news:p, news:v</nowiki> =
= <nowiki>news:a, news:c, news:m, news:p, news:v</nowiki> =
These are <nowiki>"nn::news::detail::ipc::IServiceCreator"</nowiki>.
These are <nowiki>"nn::news::detail::ipc::IServiceCreator"</nowiki>.
On [1.0.0] these are <nowiki>"nn::news::detail::ipc::INewsService"</nowiki>, see [[#INewsService]].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 170: Line 215:
| 30100 ||  
| 30100 ||  
|-
|-
| 30101 ||  
| 30101 || [3.0.0+]
|-
|-
| 30110 || [6.0.0+]
| 30110 || [6.0.0+]
Line 180: Line 225:
| 30300 ||  
| 30300 ||  
|-
|-
| 30400 ||  
| 30400 || [3.0.0+]
|-
|-
| 30500 || [8.0.0+] ? (Takes a total of 8-bytes of input, a handle, and a type-0x9 input buffer, returns an [[#IUnknown2]])
| 30500 || [8.0.0+] ? (Takes a total of 8-bytes of input, a handle, and a type-0x9 input buffer, returns an [[#IUnknown2]])
|-
| [1.0.0] 30900 || (No input, returns an [[#INewlyArrivedEventHolder]])
|-
| [1.0.0] 30901 || (No input, returns an [[#INewsDataService]])
|-
| [1.0.0] 30902 || (No input, returns an [[#INewsDatabaseService]])
|-
|-
| 40100 ||  
| 40100 ||  
|-
|-
| 40101 ||  
| 40101 || [3.0.0+]
|-
|-
| 40200 ||  
| 40200 ||  
Line 308: Line 359:
| 30500 || [6.0.0+] GetLastUploadError
| 30500 || [6.0.0+] GetLastUploadError
|-
|-
| 40100 || IsUserAgreementCheckEnabled
| 40100 || [2.0.0+] IsUserAgreementCheckEnabled
|-
|-
| 40101 || SetUserAgreementCheckEnabled
| 40101 || [2.0.0+] SetUserAgreementCheckEnabled
|-
|-
| 90100 || [6.0.0+] ReadAllReportFiles ([1.0.0-5.1.0] GetStorageUsage)
| 90100 || [6.0.0+] ReadAllReportFiles ([1.0.0-5.1.0] GetStorageUsage)
|-
|-
| [5.0.0-5.1.0] 90200 ||  
| [1.0.0] 90101 ||
|-
| [1.0.0] 90102 ||
|-
| [5.0.0-5.1.0] 90200 || GetStatistics
|-
|-
| [5.0.0-5.1.0] 90201 ||  
| [5.0.0-5.1.0] 90201 || GetThroughputHistory
|-
|-
| [5.0.0-5.1.0] 90300 ||  
| [5.0.0-5.1.0] 90300 || GetLastUploadError
|}
|}