diff options
Diffstat (limited to 'lib/stack.h')
-rw-r--r-- | lib/stack.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/stack.h b/lib/stack.h new file mode 100644 index 0000000..38fb185 --- /dev/null +++ b/lib/stack.h @@ -0,0 +1,22 @@ +#ifndef STACK_H +#define STACK_H + +#include "def.h" + +#include <stddef.h> + +struct Stack { + size_t size; + size_t capacity; + void* data; +}; + +void stack_init(struct Stack* stack, size_t size); +void stack_push(struct Stack* stack, void* data, size_t len); +void* stack_pop(struct Stack* stack, size_t len); +void stack_free(struct Stack* stack); + +void stack_push_int(struct Stack* stack, int value); +bool stack_pop_int(struct Stack* stack, int* value); + +#endif |