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 Size0, u32 Size1, ((Size0<<4) | 10), Buf0, ((Size1<<4) | 10), Buf1)</nowiki>
+
| 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 437: Line 447:  
| 0x1
 
| 0x1
 
| Unknown. Usually 0x2?
 
| Unknown. Usually 0x2?
 +
|-
 +
| 0x6
 +
| 0x1
 +
| ?
 
|-
 
|-
 
| 0x7
 
| 0x7
 
| 0x200
 
| 0x200
 
| URL
 
| URL
 +
|-
 +
| 0x8
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x9
 +
| 0x1
 +
| ?
 +
|-
 +
| 0xA
 +
| 0x100
 +
| ?
 +
|-
 +
| 0xB
 +
| 0x200
 +
| ?
 
|-
 
|-
 
| 0xC
 
| 0xC
 
|  
 
|  
| [[BOSSU:SendPropertyHandle]] is used for this. This property is only setup for HTTP uploads?
+
| [[BOSSU:SendPropertyHandle]] is used for this. This property is only setup for HTTP uploads? This can be used with [[BOSSU:SendProperty]] too but that's not the intended use.
 
|-
 
|-
 
| 0xD
 
| 0xD
Line 457: Line 487:  
| 0xC
 
| 0xC
 
| 3 words. Last word is unknown, normally 0(non-zero doesn't seem to affect any HTTPC commands). [[HTTPC:AddDefaultCert]] is called twice for each of the first two words which are used as certIDs(not masked to u8).
 
| 3 words. Last word is unknown, normally 0(non-zero doesn't seem to affect any HTTPC commands). [[HTTPC:AddDefaultCert]] is called twice for each of the first two words which are used as certIDs(not masked to u8).
 +
|-
 +
| 0x10
 +
| 0x1
 +
| When non-zero this enables loading the client cert+privk from FS, requires the filepaths to be actually set.
 +
|-
 +
| 0x11
 +
| 0x1
 +
| When non-zero this enables loading a trusted rootCA cert DER from FS, requires the filepath to be actually set.
 +
|-
 +
| 0x12
 +
| 0x1
 +
| ?
 +
|-
 +
| 0x13
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x14
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x15
 +
| 0x40
 +
| ?
 +
|-
 +
| 0x16
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x18
 +
| 0x1
 +
| ?
 +
|-
 +
| 0x19
 +
| 0x1
 +
| ?
 +
|-
 +
| 0x1A
 +
| 0x1
 +
| ?
 +
|-
 +
| 0x1B
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x1C
 +
| 0x4
 +
| ?
 
|-
 
|-
 
| 0x35
 
| 0x35
Line 465: Line 543:  
| 0x400
 
| 0x400
 
| List of TaskIDs. [[BOSSU:GetTaskIdList]] is used before [[BOSSU:ReceiveProperty|reading]] this.
 
| List of TaskIDs. [[BOSSU:GetTaskIdList]] is used before [[BOSSU:ReceiveProperty|reading]] this.
 +
|-
 +
| 0x3B
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x3E
 +
| 0x200
 +
| ?
 +
|-
 +
| 0x3F
 +
| 0x1
 +
| ?
 
|}
 
|}
 +
 +
The only valid PropertyIDs for [[BOSSU:SendProperty]] are the ones listed above, except 0x35 and 0x36. If the specified size for the command is larger than the property size, it will use the actual property size instead. When the specified size is less than the actual property size, all of the property data that won't be written to is cleared.
    
==TaskStatus==
 
==TaskStatus==
Line 499: 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