2020-12-05 13:08:24 +01:00
|
|
|
#include "stdafx.h"
|
2020-02-07 10:31:33 +01:00
|
|
|
|
|
|
|
|
#include "Emu/Cell/ErrorCodes.h"
|
|
|
|
|
|
|
|
|
|
#include "sys_storage.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LOG_CHANNEL(sys_storage);
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_open(u64 device, u64 mode, vm::ptr<u32> fd, u64 flags)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_open(device=0x%x, mode=0x%x, fd=*0x%x, flags=0x%x)", device, mode, fd, flags);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_close(u32 fd)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_close(fd=0x%x)", fd);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_read(u32 fd, u32 mode, u32 start_sector, u32 num_sectors, vm::ptr<void> bounce_buf, vm::ptr<u32> sectors_read, u64 flags)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_read(fd=0x%x, mode=0x%x, start_sector=0x%x, num_sectors=0x%x, bounce_buf=*0x%x, sectors_read=*0x%x, flags=0x%x)", fd, mode, start_sector, num_sectors, bounce_buf, sectors_read, flags);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_write(u32 fd, u32 mode, u32 start_sector, u32 num_sectors, vm::ptr<void> data, vm::ptr<u32> sectors_wrote, u64 flags)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_write(fd=0x%x, mode=0x%x, start_sector=0x%x, num_sectors=0x%x, data=*=0x%x, sectors_wrote=*0x%x, flags=0x%llx)", fd, mode, start_sector, num_sectors, data, sectors_wrote, flags);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_send_device_command(u32 dev_handle, u64 cmd, vm::ptr<void> in, u64 inlen, vm::ptr<void> out, u64 outlen)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_send_device_command(dev_handle=0x%x, cmd=0x%llx, in=*0x%, inlen=0x%x, out=*0x%x, outlen=0x%x)", dev_handle, cmd, in, inlen, out, outlen);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_async_configure(u32 fd, u32 io_buf, u32 equeue_id, u32 unk)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_async_configure(fd=0x%x, io_buf=0x%x, equeue_id=0x%x, unk=*0x%x)", fd, io_buf, equeue_id, unk);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_async_send_device_command(u32 dev_handle, u64 cmd, vm::ptr<void> in, u64 inlen, vm::ptr<void> out, u64 outlen, u64 unk)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_async_send_device_command(dev_handle=0x%x, cmd=0x%llx, in=*0x%x, inlen=0x%x, out=*0x%x, outlen=0x%x, unk=0x%x)", dev_handle, cmd, in, inlen, out, outlen, unk);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_async_read()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_async_read()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_async_write()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_async_write()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_async_cancel()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_async_cancel()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_get_device_info(u64 device, vm::ptr<StorageDeviceInfo> buffer)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_get_device_info(device=0x%x, buffer=*0x%x)", device, buffer);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_get_device_config(vm::ptr<u32> storages, vm::ptr<u32> devices)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_get_device_config(storages=*0x%x, devices=*0x%x)", storages, devices);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_report_devices(u32 storages, u32 start, u32 devices, vm::ptr<u64> device_ids)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_report_devices(storages=0x%x, start=0x%x, devices=0x%x, device_ids=0x%x)", storages, start, devices, device_ids);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_configure_medium_event(u32 fd, u32 equeue_id, u32 c)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_configure_medium_event(fd=0x%x, equeue_id=0x%x, c=0x%x)", fd, equeue_id, c);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_set_medium_polling_interval()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_set_medium_polling_interval()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_create_region()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_create_region()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_delete_region()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_delete_region()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_execute_device_command(u32 fd, u64 cmd, vm::ptr<char> cmdbuf, u64 cmdbuf_size, vm::ptr<char> databuf, u64 databuf_size, vm::ptr<u32> driver_status)
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_execute_device_command(fd=0x%x, cmd=0x%llx, cmdbuf=*0x%x, cmdbuf_size=0x%llx, databuf=*0x%x, databuf_size=0x%llx, driver_status=*0x%x)", fd, cmd, cmdbuf, cmdbuf_size, databuf, databuf_size, driver_status);
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_check_region_acl()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_check_region_acl()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_set_region_acl()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_set_region_acl()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_get_region_offset()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_get_region_offset()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_code sys_storage_set_emulated_speed()
|
|
|
|
|
{
|
|
|
|
|
sys_storage.todo("sys_storage_set_emulated_speed()");
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|