Changes

m
Update BOSS command names
Line 15: Line 15:  
|-
 
|-
 
| 0x00040000
 
| 0x00040000
| GetTaskStorageInfo
+
| GetStorageInfo
 
|-
 
|-
 
| 0x00050042
 
| 0x00050042
| ?
+
| RegisterPrivateRootCa
 
|-
 
|-
 
| 0x00060084
 
| 0x00060084
| <nowiki>(u32 Size0, u32 Size1, ((Size0<<4) | 10), Buf0, ((Size1<<4) | 10), Buf1)</nowiki> This writes the content of the input buffers into files "bossdb:/%s_CL" and "bossdb:/%s_CLK", where "%s" is generated from the programID.
+
| RegisterPrivateClientCert <nowiki>(u32 Size0, u32 Size1, ((Size0<<4) | 10), Buf0, ((Size1<<4) | 10), Buf1)</nowiki> This writes the content of the input buffers into files "bossdb:/%s_CL" and "bossdb:/%s_CLK", where "%s" is generated from the programID.
 
|-
 
|-
 
| 0x00070000
 
| 0x00070000
| ?
+
| GetNewArrivalFlag
 
|-
 
|-
 
| 0x00080002
 
| 0x00080002
| Used for sending a handle. This is used with a table of programIDs etc with a maximum of 5 entries.
+
| [[BOSS:RegisterNewArrivalEvent|RegisterNewArrivalEvent]]: Used for sending a handle. This is used with a table of programIDs etc with a maximum of 5 entries.
 
|-
 
|-
 
| 0x00090040
 
| 0x00090040
Line 48: Line 48:  
|-
 
|-
 
| 0x000F0042
 
| 0x000F0042
| ?
+
| GetStepIdList
 
|-
 
|-
 
| 0x00100102
 
| 0x00100102
Line 54: Line 54:  
|-
 
|-
 
| 0x00110102
 
| 0x00110102
| ?
+
| [[BOSS:GetNsDataIdList1|GetNsDataIdList1]]
 
|-
 
|-
 
| 0x00120102
 
| 0x00120102
| ?
+
| [[BOSS:GetNsDataIdList2|GetNsDataIdList2]]
 
|-
 
|-
 
| 0x00130102
 
| 0x00130102
| ?
+
| [[BOSS:GetNsDataIdList3|GetNsDataIdList3]]
 
|-
 
|-
 
| 0x00140082
 
| 0x00140082
Line 72: Line 72:  
|-
 
|-
 
| 0x00170082
 
| 0x00170082
| ?
+
| UpdateTaskInterval
 
|-
 
|-
 
| 0x00180082
 
| 0x00180082
Line 78: Line 78:  
|-
 
|-
 
| 0x00190042
 
| 0x00190042
| ?
+
| GetTaskInterval
 
|-
 
|-
 
| 0x001A0042
 
| 0x001A0042
Line 105: Line 105:  
|-
 
|-
 
| 0x00220042
 
| 0x00220042
| ?
+
| GetTaskCommErrorCode
 
|-
 
|-
 
| 0x002300C2
 
| 0x002300C2
Line 111: Line 111:  
|-
 
|-
 
| 0x00240082
 
| 0x00240082
| ?
+
| GetTaskError
 
|-
 
|-
 
| 0x00250082
 
| 0x00250082
| ?
+
| GetTaskInfo
 
|-
 
|-
 
| 0x00260040
 
| 0x00260040
Line 126: Line 126:  
|-
 
|-
 
| 0x00290080
 
| 0x00290080
| ?
+
| SetNsDataAdditionalInfo
 
|-
 
|-
 
| 0x002A0040
 
| 0x002A0040
| Unknown. Writes an output u32 to cmdreply[2].
+
| GetNsDataAdditionalInfo. Writes an output u32 to cmdreply[2].
 
|-
 
|-
 
| 0x002B0080
 
| 0x002B0080
Line 138: Line 138:  
|-
 
|-
 
| 0x002D0040
 
| 0x002D0040
| unknown...
+
| GetNsDataLastUpdate (u32 NsDataId) Writes an output u64 to cmdreply[2-3], from the content file in extdata.
 
|-
 
|-
 
| 0x002E0040
 
| 0x002E0040
Line 147: Line 147:  
|-
 
|-
 
| 0x00300000
 
| 0x00300000
| unknown...
+
| GetStorageEntryInfo
 
|-
 
|-
 
| 0x00310100
 
| 0x00310100
| ?
+
| SetStorageOption
 
|-
 
|-
 
| 0x00320000
 
| 0x00320000
| ?
+
| GetStorageOption
 
|-
 
|-
 
| 0x00330042
 
| 0x00330042
Line 165: Line 165:  
|-
 
|-
 
| 0x00360084
 
| 0x00360084
| <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
+
| SetTaskQuery <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
 
|-
 
|-
 
| 0x00370084
 
| 0x00370084
| <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
+
| GetTaskQuery <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
 
|}
 
|}
   Line 199: Line 199:  
|-
 
|-
 
| 0x040D0182
 
| 0x040D0182
| unknown...
+
| [[BOSSP:GetNsDataIdListPrivileged|GetNsDataIdListPrivileged]]
 +
|-
 +
| 0x040E0182
 +
| [[BOSSP:GetNsDataIdListPrivileged1|GetNsDataIdListPrivileged1]]
 
|-
 
|-
 
| 0x04130082
 
| 0x04130082
Line 258: Line 261:     
==BOSS Service "boss:M"==
 
==BOSS Service "boss:M"==
 +
 +
==programIDs==
 +
BOSS uses programIDs raw without any handling for the New3DS programID-low bitmask. For example, attempting a NsDataId listing with the New3DS bitmask set will fail, if BOSS is only setup for that programID with the New3DS bitmask clear.
 +
 +
When [[BOSSU:InitializeSession|initializing]] BOSS with the default programID, the New3DS programID-low bitmask is always clear for New3DS titles since that's how it was originally registered with [[Filesystem_services|FS]]. Hence, the programID in the [[SpotPass|BOSS-container]] must always have the New3DS bitmask clear. This also means everything using the BOSSP commands with the raw programIDs loaded from AM title-listing are broken with New3DS titles, for example [[Extended_Banner]].
    
==Content Data Storage==
 
==Content Data Storage==
Line 263: Line 271:     
All of these commands using [[FS:CheckAuthorityToAccessExtSaveData]] are: [[BOSS:SetStorageInfo]] and RegisterStorageEntry, for both BOSSU and BOSSP.
 
All of these commands using [[FS:CheckAuthorityToAccessExtSaveData]] are: [[BOSS:SetStorageInfo]] and RegisterStorageEntry, for both BOSSU and BOSSP.
 +
 +
BOSS-container content is stored in the extdata registered for the programID specified in the BOSS-container, what task it's associated with / what title registered it is irrelevant with BOSS-container data storage.
    
==Custom SpotPass content==
 
==Custom SpotPass content==
Line 332: Line 342:  
| 0x0
 
| 0x0
 
| 0x4
 
| 0x4
| ?
+
| Content data-type, originally from the [[SpotPass|BOSS-container]].
 
|}
 
|}
   Line 480: Line 490:  
| 0x10
 
| 0x10
 
| 0x1
 
| 0x1
| ?
+
| When non-zero this enables loading the client cert+privk from FS, requires the filepaths to be actually set.
 
|-
 
|-
 
| 0x11
 
| 0x11
 
| 0x1
 
| 0x1
| ?
+
| When non-zero this enables loading a trusted rootCA cert DER from FS, requires the filepath to be actually set.
 
|-
 
|-
 
| 0x12
 
| 0x12
Line 581: Line 591:  
| 0xC8A0F833
 
| 0xC8A0F833
 
| taskID not found.
 
| taskID not found.
 +
|-
 +
| 0xC8A0F836
 +
| taskID already exists, for task creation.
 +
|-
 +
| 0xC8A0F842
 +
| The specified programID is not setup for BOSS.
 +
|-
 +
| 0xC8A0F843
 +
| The specified NsDataId was not found.
 
|}
 
|}
106

edits