=================================================================== RCS file: /cvs/mandoc/mandoc.h,v retrieving revision 1.116 retrieving revision 1.123 diff -u -p -r1.116 -r1.123 --- mandoc/mandoc.h 2014/03/19 21:51:20 1.116 +++ mandoc/mandoc.h 2014/06/25 00:20:19 1.123 @@ -1,7 +1,7 @@ -/* $Id: mandoc.h,v 1.116 2014/03/19 21:51:20 schwarze Exp $ */ +/* $Id: mandoc.h,v 1.123 2014/06/25 00:20:19 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2012, 2013, 2014 Ingo Schwarze + * Copyright (c) 2010-2014 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -49,19 +49,21 @@ enum mandocerr { MANDOCERR_WARNING, /* ===== start of warnings ===== */ /* related to the prologue */ - MANDOCERR_NOTITLE, /* no title in document */ - MANDOCERR_UPPERCASE, /* document title should be all caps */ - MANDOCERR_BADMSEC, /* unknown manual section */ - MANDOCERR_BADVOLARCH, /* unknown manual volume or arch */ - MANDOCERR_NODATE, /* date missing, using today's date */ - MANDOCERR_BADDATE, /* cannot parse date, using it verbatim */ - MANDOCERR_PROLOGOOO, /* prologue macros out of order */ - MANDOCERR_PROLOGREP, /* duplicate prologue macro */ - MANDOCERR_BADPROLOG, /* macro not allowed in prologue */ - MANDOCERR_BADBODY, /* macro not allowed in body */ + MANDOCERR_TH_MISSING, /* no TH macro in document */ + MANDOCERR_TITLE_CASE, /* document title should be all caps */ + MANDOCERR_MSEC_BAD, /* unknown manual section */ + MANDOCERR_ARCH_BAD, /* unknown manual volume or arch */ + MANDOCERR_DATE_MISSING, /* date missing, using today's date */ + MANDOCERR_DATE_BAD, /* cannot parse date, using it verbatim */ + MANDOCERR_PROLOG_ORDER, /* prologue macros out of order */ + MANDOCERR_PROLOG_REP, /* duplicate prologue macro */ + MANDOCERR_PROLOG_BAD, /* macro not allowed in prologue */ + MANDOCERR_PROLOG_ONLY, /* macro not allowed in body */ /* related to document structure */ MANDOCERR_SO, /* .so is fragile, better use ln(1) */ + MANDOCERR_DOC_EMPTY, /* no document body */ + MANDOCERR_SEC_BEFORE, /* content before the first section header */ MANDOCERR_NAMESECFIRST, /* NAME section must come first */ MANDOCERR_BADNAMESEC, /* bad NAME section contents */ MANDOCERR_SECOOO, /* sections out of conventional order */ @@ -160,8 +162,8 @@ enum mandocerr { MANDOCERR_SYNTARGVCOUNT, /* argument count wrong, violates syntax */ MANDOCERR_SYNTCHILD, /* child violates parent syntax */ MANDOCERR_SYNTARGCOUNT, /* argument count wrong, violates syntax */ - MANDOCERR_SOPATH, /* NOT IMPLEMENTED: .so with absolute path or ".." */ - MANDOCERR_NODOCBODY, /* no document body */ + MANDOCERR_SO_PATH, /* NOT IMPLEMENTED: .so with absolute path or ".." */ + MANDOCERR_SO_FAIL, /* .so request failed */ MANDOCERR_NODOCPROLOG, /* no document prologue */ MANDOCERR_MEM, /* static buffer exhausted */ @@ -240,6 +242,7 @@ struct tbl_row { struct tbl_row *next; struct tbl_cell *first; struct tbl_cell *last; + int vert; /* trailing vertical line */ }; enum tbl_datt { @@ -362,7 +365,7 @@ struct eqn_box { /* * An equation consists of a tree of expressions starting at a given - * line and position. + * line and position. */ struct eqn { char *name; /* identifier (or NULL) */ @@ -405,19 +408,14 @@ struct man; __BEGIN_DECLS -void *mandoc_calloc(size_t, size_t); enum mandoc_esc mandoc_escape(const char **, const char **, int *); -void *mandoc_malloc(size_t); -void *mandoc_realloc(void *, size_t); -char *mandoc_strdup(const char *); -char *mandoc_strndup(const char *, size_t); struct mchars *mchars_alloc(void); void mchars_free(struct mchars *); -char mchars_num2char(const char *, size_t); +char mchars_num2char(const char *, size_t); int mchars_num2uc(const char *, size_t); -int mchars_spec2cp(const struct mchars *, +int mchars_spec2cp(const struct mchars *, const char *, size_t); -const char *mchars_spec2str(const struct mchars *, +const char *mchars_spec2str(const struct mchars *, const char *, size_t, size_t *); struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, char *); void mparse_free(struct mparse *); @@ -426,8 +424,8 @@ enum mandoclevel mparse_readfd(struct mparse *, int, enum mandoclevel mparse_readmem(struct mparse *, const void *, size_t, const char *); void mparse_reset(struct mparse *); -void mparse_result(struct mparse *, - struct mdoc **, struct man **); +void mparse_result(struct mparse *, + struct mdoc **, struct man **, char **); const char *mparse_getkeep(const struct mparse *); const char *mparse_strerror(enum mandocerr); const char *mparse_strlevel(enum mandoclevel);