#ifndef APLWC_H #define APLWC_H #include #include enum aplwc_rc { APLWC_OK, APLWC_OUT_OF_MEMORY, APLWC_NOT_YET_IMPLEMENTED, APLWC_INVALID_UTF8, APLWC_INVALID_SYNTAX, APLWC_RC_LAST = APLWC_INVALID_SYNTAX }; struct aplwc; struct aplwc_line; struct aplwc_value; enum aplwc_rc aplwc_new(struct aplwc **, uint8_t *, size_t); void aplwc_destroy(struct aplwc *); const char *aplwc_errstr_rc(enum aplwc_rc); const char *aplwc_errstr(struct aplwc *); enum aplwc_rc aplwc_last_error(struct aplwc *); struct aplwc_line *aplwc_read(struct aplwc *, const char *); void aplwc_free_line(struct aplwc_line *); struct aplwc_value *aplwc_eval(struct aplwc_line *); void aplwc_free_value(struct aplwc_value *); #define APLWC_MIN_MEM (64) #endif /* APLWC_H */