diff options
Diffstat (limited to 'arm9/lib/src/FS_archive.c')
-rw-r--r-- | arm9/lib/src/FS_archive.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/arm9/lib/src/FS_archive.c b/arm9/lib/src/FS_archive.c index 44a4e451..5928c90b 100644 --- a/arm9/lib/src/FS_archive.c +++ b/arm9/lib/src/FS_archive.c @@ -4,11 +4,12 @@ #include "FSi_util.h" #include "MI_memory.h" #include "MI_byteAccess.h" +#include "OS_printf.h" FSArchive * arc_list = NULL; FSDirPos current_dir_pos; -u32 FSi_GetPackedName(const char * name, int name_len) +ARM_FUNC u32 FSi_GetPackedName(const char * name, int name_len) { u32 ret = 0; if (name_len <= FS_ARCHIVE_NAME_LEN_MAX) @@ -30,19 +31,19 @@ u32 FSi_GetPackedName(const char * name, int name_len) return ret; } -FSResult FSi_ReadMemCallback(struct FSArchive * p_arc, void * dest, u32 pos, u32 size) +ARM_FUNC FSResult FSi_ReadMemCallback(struct FSArchive * p_arc, void * dest, u32 pos, u32 size) { MI_CpuCopy8((const void *)FS_GetArchiveOffset(p_arc, pos), dest, size); return FS_RESULT_SUCCESS; } -FSResult FSi_WriteMemCallback(struct FSArchive * p_arc, const void * src, u32 pos, u32 size) +ARM_FUNC FSResult FSi_WriteMemCallback(struct FSArchive * p_arc, const void * src, u32 pos, u32 size) { MI_CpuCopy8(src, (void *)FS_GetArchiveOffset(p_arc, pos), size); return FS_RESULT_SUCCESS; } -FSResult FSi_ReadMemoryCore(FSArchive * p_arc, void * dest, u32 pos, u32 size) +ARM_FUNC FSResult FSi_ReadMemoryCore(FSArchive * p_arc, void * dest, u32 pos, u32 size) { MI_CpuCopy8((const void *)pos, dest, size); return FS_RESULT_SUCCESS; @@ -115,7 +116,7 @@ FSFile * FSi_NextCommand(FSArchive * p_arc) return NULL; } -void FSi_ExecuteAsyncCommand(FSFile * p_file) +ARM_FUNC void FSi_ExecuteAsyncCommand(FSFile * p_file) { FSArchive *const p_arc = p_file->arc; while (p_file) @@ -136,7 +137,7 @@ void FSi_ExecuteAsyncCommand(FSFile * p_file) } } -BOOL FSi_ExecuteSyncCommand(FSFile * p_file) +ARM_FUNC BOOL FSi_ExecuteSyncCommand(FSFile * p_file) { FSFile * p_target; FSResult ret = FSi_TranslateCommand(p_file, p_file->command); @@ -147,7 +148,7 @@ BOOL FSi_ExecuteSyncCommand(FSFile * p_file) return FS_IsSucceeded(p_file); } -BOOL FSi_SendCommand(FSFile * p_file, FSCommandType command) +ARM_FUNC BOOL FSi_SendCommand(FSFile * p_file, FSCommandType command) { FSArchive * p_arc = p_file->arc; const int bit = 1 << command; @@ -198,7 +199,7 @@ BOOL FSi_SendCommand(FSFile * p_file, FSCommandType command) return FSi_ExecuteSyncCommand(p_file); } -void FS_InitArchive(FSArchive * p_arc) +ARM_FUNC void FS_InitArchive(FSArchive * p_arc) { MI_CpuClear8(p_arc, sizeof(FSArchive)); p_arc->sync_q.head = p_arc->sync_q.tail = NULL; @@ -216,7 +217,7 @@ FSArchive * const FS_FindArchive(const char * name, int name_len) return p_arc; } -BOOL FS_RegisterArchiveName(FSArchive * p_arc, const char * name, int name_len) +ARM_FUNC BOOL FS_RegisterArchiveName(FSArchive * p_arc, const char * name, int name_len) { BOOL ret = FALSE; OSIntrMode bak_psr = OS_DisableInterrupts(); @@ -246,7 +247,7 @@ BOOL FS_RegisterArchiveName(FSArchive * p_arc, const char * name, int name_len) return ret; } -void FS_ReleaseArchiveName(FSArchive * p_arc) +ARM_FUNC void FS_ReleaseArchiveName(FSArchive * p_arc) { if (p_arc->name.pack) { @@ -269,7 +270,7 @@ void FS_ReleaseArchiveName(FSArchive * p_arc) } } -BOOL FS_LoadArchive(FSArchive * p_arc, u32 base, u32 fat, u32 fat_size, u32 fnt, u32 fnt_size, FS_ARCHIVE_READ_FUNC read_func, FS_ARCHIVE_WRITE_FUNC write_func) +ARM_FUNC BOOL FS_LoadArchive(FSArchive * p_arc, u32 base, u32 fat, u32 fat_size, u32 fnt, u32 fnt_size, FS_ARCHIVE_READ_FUNC read_func, FS_ARCHIVE_WRITE_FUNC write_func) { p_arc->base = base; p_arc->fat_size = fat_size; @@ -284,7 +285,7 @@ BOOL FS_LoadArchive(FSArchive * p_arc, u32 base, u32 fat, u32 fat_size, u32 fnt, return TRUE; } -BOOL FS_UnloadArchive(FSArchive * p_arc) +ARM_FUNC BOOL FS_UnloadArchive(FSArchive * p_arc) { OSIntrMode bak_psr = OS_DisableInterrupts(); if (FS_IsArchiveLoaded(p_arc)) @@ -318,7 +319,7 @@ BOOL FS_UnloadArchive(FSArchive * p_arc) return TRUE; } -u32 FS_LoadArchiveTables(FSArchive *p_arc, void *p_mem, u32 max_size) +ARM_FUNC u32 FS_LoadArchiveTables(FSArchive *p_arc, void *p_mem, u32 max_size) { u32 total_size = ALIGN_BYTE(p_arc->fat_size + p_arc->fnt_size + 32, 32); if (total_size <= max_size) @@ -373,7 +374,7 @@ void * FS_UnloadArchiveTables(FSArchive * p_arc) return ret; } -BOOL FS_SuspendArchive(FSArchive * p_arc) +ARM_FUNC BOOL FS_SuspendArchive(FSArchive * p_arc) { OSIntrMode bak_psr = OS_DisableInterrupts(); const BOOL bak_stat = !FS_IsArchiveSuspended(p_arc); @@ -395,7 +396,7 @@ BOOL FS_SuspendArchive(FSArchive * p_arc) return bak_stat; } -BOOL FS_ResumeArchive(FSArchive * p_arc) +ARM_FUNC BOOL FS_ResumeArchive(FSArchive * p_arc) { FSFile * p_target = NULL; OSIntrMode bak_psr = OS_DisableInterrupts(); @@ -411,7 +412,7 @@ BOOL FS_ResumeArchive(FSArchive * p_arc) return bak_stat; } -void FS_SetArchiveProc(struct FSArchive * p_arc, FS_ARCHIVE_PROC_FUNC proc, u32 flags) +ARM_FUNC void FS_SetArchiveProc(struct FSArchive * p_arc, FS_ARCHIVE_PROC_FUNC proc, u32 flags) { if (!flags) proc = NULL; @@ -421,7 +422,7 @@ void FS_SetArchiveProc(struct FSArchive * p_arc, FS_ARCHIVE_PROC_FUNC proc, u32 p_arc->proc_flag = flags; } -void FS_NotifyArchiveAsyncEnd(FSArchive *p_arc, FSResult ret) +ARM_FUNC void FS_NotifyArchiveAsyncEnd(FSArchive *p_arc, FSResult ret) { if (FSi_IsArchiveAsync(p_arc)) { |