// // Created by joey on 12/11/21. // #ifndef AOC_2021_STACK_H #define AOC_2021_STACK_H #include #include typedef enum { STACK_OK, STACK_FULL = -1, STACK_EMPTY = -2, } stack_ret_t; typedef struct { void * data; int top_of_stack; size_t max_data_size; size_t elem_size; } stack_t; stack_ret_t stack_init(stack_t * stack, void * data, size_t max_data_size, size_t element_size); stack_ret_t stack_push(stack_t * stack, void * element); stack_ret_t stack_pop(stack_t * stack, void * store_to); #endif //AOC_2021_STACK_H