#ifndef APLWC_INTERNAL_H #define APLWC_INTERNAL_H #include #define UNUSED_PARAMETER(arg) ((void)arg) #define RETURN_ERROR(aplwc, rc, msg) do{ \ Aplwc *_p = (aplwc); \ AplwcRc _r = APLWC_##rc; \ if(_p) _p->last_error = _r; \ return _r; \ }while(0) #define NELEM(x) (sizeof(x)/sizeof(x[0])) #include #include #include #include #include typedef struct Memory Memory; struct Memory { uint8_t *data; size_t size; size_t offset; }; struct Aplwc { AplwcRc last_error; char last_error_msg[64]; Memory memory; }; /* errors.c */ const char *rc_to_string(AplwcRc); /* memory.c */ Memory memory_init(uint8_t *, size_t); Aplwc *memory_alloc_aplwc(Memory *); void memory_free_aplwc(Memory *, Aplwc *); #endif /* APLWC_INTERNAL_H */