Line 1:
Line 1:
−
==BOSS Service "boss:U"==
+
==BOSS User Service "boss:U"==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 9:
Line 9:
|-
|-
| 0x00020100
| 0x00020100
−
| [[BOSS:SetStorageInfo|SetStorageInfo]]
+
| [[BOSSU:SetStorageInfo|SetStorageInfo]]
|-
|-
| 0x00030000
| 0x00030000
−
| [[BOSS:UnregisterStorage|UnregisterStorage]]
+
| [[BOSSU:UnregisterStorage|UnregisterStorage]]
|-
|-
| 0x00040000
| 0x00040000
−
| GetTaskStorageInfo
+
| [[BOSSU:GetStorageInfo|GetStorageInfo]]
|-
|-
| 0x00050042
| 0x00050042
−
| ?
+
| [[BOSSU:RegisterPrivateRootCa|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.
+
| [[BOSSU:RegisterPrivateClientCert|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
−
| ?
+
| [[BOSSU:GetNewArrivalFlag|GetNewArrivalFlag]]
|-
|-
| 0x00080002
| 0x00080002
−
| Used for sending a handle. This is used with a table of programIDs etc with a maximum of 5 entries.
+
| [[BOSSU:RegisterNewArrivalEvent|RegisterNewArrivalEvent]]: Used for sending a handle. This is used with a table of programIDs etc with a maximum of 5 entries.
|-
|-
| 0x00090040
| 0x00090040
−
| [[BOSS:SetOptoutFlag|SetOptoutFlag]]
+
| [[BOSSU:SetOptoutFlag|SetOptoutFlag]]
|-
|-
| 0x000A0000
| 0x000A0000
−
| [[BOSS:GetOptoutFlag|GetOptoutFlag]]
+
| [[BOSSU:GetOptoutFlag|GetOptoutFlag]]
|-
|-
| 0x000B00C2
| 0x000B00C2
Line 48:
Line 48:
|-
|-
| 0x000F0042
| 0x000F0042
−
| ?
+
| [[BOSSU:GetStepIdList|GetStepIdList]]
|-
|-
| 0x00100102
| 0x00100102
Line 54:
Line 54:
|-
|-
| 0x00110102
| 0x00110102
−
| ?
+
| [[BOSSU:GetNsDataIdList1|GetNsDataIdList1]]
|-
|-
| 0x00120102
| 0x00120102
−
| ?
+
| [[BOSSU:GetNsDataIdList2|GetNsDataIdList2]]
|-
|-
| 0x00130102
| 0x00130102
−
| ?
+
| [[BOSSU:GetNsDataIdList3|GetNsDataIdList3]]
|-
|-
| 0x00140082
| 0x00140082
Line 72:
Line 72:
|-
|-
| 0x00170082
| 0x00170082
−
| ?
+
| [[BOSSU:UpdateTaskInterval|UpdateTaskInterval]]
|-
|-
| 0x00180082
| 0x00180082
−
| UpdateTaskCount
+
| [[BOSSU:UpdateTaskCount|UpdateTaskCount]]
|-
|-
| 0x00190042
| 0x00190042
−
| ?
+
| [[BOSSU:GetTaskInterval|GetTaskInterval]]
|-
|-
| 0x001A0042
| 0x001A0042
−
| GetTaskCount
+
| [[BOSSU:GetTaskCount|GetTaskCount]]
|-
|-
| 0x001B0042
| 0x001B0042
−
| GetTaskServiceStatus
+
| [[BOSSU:GetTaskServiceStatus|GetTaskServiceStatus]]
|-
|-
| 0x001C0042
| 0x001C0042
Line 96:
Line 96:
|-
|-
| 0x001F0000
| 0x001F0000
−
| [[BOSS:GetTaskFinishHandle|GetTaskFinishHandle]]
+
| [[BOSSU:GetTaskFinishHandle|GetTaskFinishHandle]]
|-
|-
| 0x00200082
| 0x00200082
Line 102:
Line 102:
|-
|-
| 0x00210042
| 0x00210042
−
| GetTaskResult
+
| [[BOSSU:GetTaskResult|GetTaskResult]]
|-
|-
| 0x00220042
| 0x00220042
−
| ?
+
| [[BOSSU:GetTaskCommErrorCode|GetTaskCommErrorCode]]
|-
|-
| 0x002300C2
| 0x002300C2
−
| GetTaskStatus
+
| [[BOSSU:GetTaskStatus|GetTaskStatus]]
|-
|-
| 0x00240082
| 0x00240082
−
| ?
+
| [[BOSSU:GetTaskError|GetTaskError]]
|-
|-
| 0x00250082
| 0x00250082
−
| ?
+
| [[BOSSU:GetTaskInfo|GetTaskInfo]]
|-
|-
| 0x00260040
| 0x00260040
−
| [[BOSS:DeleteNsData|DeleteNsData]]
+
| [[BOSSU:DeleteNsData|DeleteNsData]]
|-
|-
| 0x002700C2
| 0x002700C2
Line 126:
Line 126:
|-
|-
| 0x00290080
| 0x00290080
−
| ?
+
| [[BOSSU:SetNsDataAdditionalInfo|SetNsDataAdditionalInfo]]
|-
|-
| 0x002A0040
| 0x002A0040
−
| Unknown. Writes an output u32 to cmdreply[2].
+
| [[BOSSU:GetNsDataAdditionalInfo|GetNsDataAdditionalInfo]]. Writes an output u32 to cmdreply[2].
|-
|-
| 0x002B0080
| 0x002B0080
−
| SetNsDataNewFlag
+
| [[BOSSU:SetNsDataNewFlag|SetNsDataNewFlag]]
|-
|-
| 0x002C0040
| 0x002C0040
−
| GetNsDataNewFlag
+
| [[BOSSU:GetNsDataNewFlag|GetNsDataNewFlag]]
|-
|-
| 0x002D0040
| 0x002D0040
−
| (u32 NsDataId) Writes an output u64 to cmdreply[2-3], from the content file in extdata.
+
| [[BOSSU:GetNsDataLastUpdate|GetNsDataLastUpdate]] (u32 NsDataId) Writes an output u64 to cmdreply[2-3], from the content file in extdata.
|-
|-
| 0x002E0040
| 0x002E0040
−
| [[BOSS:GetErrorCode|GetErrorCode]]
+
| [[BOSSU:GetErrorCode|GetErrorCode]]
|-
|-
| 0x002F0140
| 0x002F0140
−
| RegisterStorageEntry
+
| [[BOSSU:RegisterStorageEntry|RegisterStorageEntry]]
|-
|-
| 0x00300000
| 0x00300000
−
| unknown...
+
| [[BOSSU:GetStorageEntryInfo|GetStorageEntryInfo]]
|-
|-
| 0x00310100
| 0x00310100
−
| ?
+
| [[BOSSU:SetStorageOption|SetStorageOption]]
|-
|-
| 0x00320000
| 0x00320000
−
| ?
+
| [[BOSSU:GetStorageOption|GetStorageOption]]
|-
|-
| 0x00330042
| 0x00330042
−
| [[BOSS:StartBgImmediate|StartBgImmediate]]
+
| [[BOSSU:StartBgImmediate|StartBgImmediate]]
|-
|-
| 0x00340042
| 0x00340042
−
| [[BOSS:GetTaskProperty0|GetTaskProperty0]]
+
| [[BOSSU:GetTaskPriority|GetTaskPriority]]
|-
|-
| 0x003500C2
| 0x003500C2
−
| RegisterImmediateTask
+
| [[BOSSU:RegisterImmediateTask|RegisterImmediateTask]]
|-
|-
| 0x00360084
| 0x00360084
−
| <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
+
| [[BOSSU:SetTaskQuery|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.
+
| [[BOSSU:GetTaskQuery|GetTaskQuery]] <nowiki>(u32 TaskID_Size, u32 BufSize, ((TaskID_Size<<4) | 10), TaskID_buf, ((BufSize<<4) | 10), Buf)</nowiki> BufSize must match 0x60.
|}
|}
−
==Privileged BOSS Service "boss:P"==
+
==BOSS Privileged Service "boss:P"==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 179:
Line 179:
| 0x04010082
| 0x04010082
| [[BOSSP:InitializeSessionPrivileged|InitializeSessionPrivileged]]
| [[BOSSP:InitializeSessionPrivileged|InitializeSessionPrivileged]]
+
|-
+
| 0x04020000
+
| ?
+
|-
+
| 0x04030000
+
| ?
|-
|-
| 0x04040080
| 0x04040080
Line 184:
Line 190:
|-
|-
| 0x040500C0
| 0x040500C0
−
| unknown...
+
| [[BOSSP:SetAppNewFlag|SetAppNewFlag]]
|-
|-
| 0x040600C0
| 0x040600C0
−
| unknown...
+
| [[BOSSP:SetOptoutFlagPrivileged|SetOptoutFlagPrivileged]]
|-
|-
| 0x04070080
| 0x04070080
−
| unknown...
+
| [[BOSSP:GetOptoutFlagPrivileged|GetOptoutFlagPrivileged]]
+
|-
+
| 0x04080040
+
| (u8 optout) Sets the optout flag to all apps?
|-
|-
| 0x04090102
| 0x04090102
−
| unknown...
+
| [[BOSSP:UnregisterTaskPrivileged|UnregisterTaskPrivileged]]
+
|-
+
| 0x040A0000
+
| [[BOSSP:GetAppIdList|GetAppIdList]]
|-
|-
| 0x040B0080
| 0x040B0080
−
| unknown...
+
| [[BOSSP:GetTaskIdListPrivileged|GetTaskIdListPrivileged]]
+
|-
+
| 0x040C00C2
+
| [[BOSSP:GetStepIdListPrivileged|GetStepIdListPrivileged]]
|-
|-
| 0x040D0182
| 0x040D0182
−
| unknown...
+
| [[BOSSP:GetNsDataIdListPrivileged|GetNsDataIdListPrivileged]]
+
|-
+
| 0x040E0182
+
| [[BOSSP:GetNsDataIdListPrivileged1|GetNsDataIdListPrivileged1]]
+
|-
+
| 0x040F0102
+
| [[BOSSP:GetTaskInfoPrivileged|GetTaskInfoPrivileged]]
+
|-
+
| 0x04100102
+
| [[BOSSP:GetTaskStatusPrivileged1|GetTaskStatusPrivileged1]] Same as GetTaskStatusPrivileged, but the input bool is set to false
+
|-
+
| 0x04110102
+
| [[BOSSP:GetTaskErrorPrivileged|GetTaskErrorPrivileged]]
+
|-
+
| 0x04120000
+
| Related to the sysmodule savedata?
|-
|-
| 0x04130082
| 0x04130082
| [[BOSSP:SendPropertyPrivileged|SendPropertyPrivileged]]
| [[BOSSP:SendPropertyPrivileged|SendPropertyPrivileged]]
+
|-
+
| 0x04140082
+
| [[BOSSP:ReceivePropertyPrivileged|ReceivePropertyPrivileged]]
|-
|-
| 0x041500C0
| 0x041500C0
−
| DeleteNsDataPrivileged
+
| [[BOSSP:DeleteNsDataPrivileged|DeleteNsDataPrivileged]]
|-
|-
| 0x04160142
| 0x04160142
Line 212:
Line 245:
| 0x04170182
| 0x04170182
| [[BOSSP:ReadNsDataPrivileged|ReadNsDataPrivileged]]
| [[BOSSP:ReadNsDataPrivileged|ReadNsDataPrivileged]]
+
|-
+
| 0x04180100
+
| [[BOSSP:SetNsDataAdditionalInfoPrivileged|SetNsDataAdditionalInfoPrivileged]]
+
|-
+
| 0x041900C0
+
| [[BOSSP:GetNsDataAdditionalInfoPrivileged|GetNsDataAdditionalInfoPrivileged]]
|-
|-
| 0x041A0100
| 0x041A0100
−
| SetNsDataNewFlagPrivileged
+
| [[BOSSP:SetNsDataNewFlagPrivileged|SetNsDataNewFlagPrivileged]]
|-
|-
| 0x041B00C0
| 0x041B00C0
−
| GetNsDataNewFlagPrivileged
+
| [[BOSSP:GetNsDataNewFlagPrivileged|GetNsDataNewFlagPrivileged]]
|-
|-
| 0x041C00C0
| 0x041C00C0
−
| unknown...
+
| [[BOSSP:GetNsDataLastUpdatePrivileged|GetNsDataLastUpdatePrivileged]]
+
|-
+
| 0x041D0040
+
| (bool unk_flag1)
+
|-
+
| 0x041E0000
+
| Returns: bool unk_flag1
+
|-
+
| 0x041F0040
+
| [[BOSSP:SetTestModeAvailability|SetTestModeAvailability]] (bool test_mode_flag)
+
|-
+
| 0x04200000
+
| [[BOSSP:GetTestModeAvailability|GetTestModeAvailability]]. Returns: bool test_mode_flag
+
|-
+
| 0x04210000?
+
| Stubbed
+
|-
+
| 0x04220000
+
| ?
+
|-
+
| 0x04230000?
+
| Stubbed
+
|-
+
| 0x04240000
+
| ?
+
|-
+
| 0x04250042
+
| [[BOSSP:SetPolicyListEnvId|SetPolicyListEnvId]]. Sets the policylist env ID (default env ID is "p01"): strncpy("p01", in, 8)
+
|-
+
| 0x04260042
+
| [[BOSSP:GetPolicyListEnvId|GetPolicyListEnvId]]. Gets the policylist env ID (default env ID is "p01"): strcpy(out, "p01")
+
|-
+
| 0x04270042
+
| [[BOSSP:SetPolicyListUrl|SetPolicyListUrl]]. Sets a custom policylist URL. Max of 0x200 chars
+
|-
+
| 0x04280042
+
| [[BOSSP:GetPolicyListUrl|GetPolicyListUrl]]. Gets the custom policylist URL
+
|-
+
| 0x04290002
+
| (Handle unk)
+
|-
+
| 0x042A0000
+
| Closes the previous handle
+
|-
+
| 0x042B0000
+
| Returns: u8 unk
+
|-
+
| 0x042C0042
+
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>
+
|-
+
| 0x042D0000
+
| Returns: u32 unk
|-
|-
| 0x042E00C2
| 0x042E00C2
−
| unknown...
+
| [[BOSSP:StartTaskPrivileged|StartTaskPrivileged]]
|-
|-
| 0x042F00C2
| 0x042F00C2
−
| unknown...
+
| [[BOSSP:StartTaskImmediatePrivileged|StartTaskImmediatePrivileged]]
|-
|-
| 0x043000C2
| 0x043000C2
−
| unknown...
+
| [[BOSSP:CancelTaskPrivileged|CancelTaskPrivileged]]
+
|-
+
| 0x04310040
+
| (u32 unk_4) The input is stored in a variable whose default value is 0x70
+
|-
+
| 0x04320040
+
| Returns: u32 unk_4
+
|-
+
| 0x04330080
+
| [[BOSSP:GetStorageOptionPrivileged|GetStorageOptionPrivileged]]
+
|-
+
| 0x043400C2
+
| [[BOSSP:StartBgImmediatePrivileged|StartBgImmediatePrivileged]]
+
|-
+
| 0x04350042
+
| <nowiki>(u32 Size, ((Size<<4)|0xA), Buf)</nowiki>. Stubbed
+
|-
+
| 0x04360042
+
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Stubbed
+
|-
+
| 0x043700C2
+
| [[BOSSP:GetTaskPriorityPrivileged|GetTaskPriorityPrivileged]]
+
|-
+
| 0x04380000
+
| ?
+
|-
+
| 0x04390104
+
| [[BOSSP:GetTaskQueryPrivileged|GetTaskQueryPrivileged]]
+
|-
+
| 0x043A0042
+
| <nowiki>(u32 Size, ((Size<<4)|0xA), Buf)</nowiki>. Stubbed
+
|-
+
| 0x043B0042
+
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Stubbed
+
|-
+
| 0x043C0080
+
| (u64 title_id)
+
|-
+
| 0x043D0080
+
| (u64 title_id)
+
|-
+
| 0x043E0042
+
| [[BOSSP:SetSprelayUrl|SetSprelayUrl]] <nowiki>(u32 Size, ((Size<<4)|0xA), Buf)</nowiki>. Sets the sprelay URL
+
|-
+
| 0x043F0042
+
| [[BOSSP:GetSprelayUrl|GetSprelayUrl]] <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Gets the sprelay URL
+
|-
+
| 0x04400080
+
| [[BOSSP:SetSprelayInterval|SetSprelayInterval]] (u32 interval, u32 unk). Sets the sprelay interval, and other things
+
|-
+
| 0x04410000
+
| [[BOSSP:GetSprelayInterval|GetSprelayInterval]] Returns: u32 interval, u32 unk. Gets the sprelay interval, and other things
+
|-
+
| 0x04420000
+
| ?
+
|-
+
| 0x04430042
+
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Size must be at least 0x208
+
|-
+
| 0x04440042
+
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Size must be at least 0x130
+
|-
+
| 0x04450040
+
| (u8 unk_5)
+
|-
+
| 0x04460000
+
| Returns: u8 unk_5
+
|-
+
| 0x04470002
+
| [[BOSSP:RegisterNewArrivalEventPrivileged|RegisterNewArrivalEventPrivileged]]
+
|-
+
| 0x04480000?
+
| Stubbed
|-
|-
| 0x04490142
| 0x04490142
−
| unknown...
+
| [[BOSSP:RegisterTaskPrivileged|RegisterTaskPrivileged]]
|-
|-
| 0x044A0180
| 0x044A0180
−
| unknown...
+
| [[BOSSP:SetStorageInfoPrivileged|SetStorageInfoPrivileged]]
+
|-
+
| 0x044B01C0
+
| [[BOSSP:RegisterStorageEntryPrivileged|RegisterStorageEntryPrivileged]]
+
|-
+
| 0x044C0080
+
| [[BOSSP:UnregisterStoragePrivileged|UnregisterStoragePrivileged]]
|-
|-
| 0x044D0080
| 0x044D0080
−
| unknown...
+
| [[BOSSP:GetStorageInfoPrivileged|GetStorageInfoPrivileged]]
+
|-
+
| 0x044E0080
+
| [[BOSSP:GetStorageEntryInfoPrivileged|GetStorageEntryInfoPrivileged]]
+
|-
+
| 0x044F0102
+
| [[BOSSP:UpdateTaskIntervalPrivileged|UpdateTaskIntervalPrivileged]]
|-
|-
| 0x04500102
| 0x04500102
−
| unknown...
+
| [[BOSSP:UpdateTaskCountPrivileged|UpdateTaskCountPrivileged]]
+
|-
+
| 0x045100C2
+
| [[BOSSP:GetTaskIntervalPrivileged|GetTaskIntervalPrivileged]]
+
|-
+
| 0x045200C2
+
| [[BOSSP:GetTaskCountPrivileged|GetTaskCountPrivileged]]
+
|-
+
| 0x045300C2
+
| [[BOSSP:GetTaskServiceStatusPrivileged|GetTaskServiceStatusPrivileged]]
|-
|-
| 0x04540102
| 0x04540102
−
| unknown...
+
| [[BOSSP:GetTaskStatePrivileged|GetTaskStatePrivileged]]
|-
|-
| 0x045500C2
| 0x045500C2
−
| unknown...
+
| [[BOSSP:GetTaskResultPrivileged|GetTaskResultPrivileged]]
+
|-
+
| 0x045600C2
+
| [[BOSSP:GetTaskCommErrorCodePrivileged|GetTaskCommErrorCodePrivileged]]
+
|-
+
| 0x04570142
+
| [[BOSSP:GetTaskStatusPrivileged|GetTaskStatusPrivileged]]
|-
|-
| 0x04580104
| 0x04580104
−
| ?
+
| [[BOSSP:SetTaskQueryPrivileged|SetTaskQueryPrivileged]]
|}
|}
Line 258:
Line 447:
==BOSS Service "boss:M"==
==BOSS Service "boss:M"==
+
+
{| class="wikitable" border="1"
+
|-
+
! Command Header
+
! Description
+
|-
+
| 0x00010002
+
| ?
+
|-
+
| 0x00020000
+
| ?
+
|-
+
| 0x00030040
+
| ?
+
|-
+
| 0x00040000
+
| ?
+
|-
+
| 0x00050000
+
| ?
+
|-
+
| 0x00060000
+
| ?
+
|-
+
| 0x00070000
+
| ?
+
|}
==programIDs==
==programIDs==
Line 339:
Line 555:
| 0x0
| 0x0
| 0x4
| 0x4
−
| ?
+
| Content data-type, originally from the [[SpotPass|BOSS-container]].
|}
|}
Line 598:
Line 814:
| The specified NsDataId was not found.
| The specified NsDataId was not found.
|}
|}
+
+
[[Category:Services]]