-size_t cdecl__emit(char **dst, size_t *dstlen, const char *src);
-size_t cdecl__emit_specs(char **dst, size_t *dstlen,
- struct cdecl_declspec *s,
- unsigned mask);
+size_t cdecl__advance(struct output_state *dst, size_t amount);
+size_t cdecl__emit(struct output_state *dst, const char *src);
+
+const char *cdecl__emit_specs(struct output_state *dst,
+ struct cdecl_declspec *s,
+ unsigned mask);