rizin/librz/include/rz_util/rz_stack.h
Dean e7f85fd409
Clean up headers (#2719)
* Remove duplicate declarations
* Remove undefined functions
2022-06-22 07:30:50 +08:00

32 lines
645 B
C

#ifndef RZ_STACK_H
#define RZ_STACK_H
#include <rz_types.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*RzStackFree)(void *ptr);
typedef struct rz_stack_t {
void **elems;
unsigned int n_elems;
int top;
RzStackFree free;
} RzStack;
RZ_API RzStack *rz_stack_new(ut32 n);
RZ_API void rz_stack_free(RzStack *s);
RZ_API bool rz_stack_is_empty(RzStack *s);
RZ_API RzStack *rz_stack_newf(ut32 n, RzStackFree f);
RZ_API bool rz_stack_push(RzStack *s, void *el);
RZ_API void *rz_stack_pop(RzStack *s);
RZ_API size_t rz_stack_size(RzStack *s);
RZ_API void *rz_stack_peek(RzStack *s);
#ifdef __cplusplus
}
#endif
#endif // RZ_STACK_H