X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=include%2Fcstack.h;fp=include%2Fcstack.h;h=edb98475d1930b16d6a75760c4020f352f56bb02;hb=584bba9e9357ff7adc0fcedf75fb098c359abb33;hp=0000000000000000000000000000000000000000;hpb=d292db7e4bce9bbe8f379757d07a902502dcfb22;p=smdp.git diff --git a/include/cstack.h b/include/cstack.h new file mode 100644 index 0000000..edb9847 --- /dev/null +++ b/include/cstack.h @@ -0,0 +1,22 @@ +#if !defined( CSTACK_H ) +#define CSTACK_H + +typedef struct _cstack_t { + char *content; + size_t alloc; + size_t size; + int head; + void (*push)(struct _cstack_t *self, char c); + char (*pop)(struct _cstack_t *self); + char (*top)(struct _cstack_t *self); + int (*empty)(struct _cstack_t *self); + void (*delete)(struct _cstack_t *self); +} cstack_t; + +void cstack_push(cstack_t *self, char c); +char cstack_pop(cstack_t *self); +char cstack_top(cstack_t *self); +int cstack_empty(cstack_t *self); +void cstack_delete(cstack_t *self); + +#endif // !defined( CSTACK_H ) \ No newline at end of file