summaryrefslogtreecommitdiff
path: root/arm9/lib/include
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/include')
-rw-r--r--arm9/lib/include/FS_archive.h13
-rw-r--r--arm9/lib/include/FS_file.h7
-rw-r--r--arm9/lib/include/FSi_util.h2
-rw-r--r--arm9/lib/include/MI_byteAccess.h5
4 files changed, 27 insertions, 0 deletions
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_