X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/363f15bd4b53bd90b86610b143695762037ae706..e7b2e067cd007f12227af623649a8e9204a352b1:/src/cdecl.h diff --git a/src/cdecl.h b/src/cdecl.h index 9b3e5da..a8e9946 100644 --- a/src/cdecl.h +++ b/src/cdecl.h @@ -96,13 +96,28 @@ struct cdecl { }; struct cdecl *cdecl_parse_decl(const char *declstr); +struct cdecl *cdecl_parse_english(const char *english); void cdecl_free(struct cdecl *decl); size_t cdecl_explain(char *buf, size_t n, struct cdecl *decl); +size_t cdecl_declare(char *buf, size_t n, struct cdecl *decl); static inline int cdecl_spec_kind(struct cdecl_declspec *spec) { return spec->type & ~0xffu; } +/* Error handling. */ +enum { + CDECL_ENOMEM, + CDECL_ENOPARSE, +}; + +struct cdecl_error { + unsigned code; + const char *str; +}; + +const struct cdecl_error *cdecl_get_error(void); + #endif