summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/nitro/OS_alloc_shared.h40
-rw-r--r--include/nitro/consts_shared.h5
2 files changed, 45 insertions, 0 deletions
diff --git a/include/nitro/OS_alloc_shared.h b/include/nitro/OS_alloc_shared.h
new file mode 100644
index 00000000..cf92032a
--- /dev/null
+++ b/include/nitro/OS_alloc_shared.h
@@ -0,0 +1,40 @@
+/*
+ * NOTE:
+ * This file is shared between ARM9 and ARM7
+ * DO NOT PUT PROC SPECIFIC CODE IN HERE
+ * Thank You!
+ */
+
+/*
+ * DO NOT INCLUDE THIS FILE DIRECTLY
+ * Include OS_alloc.h from the specific proc's lib
+ */
+
+#ifndef POKEDIAMOND_OS_ALLOC_SHARED_H
+#define POKEDIAMOND_OS_ALLOC_SHARED_H
+
+typedef s32 OSHeapHandle;
+
+typedef struct Cell Cell;
+
+struct Cell {
+ Cell* prev;
+ Cell* next;
+ long size;
+};
+
+typedef struct {
+ long size;
+ Cell *free;
+ Cell *allocated;
+} HeapDesc;
+
+typedef struct {
+ volatile OSHeapHandle currentHeap;
+ int numHeaps;
+ void* arenaStart;
+ void* arenaEnd;
+ HeapDesc* heapArray;
+} OSHeapInfo;
+
+#endif //POKEDIAMOND_OS_ALLOC_SHARED_H
diff --git a/include/nitro/consts_shared.h b/include/nitro/consts_shared.h
index a7fd9dcf..151212d1 100644
--- a/include/nitro/consts_shared.h
+++ b/include/nitro/consts_shared.h
@@ -24,6 +24,11 @@
#define HW_PSR_DISABLE_IRQ 0x80 // Disable IRQ
#define HW_PSR_DISABLE_IRQ_FIQ 0xc0 // Disable FIQ and IRQ
+#define OSi_ROUND(n, a) (((u32) (n) + (a) - 1) & ~((a) - 1))
+#define OSi_TRUNC(n, a) (((u32) (n)) & ~((a) - 1))
+#define OSi_InRange(targ, a, b) ((u32)(a) <= (u32)(targ) && (u32)(targ) < (u32)(b))
+#define OSi_OFFSET(n, a) (((u32) (n)) & ((a) - 1))
+
#define OSi_GetArenaInfo() (*(OSArenaInfo*)HW_ARENA_INFO_BUF)
#endif //POKEDIAMOND_CONSTS_SHARED_H