added a char stack implementation for later use
[smdp.git] / include / cstack.h
1 #if !defined( CSTACK_H )
2 #define CSTACK_H
3
4 typedef struct _cstack_t {
5     char *content;
6     size_t alloc;
7     size_t size;
8     int head;
9     void (*push)(struct _cstack_t *self, char c);
10     char (*pop)(struct _cstack_t *self);
11     char (*top)(struct _cstack_t *self);
12     int (*empty)(struct _cstack_t *self);
13     void (*delete)(struct _cstack_t *self);
14 } cstack_t;
15
16 void cstack_push(cstack_t *self, char c);
17 char cstack_pop(cstack_t *self);
18 char cstack_top(cstack_t *self);
19 int cstack_empty(cstack_t *self);
20 void cstack_delete(cstack_t *self);
21
22 #endif // !defined( CSTACK_H )