summaryrefslogtreecommitdiff
path: root/include/stackcheck.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/stackcheck.h')
-rw-r--r--include/stackcheck.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/stackcheck.h b/include/stackcheck.h
new file mode 100644
index 000000000..33b4a674c
--- /dev/null
+++ b/include/stackcheck.h
@@ -0,0 +1,27 @@
+#ifndef STACKCHECK_H
+#define STACKCHECK_H
+
+#include "ultra64.h"
+
+typedef enum StackStatus {
+ /* 0 */ STACK_STATUS_OK,
+ /* 1 */ STACK_STATUS_WARNING,
+ /* 2 */ STACK_STATUS_OVERFLOW
+} StackStatus;
+
+typedef struct StackEntry {
+ /* 0x00 */ struct StackEntry* next;
+ /* 0x04 */ struct StackEntry* prev;
+ /* 0x08 */ u32* head;
+ /* 0x0C */ u32* tail;
+ /* 0x10 */ u32 initValue;
+ /* 0x14 */ s32 minSpace;
+ /* 0x18 */ const char* name;
+} StackEntry;
+
+void StackCheck_Init(StackEntry* entry, void* stackBottom, void* stackTop, u32 initValue, s32 minSpace,
+ const char* name);
+void StackCheck_Cleanup(StackEntry* entry);
+u32 StackCheck_Check(StackEntry* entry);
+
+#endif