diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2018-02-01 08:31:01 +0200 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2018-02-12 03:34:18 +0200 |
commit | f54e7e8c2aeb4fafebf0d5bd5570b060462c9ecf (patch) | |
tree | b3bcc7ca21cda7d655bfcc0d9ec26d4a6668f27f /src/escpos/stack.h |
Initial commit
Diffstat (limited to 'src/escpos/stack.h')
-rw-r--r-- | src/escpos/stack.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/escpos/stack.h b/src/escpos/stack.h new file mode 100644 index 0000000..ce79551 --- /dev/null +++ b/src/escpos/stack.h @@ -0,0 +1,41 @@ +#pragma once + +#include "util/membuf.h" +#include <stdint.h> + +struct varbuf { + struct membuf buf; + size_t offset; +}; + +void +varbuf_begin(struct varbuf *var); + +void +varbuf_reset(struct varbuf *var); + +void +varbuf_remove_last(struct varbuf *var); + +struct stack { + struct varbuf var; + + union { + struct escpos_mem str; + uint8_t num; + }; + + enum stack_type { + STACK_STR, + STACK_NUM, + } type; +}; + +void +stack_num(struct stack *stack, const uint8_t base); + +const struct escpos_mem* +stack_get_str(const struct stack *stack); + +uint8_t +stack_get_num(const struct stack *stack); |