Use IPC helpers for fs
This commit is contained in:
parent
d074d819ff
commit
5e6440b9b7
@ -3,6 +3,7 @@
|
|||||||
#include <3ds/svc.h>
|
#include <3ds/svc.h>
|
||||||
#include <3ds/srv.h>
|
#include <3ds/srv.h>
|
||||||
#include <3ds/services/fs.h>
|
#include <3ds/services/fs.h>
|
||||||
|
#include <3ds/ipc.h>
|
||||||
|
|
||||||
/*! @internal
|
/*! @internal
|
||||||
*
|
*
|
||||||
@ -105,8 +106,8 @@ FSUSER_Initialize(Handle handle)
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08010002;
|
cmdbuf[0] = IPC_MakeHeader(0x801,0,2); // 0x8010002
|
||||||
cmdbuf[1] = 0x20;
|
cmdbuf[1] = IPC_Desc_CurProcessHandle();
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
@ -165,7 +166,7 @@ FSUSER_OpenFile(Handle *out,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080201C2;
|
cmdbuf[0] = IPC_MakeHeader(0x802,7,2); // 0x80201C2
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
@ -173,7 +174,7 @@ FSUSER_OpenFile(Handle *out,
|
|||||||
cmdbuf[5] = fileLowPath.size;
|
cmdbuf[5] = fileLowPath.size;
|
||||||
cmdbuf[6] = openFlags;
|
cmdbuf[6] = openFlags;
|
||||||
cmdbuf[7] = attributes;
|
cmdbuf[7] = attributes;
|
||||||
cmdbuf[8] = (fileLowPath.size << 14) | 0x2;
|
cmdbuf[8] = IPC_Desc_StaticBuffer(fileLowPath.size,0);
|
||||||
cmdbuf[9] = (u32)fileLowPath.data;
|
cmdbuf[9] = (u32)fileLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -239,7 +240,7 @@ FSUSER_OpenFileDirectly(Handle *out,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[ 0] = 0x08030204;
|
cmdbuf[ 0] = IPC_MakeHeader(0x803,8,4); // 0x8030204
|
||||||
cmdbuf[ 1] = 0;
|
cmdbuf[ 1] = 0;
|
||||||
cmdbuf[ 2] = archive.id;
|
cmdbuf[ 2] = archive.id;
|
||||||
cmdbuf[ 3] = archive.lowPath.type;
|
cmdbuf[ 3] = archive.lowPath.type;
|
||||||
@ -248,9 +249,9 @@ FSUSER_OpenFileDirectly(Handle *out,
|
|||||||
cmdbuf[ 6] = fileLowPath.size;
|
cmdbuf[ 6] = fileLowPath.size;
|
||||||
cmdbuf[ 7] = openFlags;
|
cmdbuf[ 7] = openFlags;
|
||||||
cmdbuf[ 8] = attributes;
|
cmdbuf[ 8] = attributes;
|
||||||
cmdbuf[ 9] = (archive.lowPath.size << 14) | 0x802;
|
cmdbuf[ 9] = IPC_Desc_StaticBuffer(archive.lowPath.size,2);
|
||||||
cmdbuf[10] = (u32)archive.lowPath.data;
|
cmdbuf[10] = (u32)archive.lowPath.data;
|
||||||
cmdbuf[11] = (fileLowPath.size << 14) | 0x2;
|
cmdbuf[11] = IPC_Desc_StaticBuffer(fileLowPath.size,0);
|
||||||
cmdbuf[12] = (u32)fileLowPath.data;
|
cmdbuf[12] = (u32)fileLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -298,13 +299,13 @@ FSUSER_DeleteFile(FS_archive archive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08040142;
|
cmdbuf[0] = IPC_MakeHeader(0x804,5,2); // 0x8040142
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
cmdbuf[4] = fileLowPath.type;
|
cmdbuf[4] = fileLowPath.type;
|
||||||
cmdbuf[5] = fileLowPath.size;
|
cmdbuf[5] = fileLowPath.size;
|
||||||
cmdbuf[6] = (fileLowPath.size << 14) | 0x2;
|
cmdbuf[6] = IPC_Desc_StaticBuffer(fileLowPath.size ,0);
|
||||||
cmdbuf[7] = (u32)fileLowPath.data;
|
cmdbuf[7] = (u32)fileLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -359,7 +360,7 @@ FSUSER_RenameFile(FS_archive srcArchive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08050244;
|
cmdbuf[0] = IPC_MakeHeader(0x805,9,4); // 0x8050244
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = srcArchive.handleLow;
|
cmdbuf[2] = srcArchive.handleLow;
|
||||||
cmdbuf[3] = srcArchive.handleHigh;
|
cmdbuf[3] = srcArchive.handleHigh;
|
||||||
@ -369,9 +370,9 @@ FSUSER_RenameFile(FS_archive srcArchive,
|
|||||||
cmdbuf[7] = destArchive.handleHigh;
|
cmdbuf[7] = destArchive.handleHigh;
|
||||||
cmdbuf[8] = destFileLowPath.type;
|
cmdbuf[8] = destFileLowPath.type;
|
||||||
cmdbuf[9] = destFileLowPath.size;
|
cmdbuf[9] = destFileLowPath.size;
|
||||||
cmdbuf[10] = (srcFileLowPath.size << 14) | 0x402;
|
cmdbuf[10] = IPC_Desc_StaticBuffer(srcFileLowPath.size,1);
|
||||||
cmdbuf[11] = (u32)srcFileLowPath.data;
|
cmdbuf[11] = (u32)srcFileLowPath.data;
|
||||||
cmdbuf[12] = (destFileLowPath.size << 14) | 0x802;
|
cmdbuf[12] = IPC_Desc_StaticBuffer(destFileLowPath.size,2);
|
||||||
cmdbuf[13] = (u32)destFileLowPath.data;
|
cmdbuf[13] = (u32)destFileLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -416,13 +417,13 @@ FSUSER_DeleteDirectory(FS_archive archive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08060142;
|
cmdbuf[0] = IPC_MakeHeader(0x806,5,2); // 0x8060142
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
cmdbuf[4] = dirLowPath.type;
|
cmdbuf[4] = dirLowPath.type;
|
||||||
cmdbuf[5] = dirLowPath.size;
|
cmdbuf[5] = dirLowPath.size;
|
||||||
cmdbuf[6] = (dirLowPath.size << 14) | 0x2;
|
cmdbuf[6] = IPC_Desc_StaticBuffer(dirLowPath.size,0);
|
||||||
cmdbuf[7] = (u32)dirLowPath.data;
|
cmdbuf[7] = (u32)dirLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -467,13 +468,13 @@ FSUSER_DeleteDirectoryRecursively(FS_archive archive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08070142;
|
cmdbuf[0] = IPC_MakeHeader(0x807,5,2); // 0x8070142
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
cmdbuf[4] = dirLowPath.type;
|
cmdbuf[4] = dirLowPath.type;
|
||||||
cmdbuf[5] = dirLowPath.size;
|
cmdbuf[5] = dirLowPath.size;
|
||||||
cmdbuf[6] = (dirLowPath.size << 14) | 0x2;
|
cmdbuf[6] = IPC_Desc_StaticBuffer(dirLowPath.size,0);
|
||||||
cmdbuf[7] = (u32)dirLowPath.data;
|
cmdbuf[7] = (u32)dirLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -523,7 +524,7 @@ FSUSER_CreateFile(FS_archive archive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08080202;
|
cmdbuf[0] = IPC_MakeHeader(0x808,8,2); // 0x8080202
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
@ -532,7 +533,7 @@ FSUSER_CreateFile(FS_archive archive,
|
|||||||
cmdbuf[6] = 0;
|
cmdbuf[6] = 0;
|
||||||
cmdbuf[7] = fileSize;
|
cmdbuf[7] = fileSize;
|
||||||
cmdbuf[8] = 0;
|
cmdbuf[8] = 0;
|
||||||
cmdbuf[9] = (fileLowPath.size << 14) | 0x2;
|
cmdbuf[9] = IPC_Desc_StaticBuffer(fileLowPath.size,0);
|
||||||
cmdbuf[10] = (u32)fileLowPath.data;
|
cmdbuf[10] = (u32)fileLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -578,14 +579,14 @@ FSUSER_CreateDirectory(FS_archive archive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08090182;
|
cmdbuf[0] = IPC_MakeHeader(0x809,6,2); // 0x8090182
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = archive.handleLow;
|
cmdbuf[2] = archive.handleLow;
|
||||||
cmdbuf[3] = archive.handleHigh;
|
cmdbuf[3] = archive.handleHigh;
|
||||||
cmdbuf[4] = dirLowPath.type;
|
cmdbuf[4] = dirLowPath.type;
|
||||||
cmdbuf[5] = dirLowPath.size;
|
cmdbuf[5] = dirLowPath.size;
|
||||||
cmdbuf[6] = 0;
|
cmdbuf[6] = 0;
|
||||||
cmdbuf[7] = (dirLowPath.size << 14) | 0x2;
|
cmdbuf[7] = IPC_Desc_StaticBuffer(dirLowPath.size,0);
|
||||||
cmdbuf[8] = (u32)dirLowPath.data;
|
cmdbuf[8] = (u32)dirLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -640,7 +641,7 @@ FSUSER_RenameDirectory(FS_archive srcArchive,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080A0244;
|
cmdbuf[0] = IPC_MakeHeader(0x80A,9,4); // 0x80A0244
|
||||||
cmdbuf[1] = 0;
|
cmdbuf[1] = 0;
|
||||||
cmdbuf[2] = srcArchive.handleLow;
|
cmdbuf[2] = srcArchive.handleLow;
|
||||||
cmdbuf[3] = srcArchive.handleHigh;
|
cmdbuf[3] = srcArchive.handleHigh;
|
||||||
@ -650,9 +651,9 @@ FSUSER_RenameDirectory(FS_archive srcArchive,
|
|||||||
cmdbuf[7] = destArchive.handleHigh;
|
cmdbuf[7] = destArchive.handleHigh;
|
||||||
cmdbuf[8] = destDirLowPath.type;
|
cmdbuf[8] = destDirLowPath.type;
|
||||||
cmdbuf[9] = destDirLowPath.size;
|
cmdbuf[9] = destDirLowPath.size;
|
||||||
cmdbuf[10] = (srcDirLowPath.size << 14) | 0x402;
|
cmdbuf[10] = IPC_Desc_StaticBuffer(srcDirLowPath.size,1);
|
||||||
cmdbuf[11] = (u32)srcDirLowPath.data;
|
cmdbuf[11] = (u32)srcDirLowPath.data;
|
||||||
cmdbuf[12] = (destDirLowPath.size << 14) | 0x802;
|
cmdbuf[12] = IPC_Desc_StaticBuffer(destDirLowPath.size,2);
|
||||||
cmdbuf[13] = (u32)destDirLowPath.data;
|
cmdbuf[13] = (u32)destDirLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -699,12 +700,12 @@ FSUSER_OpenDirectory(Handle *out,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080B0102;
|
cmdbuf[0] = IPC_MakeHeader(0x80B,4,2); // 0x80B0102
|
||||||
cmdbuf[1] = archive.handleLow;
|
cmdbuf[1] = archive.handleLow;
|
||||||
cmdbuf[2] = archive.handleHigh;
|
cmdbuf[2] = archive.handleHigh;
|
||||||
cmdbuf[3] = dirLowPath.type;
|
cmdbuf[3] = dirLowPath.type;
|
||||||
cmdbuf[4] = dirLowPath.size;
|
cmdbuf[4] = dirLowPath.size;
|
||||||
cmdbuf[5] = (dirLowPath.size << 14) | 0x2;
|
cmdbuf[5] = IPC_Desc_StaticBuffer(dirLowPath.size,0);
|
||||||
cmdbuf[6] = (u32)dirLowPath.data;
|
cmdbuf[6] = (u32)dirLowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -753,11 +754,11 @@ FSUSER_OpenArchive(FS_archive *archive)
|
|||||||
|
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080C00C2;
|
cmdbuf[0] = IPC_MakeHeader(0x80C,3,2); // 0x80C00C2
|
||||||
cmdbuf[1] = archive->id;
|
cmdbuf[1] = archive->id;
|
||||||
cmdbuf[2] = archive->lowPath.type;
|
cmdbuf[2] = archive->lowPath.type;
|
||||||
cmdbuf[3] = archive->lowPath.size;
|
cmdbuf[3] = archive->lowPath.size;
|
||||||
cmdbuf[4] = (archive->lowPath.size << 14) | 0x2;
|
cmdbuf[4] = IPC_Desc_StaticBuffer(archive->lowPath.size,0);
|
||||||
cmdbuf[5] = (u32)archive->lowPath.data;
|
cmdbuf[5] = (u32)archive->lowPath.data;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -802,7 +803,7 @@ FSUSER_CloseArchive(FS_archive *archive)
|
|||||||
|
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080E0080;
|
cmdbuf[0] = IPC_MakeHeader(0x80E,2,0); // 0x80E0080
|
||||||
cmdbuf[1] = archive->handleLow;
|
cmdbuf[1] = archive->handleLow;
|
||||||
cmdbuf[2] = archive->handleHigh;
|
cmdbuf[2] = archive->handleHigh;
|
||||||
|
|
||||||
@ -849,7 +850,7 @@ FSUSER_GetSdmcArchiveResource(u32 *sectorSize,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08140000;
|
cmdbuf[0] = IPC_MakeHeader(0x814,0,0); // 0x8140000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(fsuHandle)))
|
if((ret = svcSendSyncRequest(fsuHandle)))
|
||||||
@ -906,7 +907,7 @@ FSUSER_GetNandArchiveResource(u32 *sectorSize,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08150000;
|
cmdbuf[0] = IPC_MakeHeader(0x815,0,0); // 0x8150000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(fsuHandle)))
|
if((ret = svcSendSyncRequest(fsuHandle)))
|
||||||
@ -954,7 +955,7 @@ FSUSER_IsSdmcDetected(u8 *detected)
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08170000;
|
cmdbuf[0] = IPC_MakeHeader(0x817,0,0); // 0x8170000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(fsuHandle)))
|
if((ret = svcSendSyncRequest(fsuHandle)))
|
||||||
@ -992,7 +993,7 @@ FSUSER_GetMediaType(u8* mediatype)
|
|||||||
{
|
{
|
||||||
u32* cmdbuf = getThreadCommandBuffer();
|
u32* cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08680000;
|
cmdbuf[0] = IPC_MakeHeader(0x868,0,0); // 0x8680000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(fsuHandle)))
|
if((ret = svcSendSyncRequest(fsuHandle)))
|
||||||
@ -1031,7 +1032,7 @@ FSUSER_IsSdmcWritable(u8 *writable)
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08180000;
|
cmdbuf[0] = IPC_MakeHeader(0x818,0,0); // 0x8180000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(fsuHandle)))
|
if((ret = svcSendSyncRequest(fsuHandle)))
|
||||||
@ -1069,7 +1070,7 @@ FSFILE_Close(Handle handle)
|
|||||||
{
|
{
|
||||||
u32* cmdbuf = getThreadCommandBuffer();
|
u32* cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08080000;
|
cmdbuf[0] = IPC_MakeHeader(0x808,0,0); // 0x8080000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
@ -1121,11 +1122,11 @@ FSFILE_Read(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x080200C2;
|
cmdbuf[0] = IPC_MakeHeader(0x802,3,2); // 0x80200C2
|
||||||
cmdbuf[1] = (u32)offset;
|
cmdbuf[1] = (u32)offset;
|
||||||
cmdbuf[2] = (u32)(offset >> 32);
|
cmdbuf[2] = (u32)(offset >> 32);
|
||||||
cmdbuf[3] = size;
|
cmdbuf[3] = size;
|
||||||
cmdbuf[4] = (size << 4) | 0xC;
|
cmdbuf[4] = IPC_Desc_Buffer(size,IPC_BUFFER_W);
|
||||||
cmdbuf[5] = (u32)buffer;
|
cmdbuf[5] = (u32)buffer;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -1189,12 +1190,12 @@ FSFILE_Write(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08030102;
|
cmdbuf[0] = IPC_MakeHeader(0x803,4,2); // 0x8030102
|
||||||
cmdbuf[1] = (u32)offset;
|
cmdbuf[1] = (u32)offset;
|
||||||
cmdbuf[2] = (u32)(offset >> 32);
|
cmdbuf[2] = (u32)(offset >> 32);
|
||||||
cmdbuf[3] = size;
|
cmdbuf[3] = size;
|
||||||
cmdbuf[4] = flushFlags;
|
cmdbuf[4] = flushFlags;
|
||||||
cmdbuf[5] = (size << 4) | 0xA;
|
cmdbuf[5] = IPC_Desc_Buffer(size,IPC_BUFFER_R);
|
||||||
cmdbuf[6] = (u32)buffer;
|
cmdbuf[6] = (u32)buffer;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -1237,7 +1238,7 @@ FSFILE_GetSize(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08040000;
|
cmdbuf[0] = IPC_MakeHeader(0x804,0,0); // 0x8040000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
@ -1279,7 +1280,7 @@ FSFILE_SetSize(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08050080;
|
cmdbuf[0] = IPC_MakeHeader(0x805,2,0); // 0x8050080
|
||||||
cmdbuf[1] = (u32)size;
|
cmdbuf[1] = (u32)size;
|
||||||
cmdbuf[2] = (u32)(size >> 32);
|
cmdbuf[2] = (u32)(size >> 32);
|
||||||
|
|
||||||
@ -1320,7 +1321,7 @@ FSFILE_GetAttributes(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08060000;
|
cmdbuf[0] = IPC_MakeHeader(0x806,0,0); // 0x8060000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
@ -1361,7 +1362,7 @@ FSFILE_SetAttributes(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08070040;
|
cmdbuf[0] = IPC_MakeHeader(0x807,1,0); // 0x8070040
|
||||||
cmdbuf[1] = attributes;
|
cmdbuf[1] = attributes;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -1397,7 +1398,7 @@ FSFILE_Flush(Handle handle)
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08090000;
|
cmdbuf[0] = IPC_MakeHeader(0x809,0,0); // 0x8090000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
@ -1442,9 +1443,9 @@ FSDIR_Read(Handle handle,
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08010042;
|
cmdbuf[0] = IPC_MakeHeader(0x801,1,2); // 0x8010042
|
||||||
cmdbuf[1] = entryCount;
|
cmdbuf[1] = entryCount;
|
||||||
cmdbuf[2] = ((entryCount*0x228) << 4) | 0xC;
|
cmdbuf[2] = IPC_Desc_Buffer(entryCount*0x228,IPC_BUFFER_W);
|
||||||
cmdbuf[3] = (u32)buffer;
|
cmdbuf[3] = (u32)buffer;
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
@ -1483,7 +1484,7 @@ FSDIR_Close(Handle handle)
|
|||||||
{
|
{
|
||||||
u32 *cmdbuf = getThreadCommandBuffer();
|
u32 *cmdbuf = getThreadCommandBuffer();
|
||||||
|
|
||||||
cmdbuf[0] = 0x08020000;
|
cmdbuf[0] = IPC_MakeHeader(0x802,0,0); // 0x8020000
|
||||||
|
|
||||||
Result ret = 0;
|
Result ret = 0;
|
||||||
if((ret = svcSendSyncRequest(handle)))
|
if((ret = svcSendSyncRequest(handle)))
|
||||||
|
Loading…
Reference in New Issue
Block a user