
When "load external firms and modules" is enabled, Loader will load the sysmodule from /luma/sysmodule/<titleid>.cxi (all uppercase, and with the N3DS title ID bit if relevant) and skip patching. Note that this is a title ID here, not a process name (unlike what we do for KIPs). While this is aimed at enabling people to easily load replacements for official sysmodules, you can load your own custom sysmodules that don't correspond to anything installed. You can use gdb to do so: set remote exec-file <tid> run
24 lines
761 B
C
24 lines
761 B
C
#pragma once
|
|
|
|
#include <3ds/services/fs.h>
|
|
|
|
#define PATH_MAX 255
|
|
|
|
typedef struct
|
|
{
|
|
Handle handle;
|
|
u64 pos;
|
|
u64 size;
|
|
} IFile;
|
|
|
|
Result IFile_Open(IFile *file, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 flags);
|
|
Result IFile_OpenFromArchive(IFile *file, FS_Archive archive, FS_Path filePath, u32 flags);
|
|
Result IFile_Close(IFile *file);
|
|
Result IFile_GetSize(IFile *file, u64 *size);
|
|
Result IFile_SetSize(IFile *file, u64 size);
|
|
Result IFile_Read(IFile *file, u64 *total, void *buffer, u32 len);
|
|
Result IFile_Write(IFile *file, u64 *total, const void *buffer, u32 len, u32 flags);
|
|
|
|
Result IFile_ReadAt(IFile *file, u64 *total, void *buffer, u32 offset, u32 len);
|
|
u32 IFile_Read2(IFile *file, void *buffer, u32 size, u32 offset);
|