=================================================================== RCS file: /cvs/mandoc/mandoc.h,v retrieving revision 1.70 retrieving revision 1.81 diff -u -p -r1.70 -r1.81 --- mandoc/mandoc.h 2011/04/09 15:29:40 1.70 +++ mandoc/mandoc.h 2011/07/18 14:30:51 1.81 @@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.70 2011/04/09 15:29:40 kristaps Exp $ */ +/* $Id: mandoc.h,v 1.81 2011/07/18 14:30:51 kristaps Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons * @@ -104,8 +104,15 @@ enum mandocerr { MANDOCERR_BADESCAPE, /* unknown escape sequence */ MANDOCERR_BADQUOTE, /* unterminated quoted string */ + /* related to equations */ + MANDOCERR_EQNQUOTE, /* unexpected literal in equation */ + MANDOCERR_ERROR, /* ===== start of errors ===== */ + /* related to equations */ + MANDOCERR_EQNARGS, /* bad equation macro arguments */ + MANDOCERR_EQNNEST, /* too many nested equation defines */ + /* related to tables */ MANDOCERR_TBL, /* bad table syntax */ MANDOCERR_TBLOPT, /* bad table option */ @@ -292,13 +299,13 @@ enum mandoc_esc { ESCAPE_ERROR = 0, /* bail! unparsable escape */ ESCAPE_IGNORE, /* escape to be ignored */ ESCAPE_SPECIAL, /* a regular special character */ - ESCAPE_PREDEF, /* a predefined special character */ ESCAPE_FONT, /* a generic font mode */ ESCAPE_FONTBOLD, /* bold font mode */ ESCAPE_FONTITALIC, /* italic font mode */ ESCAPE_FONTROMAN, /* roman font mode */ ESCAPE_FONTPREV, /* previous font mode */ ESCAPE_NUMBERED, /* a numbered glyph */ + ESCAPE_UNICODE, /* a unicode codepoint */ ESCAPE_NOSPACE /* suppress space if the last on a line */ }; @@ -306,6 +313,7 @@ typedef void (*mandocmsg)(enum mandocerr, enum mandocl const char *, int, int, const char *); struct mparse; +struct mchars; struct mdoc; struct man; @@ -323,8 +331,17 @@ const char *mparse_strlevel(enum mandoclevel); void *mandoc_calloc(size_t, size_t); void *mandoc_malloc(size_t); void *mandoc_realloc(void *, size_t); +char *mandoc_strdup(const char *); enum mandoc_esc mandoc_escape(const char **, const char **, int *); + +struct mchars *mchars_alloc(void); +char mchars_num2char(const char *, size_t); +int mchars_num2uc(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); +void mchars_free(struct mchars *); + __END_DECLS