#include "stdafx.h" #include "Emu/Cell/PPUModule.h" extern logs::channel cellSysutil; enum CellStorageError : u32 { CELL_STORAGEDATA_ERROR_BUSY = 0x8002be01, CELL_STORAGEDATA_ERROR_INTERNAL = 0x8002be02, CELL_STORAGEDATA_ERROR_PARAM = 0x8002be03, CELL_STORAGEDATA_ERROR_ACCESS_ERROR = 0x8002be04, CELL_STORAGEDATA_ERROR_FAILURE = 0x8002be05 }; struct CellStorageDataSetParam { be_t fileSizeMax; vm::bptr title; vm::bptr reserved; }; using CellStorageDataFinishCallback = void(s32 result, vm::ptr userdata); template <> void fmt_class_string::format(std::string& out, u64 arg) { format_enum(out, arg, [](auto error) { switch (error) { STR_CASE(CELL_STORAGEDATA_ERROR_ACCESS_ERROR); STR_CASE(CELL_STORAGEDATA_ERROR_INTERNAL); STR_CASE(CELL_STORAGEDATA_ERROR_PARAM); STR_CASE(CELL_STORAGEDATA_ERROR_FAILURE); STR_CASE(CELL_STORAGEDATA_ERROR_BUSY); } return unknown; }); } error_code cellStorageDataImportMove(u32 version, vm::ptr srcMediaFile, vm::ptr dstHddDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataImportMove(version=0x%x, srcMediaFile=%s, dstHddDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcMediaFile, dstHddDir, param, funcFinish, container, userdata); return CELL_OK; } error_code cellStorageDataImport(u32 version, vm::ptr srcMediaFile, vm::ptr dstHddDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataImport(version=0x%x, srcMediaFile=%s, dstHddDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcMediaFile, dstHddDir, param, funcFinish, container, userdata); return CELL_OK; } error_code cellStorageDataExport(u32 version, vm::ptr srcHddFile, vm::ptr dstMediaDir, vm::ptr param, vm::ptr funcFinish, u32 container, vm::ptr userdata) { cellSysutil.todo("cellStorageDataExport(version=0x%x, srcHddFile=%s, dstMediaDir=%s, param=*0x%x, funcFinish=*0x%x, container=0x%x, userdata=*0x%x)", version, srcHddFile, dstMediaDir, param, funcFinish, container, userdata); return CELL_OK; } void cellSysutil_Storage_init() { REG_FUNC(cellSysutil, cellStorageDataImportMove); REG_FUNC(cellSysutil, cellStorageDataImport); REG_FUNC(cellSysutil, cellStorageDataExport); }