aboutsummaryrefslogtreecommitdiff
path: root/position_stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'position_stack.h')
-rw-r--r--position_stack.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/position_stack.h b/position_stack.h
new file mode 100644
index 0000000..fe93e8c
--- /dev/null
+++ b/position_stack.h
@@ -0,0 +1,28 @@
+#ifndef POSITION_STACK_H
+#define POSITION_STACK_H
+
+#define STACK_ERR_OVERFLOW 0xFFF01
+#define STACK_ERR_UNDERFLOW 0xFFF02
+
+struct Position
+{
+ int x;
+ int y;
+};
+
+struct PositionStack
+{
+ int max_size;
+ int top;
+ struct Position *items;
+};
+
+struct PositionStack *create_pos_stack(int capacity);
+
+void pos_stack_push(struct PositionStack *stack_pt, struct Position pos);
+
+struct Position pos_stack_peek(struct PositionStack *stack_pt);
+
+struct Position pos_stack_pop(struct PositionStack *stack_pt);
+
+#endif \ No newline at end of file