=================================================================== RCS file: /cvs/mandoc/mandoc.h,v retrieving revision 1.70 retrieving revision 1.71 diff -u -p -r1.70 -r1.71 --- mandoc/mandoc.h 2011/04/09 15:29:40 1.70 +++ mandoc/mandoc.h 2011/04/29 22:18:12 1.71 @@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.70 2011/04/09 15:29:40 kristaps Exp $ */ +/* $Id: mandoc.h,v 1.71 2011/04/29 22:18:12 kristaps Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons * @@ -302,10 +302,16 @@ enum mandoc_esc { ESCAPE_NOSPACE /* suppress space if the last on a line */ }; +enum mcharst { + MCHARS_ASCII, /* 7-bit ascii representation */ + MCHARS_HTML /* unicode values */ +}; + typedef void (*mandocmsg)(enum mandocerr, enum mandoclevel, const char *, int, int, const char *); struct mparse; +struct mchars; struct mdoc; struct man; @@ -325,6 +331,15 @@ void *mandoc_malloc(size_t); void *mandoc_realloc(void *, size_t); enum mandoc_esc mandoc_escape(const char **, const char **, int *); + +struct mchars *mchars_init(enum mcharst); +const char *mchars_num2char(const char *, size_t); +const char *mchars_spec2str(struct mchars *, const char *, size_t, size_t *); +int mchars_spec2cp(struct mchars *, const char *, size_t); +const char *mchars_res2str(struct mchars *, const char *, size_t, size_t *); +int mchars_res2cp(struct mchars *, const char *, size_t); +void mchars_free(struct mchars *); + __END_DECLS