In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "/dev/mcp"

From WiiUBrew
Jump to navigation Jump to search
(Added more functions)
(flesh out ioctlvs, most funcs that were marked cpu internal were actually: if(not_arm) check_permissions())
Line 10: Line 10:
 
| 0x01
 
| 0x01
 
| MCP_LaunchCompat
 
| MCP_LaunchCompat
|  
+
| No
|  
+
| 0x0002
 
|  
 
|  
 
|  
 
|  
Line 17: Line 17:
 
| 0x02
 
| 0x02
 
| MCP_CompatLoadAVFile
 
| MCP_CompatLoadAVFile
|  
+
| No
|  
+
| 0x0002
 
|  
 
|  
 
|  
 
|  
Line 117: Line 117:
 
| No
 
| No
 
| 0x0010
 
| 0x0010
 +
|
 +
|
 +
|-
 +
| 0x41
 +
|
 +
| ?
 +
| 0x0008
 
|  
 
|  
 
|  
 
|  
Line 206: Line 213:
 
| 0x72
 
| 0x72
 
| MCP_PatchGetVersion
 
| MCP_PatchGetVersion
| ?
+
| No
| ?
+
| 0x0004
 
|  
 
|  
 
|  
 
|  
Line 220: Line 227:
 
| 0x80
 
| 0x80
 
| MCP_InstallGetInfo
 
| MCP_InstallGetInfo
|  
+
| No
|  
+
| 0x0004
 
|  
 
|  
 
|  
 
|  
Line 248: Line 255:
 
| 0x84
 
| 0x84
 
| MCP_UninstallTitleAsync
 
| MCP_UninstallTitleAsync
 +
| No?
 +
| 0x0008?
 
|  
 
|  
 
|  
 
|  
 +
|-
 +
| 0x85
 +
| MCP_CopyTitleAsync
 +
| No
 +
| 0x0004
 
|  
 
|  
 
|  
 
|  
 
|-
 
|-
| 0x85
+
| 0x86
| MCP_CopyTitleAsync
+
|
 +
| ?
 +
| 0x0004
 +
|
 +
|
 +
|-
 +
| 0x86
 +
|
 +
| No
 +
| 0x0004
 +
|
 +
|
 +
|-
 +
| 0x88
 +
|  
 
| No
 
| No
 
| 0x0004
 
| 0x0004
Line 276: Line 304:
 
| 0x90
 
| 0x90
 
| MCP_UpdateCheckAsync
 
| MCP_UpdateCheckAsync
|  
+
| No
|  
+
| 0x0008
 
|  
 
|  
 
|  
 
|  
Line 297: Line 325:
 
| 0x93
 
| 0x93
 
| MCP_UpdatePrepareUpdaterAsync
 
| MCP_UpdatePrepareUpdaterAsync
|  
+
| No
|  
+
| 0x0008
 
|  
 
|  
 
|  
 
|  
Line 304: Line 332:
 
| 0x95
 
| 0x95
 
| MCP_UpdateGetPathByAppTypeAsync
 
| MCP_UpdateGetPathByAppTypeAsync
|  
+
| No
|  
+
| 0x0004
 
|  
 
|  
 
|  
 
|  
Line 334: Line 362:
 
| ?
 
| ?
 
| ?
 
| ?
 +
|
 +
|
 +
|-
 +
| 0xD0
 +
|
 +
| Yes
 +
|
 +
|
 +
|
 +
|-
 +
| 0xD1
 +
|
 +
| Yes
 +
|
 
|  
 
|  
 
|  
 
|  
Line 339: Line 381:
 
| 0xD4
 
| 0xD4
 
| MCP_GetContentInfos
 
| MCP_GetContentInfos
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 367: Line 409:
 
| 0xDA
 
| 0xDA
 
|  
 
|  
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 388: Line 430:
 
| 0xDE
 
| 0xDE
 
| MCP_GetInstalledContentCount
 
| MCP_GetInstalledContentCount
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 395: Line 437:
 
| 0xDF
 
| 0xDF
 
| MCP_GetInstalledContentIndices
 
| MCP_GetInstalledContentIndices
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 423: Line 465:
 
| 0xFD
 
| 0xFD
 
| MCP_DeleteTitleDoneAsync
 
| MCP_DeleteTitleDoneAsync
|  
+
| No
|  
+
| 0x0008
 
|  
 
|  
 
|  
 
|  
Line 493: Line 535:
 
| 0x150
 
| 0x150
 
| MCP_GetInstalledTitleVersion
 
| MCP_GetInstalledTitleVersion
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 500: Line 542:
 
| 0x151
 
| 0x151
 
|  
 
|  
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  
Line 507: Line 549:
 
| 0x152
 
| 0x152
 
|  
 
|  
| Yes
+
| No
 
| 0x0010
 
| 0x0010
 
|  
 
|  

Revision as of 04:12, 23 April 2016

List of functions (Ioctl/Ioctlv)

Command Function ARM only Permissions Description Notes
0x01 MCP_LaunchCompat No 0x0002
0x02 MCP_CompatLoadAVFile No 0x0002
0x03 MCP_CompatCopyFile No 0x0042
0x04 MCP_CompatGetVersion No 0x0002
0x05 MCP_CompatWagonSourcePrepare
0x06 MCP_CompatWagonSourceComplete
0x07 MCP_CompatWagonDestinationPrepare
0x08 MCP_CompatWagonDestinationComplete
0x09 MCP_CompatWagonDeleteContext
0x0A MCP_CompatWagonCreateContext
0x0B MCP_CompatWagonDeleteArchiveHash
0x0C MCP_CompatExPrepareLaunch
0x0D MCP_CompatExLaunch
0x0E MCP_CompatHaiCreateCompanionFile
0x20 MCP_GetEnvironmentVariable No
0x40 MCP_GetSysProdSettings No 0x0010
0x41 ? 0x0008
0x4C MCP_GetOwnTitleInfo
0x4D MCP_TitleCount ? ?
0x50 MCP_CloseTitle No
0x51 MCP_PrepareTitle No
0x53 MCP_LoadFile No
0x57 MCP_GetFileLength No
0x58 MCP_TitleList ? ?
0x5A MCP_GetLaunchParameters No
0x5B MCP_GetTitleId
0x60 MCP_SetAbsoluteSystemTime No
0x61 MCP_GetAbsoluteSystemTime No
0x63 MCP_SetPowerButtonEnabled No
0x72 MCP_PatchGetVersion No 0x0004
0x7D MCP_InstallGetAocSize2
0x80 MCP_InstallGetInfo No 0x0004
0x81 MCP_InstallTitleAsync No 0x0004
0x82 MCP_InstallGetProgress
0x83 MCP_DeleteTitleAsync No 0x0008
0x84 MCP_UninstallTitleAsync No? 0x0008?
0x85 MCP_CopyTitleAsync No 0x0004
0x86 ? 0x0004
0x86 No 0x0004
0x88 No 0x0004
0x8C MCP_DeleteContentAsync No 0x0080
0x8E MCP_DeleteTicketsAsync
0x90 MCP_UpdateCheckAsync No 0x0008
0x91 MCP_UpdatePerformAsync No 0x0004
0x92 MCP_UpdateGetProgress No 0x0004
0x93 MCP_UpdatePrepareUpdaterAsync No 0x0008
0x95 MCP_UpdateGetPathByAppTypeAsync No 0x0004
0x97 MCP_UpdateClearContextAsync
0x98 MCP_UpdateCheckUpdaterVersion No 0x0008
0xA0 MCP_TitleListUpdateGetNext ? ?
0xA2 MCP_TitleListUpdateCancel ? ?
0xD0 Yes
0xD1 Yes
0xD4 MCP_GetContentInfos No 0x0010
0xD6 MCP_GetTicketViews No 0x0084
0xD7 No 0x0004
0xD9 No 0x0004
0xDA No 0x0010
0xDC MCP_GetTicketItemRights No 0x0084
0xDD Yes
0xDE MCP_GetInstalledContentCount No 0x0010
0xDF MCP_GetInstalledContentIndices No 0x0010
0xF0 MCP_InstallGetSize No 0x0004
0xF1 MCP_InstallSetTargetUsb
0xFB MCP_InstallGetRequiredSize No 0x0004
0xFD MCP_DeleteTitleDoneAsync No 0x0008
0xFE MCP_CopyTitleDoneAsync No 0x0004
0xFF MCP_CopyGetRequiredSize No 0x0004
0x125 MCP_AocGetOpenInfo No 0x0010
0x140 MCP_CopyTitleAbort
0x141 MCP_DeleteTitleAbort
0x142 MCP_InstallTitleAbort
0x143 MCP_InstallCleanupAsync No 0x0004
0x147 MCP_CreateLinkedTitlePackage No 0x0004
0x148 MCP_DeleteLinkedTitlePackage No 0x0004
0x150 MCP_GetInstalledTitleVersion No 0x0010
0x151 No 0x0010
0x152 No 0x0010
0x170 MCP_AppTagSetEnability No
0x177 MCP_AppTagReadWithPos No
0x178 MCP_AppTagWriteWithPos No
0x179 MCP_AppTagTruncateWithPos No