From 1966623ed0516e84d8129e8f22dba502b018bcc3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 8 May 2020 08:35:17 -0400 Subject: Finish FS_command_default.c --- arm9/lib/include/FS_archive.h | 13 +++++++++++++ arm9/lib/include/FS_file.h | 7 +++++++ arm9/lib/include/FSi_util.h | 2 ++ arm9/lib/include/MI_byteAccess.h | 5 +++++ 4 files changed, 27 insertions(+) (limited to 'arm9/lib/include') diff --git a/arm9/lib/include/FS_archive.h b/arm9/lib/include/FS_archive.h index 3bbbbff7..d30081d7 100644 --- a/arm9/lib/include/FS_archive.h +++ b/arm9/lib/include/FS_archive.h @@ -105,6 +105,19 @@ typedef struct } FSFileLink; +typedef struct +{ + u32 start; + u16 index; + u16 parent; +} FSArchiveFNT; + +typedef struct +{ + u32 top; + u32 bottom; +} FSArchiveFAT; + typedef struct FSArchive { union diff --git a/arm9/lib/include/FS_file.h b/arm9/lib/include/FS_file.h index fdf6c4e2..55825c61 100644 --- a/arm9/lib/include/FS_file.h +++ b/arm9/lib/include/FS_file.h @@ -13,6 +13,8 @@ #define FS_FILE_STATUS_IS_DIR 0x00000020 #define FS_FILE_STATUS_OPERATING 0x00000040 +#define FS_FILE_NAME_MAX 127 + typedef enum FSSeekFileMode { FS_SEEK_SET = 0, @@ -210,4 +212,9 @@ static inline BOOL FS_IsSucceeded(volatile const FSFile * p_file) return (p_file->error == FS_RESULT_SUCCESS) ? TRUE : FALSE; } +static inline BOOL FS_IsDir(volatile const FSFile * p_file) +{ + return (p_file->stat & FS_FILE_STATUS_IS_DIR) ? TRUE : FALSE; +} + #endif //NITRO_FS_FILE_H_ diff --git a/arm9/lib/include/FSi_util.h b/arm9/lib/include/FSi_util.h index 1f6faf6f..6e96681e 100644 --- a/arm9/lib/include/FSi_util.h +++ b/arm9/lib/include/FSi_util.h @@ -5,6 +5,8 @@ #define ALIGN_BYTE(n, a) (((u32)(n) + ALIGN_MASK(a)) & ~ALIGN_MASK(a)) +#define BIT_MASK(a) ((u32)((1 << (a)) - 1)) + static inline BOOL FSi_IsSlash(u32 c) { return (c == '/') || (c == '\\'); diff --git a/arm9/lib/include/MI_byteAccess.h b/arm9/lib/include/MI_byteAccess.h index 10dae4c9..cad4d518 100644 --- a/arm9/lib/include/MI_byteAccess.h +++ b/arm9/lib/include/MI_byteAccess.h @@ -6,4 +6,9 @@ static inline u8 MI_ReadByte(const void *address) return *(u8 *)address; } +static inline void MI_WriteByte(void *address, u8 value) +{ + *(u8 *)address = value; +} + #endif //NITRO_MI_BYTEACCESS_H_ -- cgit v1.2.3