BOSS Services: Difference between revisions
DaniElectra (talk | contribs) m →Privileged BOSS Service "boss:P": Document more names |
DaniElectra (talk | contribs) Make links of all named BOSS commands |
||
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 | ||
| [[ | | [[BOSSU:SetStorageInfo|SetStorageInfo]] | ||
|- | |- | ||
| 0x00030000 | | 0x00030000 | ||
| [[ | | [[BOSSU:UnregisterStorage|UnregisterStorage]] | ||
|- | |- | ||
| 0x00040000 | | 0x00040000 | ||
| GetStorageInfo | | [[BOSSU:GetStorageInfo|GetStorageInfo]] | ||
|- | |- | ||
| 0x00050042 | | 0x00050042 | ||
| RegisterPrivateRootCa | | [[BOSSU:RegisterPrivateRootCa|RegisterPrivateRootCa]] | ||
|- | |- | ||
| 0x00060084 | | 0x00060084 | ||
| 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. | | [[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 | ||
| GetNewArrivalFlag | | [[BOSSU:GetNewArrivalFlag|GetNewArrivalFlag]] | ||
|- | |- | ||
| 0x00080002 | | 0x00080002 | ||
| [[ | | [[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 | ||
| [[ | | [[BOSSU:SetOptoutFlag|SetOptoutFlag]] | ||
|- | |- | ||
| 0x000A0000 | | 0x000A0000 | ||
| [[ | | [[BOSSU:GetOptoutFlag|GetOptoutFlag]] | ||
|- | |- | ||
| 0x000B00C2 | | 0x000B00C2 | ||
Line 48: | Line 48: | ||
|- | |- | ||
| 0x000F0042 | | 0x000F0042 | ||
| GetStepIdList | | [[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 | ||
| UpdateTaskInterval | | [[BOSSU:UpdateTaskInterval|UpdateTaskInterval]] | ||
|- | |- | ||
| 0x00180082 | | 0x00180082 | ||
| UpdateTaskCount | | [[BOSSU:UpdateTaskCount|UpdateTaskCount]] | ||
|- | |- | ||
| 0x00190042 | | 0x00190042 | ||
| GetTaskInterval | | [[BOSSU:GetTaskInterval|GetTaskInterval]] | ||
|- | |- | ||
| 0x001A0042 | | 0x001A0042 | ||
| GetTaskCount | | [[BOSSU:GetTaskCount|GetTaskCount]] | ||
|- | |- | ||
| 0x001B0042 | | 0x001B0042 | ||
| GetTaskServiceStatus | | [[BOSSU:GetTaskServiceStatus|GetTaskServiceStatus]] | ||
|- | |- | ||
| 0x001C0042 | | 0x001C0042 | ||
Line 96: | Line 96: | ||
|- | |- | ||
| 0x001F0000 | | 0x001F0000 | ||
| [[ | | [[BOSSU:GetTaskFinishHandle|GetTaskFinishHandle]] | ||
|- | |- | ||
| 0x00200082 | | 0x00200082 | ||
Line 102: | Line 102: | ||
|- | |- | ||
| 0x00210042 | | 0x00210042 | ||
| GetTaskResult | | [[BOSSU:GetTaskResult|GetTaskResult]] | ||
|- | |- | ||
| 0x00220042 | | 0x00220042 | ||
| GetTaskCommErrorCode | | [[BOSSU:GetTaskCommErrorCode|GetTaskCommErrorCode]] | ||
|- | |- | ||
| 0x002300C2 | | 0x002300C2 | ||
| GetTaskStatus | | [[BOSSU:GetTaskStatus|GetTaskStatus]] | ||
|- | |- | ||
| 0x00240082 | | 0x00240082 | ||
| GetTaskError | | [[BOSSU:GetTaskError|GetTaskError]] | ||
|- | |- | ||
| 0x00250082 | | 0x00250082 | ||
| GetTaskInfo | | [[BOSSU:GetTaskInfo|GetTaskInfo]] | ||
|- | |- | ||
| 0x00260040 | | 0x00260040 | ||
| [[ | | [[BOSSU:DeleteNsData|DeleteNsData]] | ||
|- | |- | ||
| 0x002700C2 | | 0x002700C2 | ||
Line 126: | Line 126: | ||
|- | |- | ||
| 0x00290080 | | 0x00290080 | ||
| SetNsDataAdditionalInfo | | [[BOSSU:SetNsDataAdditionalInfo|SetNsDataAdditionalInfo]] | ||
|- | |- | ||
| 0x002A0040 | | 0x002A0040 | ||
| GetNsDataAdditionalInfo. 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 | ||
| GetNsDataLastUpdate (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 | ||
| [[ | | [[BOSSU:GetErrorCode|GetErrorCode]] | ||
|- | |- | ||
| 0x002F0140 | | 0x002F0140 | ||
| RegisterStorageEntry | | [[BOSSU:RegisterStorageEntry|RegisterStorageEntry]] | ||
|- | |- | ||
| 0x00300000 | | 0x00300000 | ||
| GetStorageEntryInfo | | [[BOSSU:GetStorageEntryInfo|GetStorageEntryInfo]] | ||
|- | |- | ||
| 0x00310100 | | 0x00310100 | ||
| SetStorageOption | | [[BOSSU:SetStorageOption|SetStorageOption]] | ||
|- | |- | ||
| 0x00320000 | | 0x00320000 | ||
| GetStorageOption | | [[BOSSU:GetStorageOption|GetStorageOption]] | ||
|- | |- | ||
| 0x00330042 | | 0x00330042 | ||
| [[ | | [[BOSSU:StartBgImmediate|StartBgImmediate]] | ||
|- | |- | ||
| 0x00340042 | | 0x00340042 | ||
| [[ | | [[BOSSU:GetTaskPriority|GetTaskPriority]] | ||
|- | |- | ||
| 0x003500C2 | | 0x003500C2 | ||
| RegisterImmediateTask | | [[BOSSU:RegisterImmediateTask|RegisterImmediateTask]] | ||
|- | |- | ||
| 0x00360084 | | 0x00360084 | ||
| SetTaskQuery <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 | ||
| GetTaskQuery <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 Privileged Service "boss:P"== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 193: | Line 193: | ||
|- | |- | ||
| 0x040600C0 | | 0x040600C0 | ||
| SetOptoutFlagPrivileged | | [[BOSSP:SetOptoutFlagPrivileged|SetOptoutFlagPrivileged]] | ||
|- | |- | ||
| 0x04070080 | | 0x04070080 | ||
| GetOptoutFlagPrivileged | | [[BOSSP:GetOptoutFlagPrivileged|GetOptoutFlagPrivileged]] | ||
|- | |- | ||
| 0x04080040 | | 0x04080040 | ||
Line 202: | Line 202: | ||
|- | |- | ||
| 0x04090102 | | 0x04090102 | ||
| UnregisterTaskPrivileged | | [[BOSSP:UnregisterTaskPrivileged|UnregisterTaskPrivileged]] | ||
|- | |- | ||
| 0x040A0000 | | 0x040A0000 | ||
| GetAppIdList | | [[BOSSP:GetAppIdList|GetAppIdList]] | ||
|- | |- | ||
| 0x040B0080 | | 0x040B0080 | ||
| GetTaskIdListPrivileged | | [[BOSSP:GetTaskIdListPrivileged|GetTaskIdListPrivileged]] | ||
|- | |- | ||
| 0x040C00C2 | | 0x040C00C2 | ||
| GetStepIdListPrivileged | | [[BOSSP:GetStepIdListPrivileged|GetStepIdListPrivileged]] | ||
|- | |- | ||
| 0x040D0182 | | 0x040D0182 | ||
Line 220: | Line 220: | ||
|- | |- | ||
| 0x040F0102 | | 0x040F0102 | ||
| GetTaskInfoPrivileged | | [[BOSSP:GetTaskInfoPrivileged|GetTaskInfoPrivileged]] | ||
|- | |- | ||
| 0x04100102 | | 0x04100102 | ||
| Same as GetTaskStatusPrivileged, but the input bool is set to false | | [[BOSSP:GetTaskStatusPrivileged1|GetTaskStatusPrivileged1]] Same as GetTaskStatusPrivileged, but the input bool is set to false | ||
|- | |- | ||
| 0x04110102 | | 0x04110102 | ||
| GetTaskErrorPrivileged | | [[BOSSP:GetTaskErrorPrivileged|GetTaskErrorPrivileged]] | ||
|- | |- | ||
| 0x04120000 | | 0x04120000 | ||
Line 238: | Line 238: | ||
|- | |- | ||
| 0x041500C0 | | 0x041500C0 | ||
| DeleteNsDataPrivileged | | [[BOSSP:DeleteNsDataPrivileged|DeleteNsDataPrivileged]] | ||
|- | |- | ||
| 0x04160142 | | 0x04160142 | ||
Line 247: | Line 247: | ||
|- | |- | ||
| 0x04180100 | | 0x04180100 | ||
| SetNsDataAdditionalInfoPrivileged | | [[BOSSP:SetNsDataAdditionalInfoPrivileged|SetNsDataAdditionalInfoPrivileged]] | ||
|- | |- | ||
| 0x041900C0 | | 0x041900C0 | ||
| GetNsDataAdditionalInfoPrivileged | | [[BOSSP:GetNsDataAdditionalInfoPrivileged|GetNsDataAdditionalInfoPrivileged]] | ||
|- | |- | ||
| 0x041A0100 | | 0x041A0100 | ||
| SetNsDataNewFlagPrivileged | | [[BOSSP:SetNsDataNewFlagPrivileged|SetNsDataNewFlagPrivileged]] | ||
|- | |- | ||
| 0x041B00C0 | | 0x041B00C0 | ||
| GetNsDataNewFlagPrivileged | | [[BOSSP:GetNsDataNewFlagPrivileged|GetNsDataNewFlagPrivileged]] | ||
|- | |- | ||
| 0x041C00C0 | | 0x041C00C0 | ||
| GetNsDataLastUpdatePrivileged | | [[BOSSP:GetNsDataLastUpdatePrivileged|GetNsDataLastUpdatePrivileged]] | ||
|- | |- | ||
| 0x041D0040 | | 0x041D0040 | ||
Line 268: | Line 268: | ||
|- | |- | ||
| 0x041F0040 | | 0x041F0040 | ||
| SetTestModeAvailability (bool test_mode_flag) | | [[BOSSP:SetTestModeAvailability|SetTestModeAvailability]] (bool test_mode_flag) | ||
|- | |- | ||
| 0x04200000 | | 0x04200000 | ||
| GetTestModeAvailability. Returns: bool test_mode_flag | | [[BOSSP:GetTestModeAvailability|GetTestModeAvailability]]. Returns: bool test_mode_flag | ||
|- | |- | ||
| 0x04210000? | | 0x04210000? | ||
Line 286: | Line 286: | ||
|- | |- | ||
| 0x04250042 | | 0x04250042 | ||
| SetPolicyListEnvId. Sets the policylist env ID (default env ID is "p01"): strncpy("p01", in, 8) | | [[BOSSP:SetPolicyListEnvId|SetPolicyListEnvId]]. Sets the policylist env ID (default env ID is "p01"): strncpy("p01", in, 8) | ||
|- | |- | ||
| 0x04260042 | | 0x04260042 | ||
| GetPolicyListEnvId. Gets the policylist env ID (default env ID is "p01"): strcpy(out, "p01") | | [[BOSSP:GetPolicyListEnvId|GetPolicyListEnvId]]. Gets the policylist env ID (default env ID is "p01"): strcpy(out, "p01") | ||
|- | |- | ||
| 0x04270042 | | 0x04270042 | ||
| SetPolicyListUrl. Sets a custom policylist URL. Max of 0x200 chars | | [[BOSSP:SetPolicyListUrl|SetPolicyListUrl]]. Sets a custom policylist URL. Max of 0x200 chars | ||
|- | |- | ||
| 0x04280042 | | 0x04280042 | ||
| GetPolicyListUrl. Gets the custom policylist URL | | [[BOSSP:GetPolicyListUrl|GetPolicyListUrl]]. Gets the custom policylist URL | ||
|- | |- | ||
| 0x04290002 | | 0x04290002 | ||
Line 313: | Line 313: | ||
|- | |- | ||
| 0x042E00C2 | | 0x042E00C2 | ||
| StartTaskPrivileged | | [[BOSSP:StartTaskPrivileged|StartTaskPrivileged]] | ||
|- | |- | ||
| 0x042F00C2 | | 0x042F00C2 | ||
| StartTaskImmediatePrivileged | | [[BOSSP:StartTaskImmediatePrivileged|StartTaskImmediatePrivileged]] | ||
|- | |- | ||
| 0x043000C2 | | 0x043000C2 | ||
| CancelTaskPrivileged | | [[BOSSP:CancelTaskPrivileged|CancelTaskPrivileged]] | ||
|- | |- | ||
| 0x04310040 | | 0x04310040 | ||
Line 328: | Line 328: | ||
|- | |- | ||
| 0x04330080 | | 0x04330080 | ||
| GetStorageOptionPrivileged | | [[BOSSP:GetStorageOptionPrivileged|GetStorageOptionPrivileged]] | ||
|- | |- | ||
| 0x043400C2 | | 0x043400C2 | ||
| StartBgImmediatePrivileged | | [[BOSSP:StartBgImmediatePrivileged|StartBgImmediatePrivileged]] | ||
|- | |- | ||
| 0x04350042 | | 0x04350042 | ||
Line 340: | Line 340: | ||
|- | |- | ||
| 0x043700C2 | | 0x043700C2 | ||
| | | [[BOSSP:GetTaskPriorityPrivileged|GetTaskPriorityPrivileged]] | ||
|- | |- | ||
| 0x04380000 | | 0x04380000 | ||
Line 346: | Line 346: | ||
|- | |- | ||
| 0x04390104 | | 0x04390104 | ||
| GetTaskQueryPrivileged | | [[BOSSP:GetTaskQueryPrivileged|GetTaskQueryPrivileged]] | ||
|- | |- | ||
| 0x043A0042 | | 0x043A0042 | ||
Line 361: | Line 361: | ||
|- | |- | ||
| 0x043E0042 | | 0x043E0042 | ||
| <nowiki>(u32 Size, ((Size<<4)|0xA), Buf)</nowiki>. Sets the sprelay URL | | [[BOSSP:SetSprelayUrl|SetSprelayUrl]] <nowiki>(u32 Size, ((Size<<4)|0xA), Buf)</nowiki>. Sets the sprelay URL | ||
|- | |- | ||
| 0x043F0042 | | 0x043F0042 | ||
| <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Gets the sprelay URL | | [[BOSSP:GetSprelayUrl|GetSprelayUrl]] <nowiki>(u32 Size, ((Size<<4)|0xC), Buf)</nowiki>. Gets the sprelay URL | ||
|- | |- | ||
| 0x04400080 | | 0x04400080 | ||
| (u32 interval, u32 unk). Sets the sprelay interval, and other things | | [[BOSSP:SetSprelayInterval|SetSprelayInterval]] (u32 interval, u32 unk). Sets the sprelay interval, and other things | ||
|- | |- | ||
| 0x04410000 | | 0x04410000 | ||
| Returns: u32 interval, u32 unk. Gets the sprelay interval, and other things | | [[BOSSP:GetSprelayInterval|GetSprelayInterval]] Returns: u32 interval, u32 unk. Gets the sprelay interval, and other things | ||
|- | |- | ||
| 0x04420000 | | 0x04420000 | ||
Line 388: | Line 388: | ||
|- | |- | ||
| 0x04470002 | | 0x04470002 | ||
| RegisterNewArrivalEventPrivileged | | [[BOSSP:RegisterNewArrivalEventPrivileged|RegisterNewArrivalEventPrivileged]] | ||
|- | |- | ||
| 0x04480000? | | 0x04480000? | ||
Line 394: | Line 394: | ||
|- | |- | ||
| 0x04490142 | | 0x04490142 | ||
| RegisterTaskPrivileged | | [[BOSSP:RegisterTaskPrivileged|RegisterTaskPrivileged]] | ||
|- | |- | ||
| 0x044A0180 | | 0x044A0180 | ||
| SetStorageInfoPrivileged | | [[BOSSP:SetStorageInfoPrivileged|SetStorageInfoPrivileged]] | ||
|- | |- | ||
| 0x044B01C0 | | 0x044B01C0 | ||
| RegisterStorageEntryPrivileged | | [[BOSSP:RegisterStorageEntryPrivileged|RegisterStorageEntryPrivileged]] | ||
|- | |- | ||
| 0x044C0080 | | 0x044C0080 | ||
| UnregisterStoragePrivileged | | [[BOSSP:UnregisterStoragePrivileged|UnregisterStoragePrivileged]] | ||
|- | |- | ||
| 0x044D0080 | | 0x044D0080 | ||
| GetStorageInfoPrivileged | | [[BOSSP:GetStorageInfoPrivileged|GetStorageInfoPrivileged]] | ||
|- | |- | ||
| 0x044E0080 | | 0x044E0080 | ||
| GetStorageEntryInfoPrivileged | | [[BOSSP:GetStorageEntryInfoPrivileged|GetStorageEntryInfoPrivileged]] | ||
|- | |- | ||
| 0x044F0102 | | 0x044F0102 | ||
| UpdateTaskIntervalPrivileged | | [[BOSSP:UpdateTaskIntervalPrivileged|UpdateTaskIntervalPrivileged]] | ||
|- | |- | ||
| 0x04500102 | | 0x04500102 | ||
| UpdateTaskCountPrivileged | | [[BOSSP:UpdateTaskCountPrivileged|UpdateTaskCountPrivileged]] | ||
|- | |- | ||
| 0x045100C2 | | 0x045100C2 | ||
| GetTaskIntervalPrivileged | | [[BOSSP:GetTaskIntervalPrivileged|GetTaskIntervalPrivileged]] | ||
|- | |- | ||
| 0x045200C2 | | 0x045200C2 | ||
| GetTaskCountPrivileged | | [[BOSSP:GetTaskCountPrivileged|GetTaskCountPrivileged]] | ||
|- | |- | ||
| 0x045300C2 | | 0x045300C2 | ||
| GetTaskServiceStatusPrivileged | | [[BOSSP:GetTaskServiceStatusPrivileged|GetTaskServiceStatusPrivileged]] | ||
|- | |- | ||
| 0x04540102 | | 0x04540102 | ||
| GetTaskStatePrivileged | | [[BOSSP:GetTaskStatePrivileged|GetTaskStatePrivileged]] | ||
|- | |- | ||
| 0x045500C2 | | 0x045500C2 | ||
| GetTaskResultPrivileged | | [[BOSSP:GetTaskResultPrivileged|GetTaskResultPrivileged]] | ||
|- | |- | ||
| 0x045600C2 | | 0x045600C2 | ||
| GetTaskCommErrorCodePrivileged | | [[BOSSP:GetTaskCommErrorCodePrivileged|GetTaskCommErrorCodePrivileged]] | ||
|- | |- | ||
| 0x04570142 | | 0x04570142 | ||
| GetTaskStatusPrivileged | | [[BOSSP:GetTaskStatusPrivileged|GetTaskStatusPrivileged]] | ||
|- | |- | ||
| 0x04580104 | | 0x04580104 | ||
| SetTaskQueryPrivileged | | [[BOSSP:SetTaskQueryPrivileged|SetTaskQueryPrivileged]] | ||
|} | |} | ||
Line 447: | 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== |