From 7e3b1445eb11d8f6b8abc8e8331ca7ff4a2406d3 Mon Sep 17 00:00:00 2001 From: shinyquagsire23 Date: Sat, 6 Aug 2016 22:03:30 -0700 Subject: [PATCH] Add MCP_DeviceList and MCP_FullDeviceList --- include/coreinit/mcp.h | 20 ++++++++++++++++++++ rpl/libcoreinit/exports.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/include/coreinit/mcp.h b/include/coreinit/mcp.h index 3579540..d5faac2 100644 --- a/include/coreinit/mcp.h +++ b/include/coreinit/mcp.h @@ -14,6 +14,8 @@ extern "C" { typedef struct MCPInstallProgress MCPInstallProgress; typedef struct MCPInstallInfo MCPInstallInfo; typedef struct MCPInstallTitleInfo MCPInstallTitleInfo; +typedef struct MCPDevice MCPDevice; +typedef struct MCPDeviceList MCPDeviceList; typedef enum MCPInstallTarget { @@ -46,6 +48,18 @@ struct MCPInstallTitleInfo }; CHECK_SIZE(MCPInstallTitleInfo, 0x27F); +struct MCPDevice +{ + char name[0x31B]; +}; +CHECK_SIZE(MCPDevice, 0x31B); + +struct MCPDeviceList +{ + MCPDevice devices[32]; +}; +CHECK_SIZE(MCPDeviceList, 0x31B*32); + int MCP_Open(); @@ -76,6 +90,12 @@ MCP_InstallTitleAbort(int handle); int MCP_UninstallTitleAsync(int handle, char *path, MCPInstallTitleInfo *out); +int +MCP_DeviceList(int handle, int *numDevices, MCPDeviceList *outDevices, uint32_t outBufferSize); + +int +MCP_FullDeviceList(int handle, int *numDevices, MCPDeviceList *outDevices, uint32_t outBufferSize); + #ifdef __cplusplus } #endif diff --git a/rpl/libcoreinit/exports.h b/rpl/libcoreinit/exports.h index df80500..898d9b9 100644 --- a/rpl/libcoreinit/exports.h +++ b/rpl/libcoreinit/exports.h @@ -197,6 +197,8 @@ EXPORT(MCP_InstallTitleAsync); EXPORT(MCP_InstallGetProgress); EXPORT(MCP_InstallTitleAbort); EXPORT(MCP_DeleteTitleAsync); +EXPORT(MCP_DeviceList); +EXPORT(MCP_FullDeviceList); // coreinit/memheap.h EXPORT(MEMDumpHeap);