version 1.197, 2015/02/06 03:38:45 |
version 1.209, 2016/01/08 02:53:13 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2010-2016 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
* purpose with or without fee is hereby granted, provided that the above |
* purpose with or without fee is hereby granted, provided that the above |
* copyright notice and this permission notice appear in all copies. |
* copyright notice and this permission notice appear in all copies. |
* |
* |
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES |
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR |
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|
|
MANDOCERR_DOC_EMPTY, /* no document body */ |
MANDOCERR_DOC_EMPTY, /* no document body */ |
MANDOCERR_SEC_BEFORE, /* content before first section header: macro */ |
MANDOCERR_SEC_BEFORE, /* content before first section header: macro */ |
MANDOCERR_NAMESEC_FIRST, /* first section is not NAME: Sh title */ |
MANDOCERR_NAMESEC_FIRST, /* first section is not NAME: Sh title */ |
MANDOCERR_NAMESEC_BAD, /* bad NAME section contents: macro */ |
MANDOCERR_NAMESEC_NONM, /* NAME section without name */ |
|
MANDOCERR_NAMESEC_NOND, /* NAME section without description */ |
|
MANDOCERR_NAMESEC_ND, /* description not at the end of NAME */ |
|
MANDOCERR_NAMESEC_BAD, /* bad NAME section content: macro */ |
MANDOCERR_ND_EMPTY, /* missing description line, using "" */ |
MANDOCERR_ND_EMPTY, /* missing description line, using "" */ |
MANDOCERR_SEC_ORDER, /* sections out of conventional order: Sh title */ |
MANDOCERR_SEC_ORDER, /* sections out of conventional order: Sh title */ |
MANDOCERR_SEC_REP, /* duplicate section title: Sh title */ |
MANDOCERR_SEC_REP, /* duplicate section title: Sh title */ |
|
|
MANDOCERR_BLK_NEST, /* blocks badly nested: macro ... */ |
MANDOCERR_BLK_NEST, /* blocks badly nested: macro ... */ |
MANDOCERR_BD_NEST, /* nested displays are not portable: macro ... */ |
MANDOCERR_BD_NEST, /* nested displays are not portable: macro ... */ |
MANDOCERR_BL_MOVE, /* moving content out of list: macro */ |
MANDOCERR_BL_MOVE, /* moving content out of list: macro */ |
MANDOCERR_VT_CHILD, /* .Vt block has child macro: macro */ |
|
MANDOCERR_FI_SKIP, /* fill mode already enabled, skipping: fi */ |
MANDOCERR_FI_SKIP, /* fill mode already enabled, skipping: fi */ |
MANDOCERR_NF_SKIP, /* fill mode already disabled, skipping: nf */ |
MANDOCERR_NF_SKIP, /* fill mode already disabled, skipping: nf */ |
MANDOCERR_BLK_LINE, /* line scope broken: macro breaks macro */ |
MANDOCERR_BLK_LINE, /* line scope broken: macro breaks macro */ |
|
|
MANDOCERR_REQ_EMPTY, /* skipping empty request: request */ |
MANDOCERR_REQ_EMPTY, /* skipping empty request: request */ |
MANDOCERR_COND_EMPTY, /* conditional request controls empty scope */ |
MANDOCERR_COND_EMPTY, /* conditional request controls empty scope */ |
MANDOCERR_MACRO_EMPTY, /* skipping empty macro: macro */ |
MANDOCERR_MACRO_EMPTY, /* skipping empty macro: macro */ |
|
MANDOCERR_BLK_EMPTY, /* empty block: macro */ |
MANDOCERR_ARG_EMPTY, /* empty argument, using 0n: macro arg */ |
MANDOCERR_ARG_EMPTY, /* empty argument, using 0n: macro arg */ |
MANDOCERR_ARGCWARN, /* argument count wrong */ |
|
MANDOCERR_BD_NOTYPE, /* missing display type, using -ragged: Bd */ |
MANDOCERR_BD_NOTYPE, /* missing display type, using -ragged: Bd */ |
MANDOCERR_BL_LATETYPE, /* list type is not the first argument: Bl arg */ |
MANDOCERR_BL_LATETYPE, /* list type is not the first argument: Bl arg */ |
MANDOCERR_BL_NOWIDTH, /* missing -width in -tag list, using 8n */ |
MANDOCERR_BL_NOWIDTH, /* missing -width in -tag list, using 8n */ |
Line 106 enum mandocerr { |
|
Line 108 enum mandocerr { |
|
MANDOCERR_PF_SKIP, /* nothing follows prefix: Pf arg */ |
MANDOCERR_PF_SKIP, /* nothing follows prefix: Pf arg */ |
MANDOCERR_RS_EMPTY, /* empty reference block: Rs */ |
MANDOCERR_RS_EMPTY, /* empty reference block: Rs */ |
MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */ |
MANDOCERR_ARG_STD, /* missing -std argument, adding it: macro */ |
|
MANDOCERR_OP_EMPTY, /* missing option string, using "": OP */ |
|
MANDOCERR_UR_NOHEAD, /* missing resource identifier, using "": UR */ |
MANDOCERR_EQN_NOBOX, /* missing eqn box, using "": op */ |
MANDOCERR_EQN_NOBOX, /* missing eqn box, using "": op */ |
|
|
/* related to bad arguments */ |
/* related to bad arguments */ |
Line 115 enum mandocerr { |
|
Line 119 enum mandocerr { |
|
MANDOCERR_BD_REP, /* skipping duplicate display type: Bd -type */ |
MANDOCERR_BD_REP, /* skipping duplicate display type: Bd -type */ |
MANDOCERR_BL_REP, /* skipping duplicate list type: Bl -type */ |
MANDOCERR_BL_REP, /* skipping duplicate list type: Bl -type */ |
MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */ |
MANDOCERR_BL_SKIPW, /* skipping -width argument: Bl -type */ |
|
MANDOCERR_BL_COL, /* wrong number of cells */ |
MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */ |
MANDOCERR_AT_BAD, /* unknown AT&T UNIX version: At version */ |
MANDOCERR_FA_COMMA, /* comma in function argument: arg */ |
MANDOCERR_FA_COMMA, /* comma in function argument: arg */ |
MANDOCERR_FN_PAREN, /* parenthesis in function name: arg */ |
MANDOCERR_FN_PAREN, /* parenthesis in function name: arg */ |
MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */ |
MANDOCERR_RS_BAD, /* invalid content in Rs block: macro */ |
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_SM_BAD, /* invalid Boolean argument: macro arg */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
MANDOCERR_FT_BAD, /* unknown font, skipping request: ft font */ |
|
MANDOCERR_TR_ODD, /* odd number of characters in request: tr char */ |
|
|
/* related to plain text */ |
/* related to plain text */ |
MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */ |
MANDOCERR_FI_BLANK, /* blank line in fill mode, using .sp */ |
Line 165 enum mandocerr { |
|
Line 171 enum mandocerr { |
|
|
|
/* related to request and macro arguments */ |
/* related to request and macro arguments */ |
MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */ |
MANDOCERR_NAMESC, /* escaped character not allowed in a name: name */ |
MANDOCERR_ARGCOUNT, /* argument count wrong */ |
|
MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */ |
MANDOCERR_BD_FILE, /* NOT IMPLEMENTED: Bd -file */ |
|
MANDOCERR_BD_NOARG, /* skipping display without arguments: Bd */ |
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */ |
MANDOCERR_BL_NOTYPE, /* missing list type, using -item: Bl */ |
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */ |
MANDOCERR_NM_NONAME, /* missing manual name, using "": Nm */ |
MANDOCERR_OS_UNAME, /* uname(3) system call failed, using UNKNOWN */ |
MANDOCERR_OS_UNAME, /* uname(3) system call failed, using UNKNOWN */ |
Line 402 enum mandoc_esc { |
|
Line 408 enum mandoc_esc { |
|
typedef void (*mandocmsg)(enum mandocerr, enum mandoclevel, |
typedef void (*mandocmsg)(enum mandocerr, enum mandoclevel, |
const char *, int, int, const char *); |
const char *, int, int, const char *); |
|
|
__BEGIN_DECLS |
|
|
|
struct mparse; |
struct mparse; |
struct mchars; |
struct roff_man; |
struct mdoc; |
|
struct man; |
|
|
|
enum mandoc_esc mandoc_escape(const char **, const char **, int *); |
enum mandoc_esc mandoc_escape(const char **, const char **, int *); |
struct mchars *mchars_alloc(void); |
void mchars_alloc(void); |
void mchars_free(struct mchars *); |
void mchars_free(void); |
int mchars_num2char(const char *, size_t); |
int mchars_num2char(const char *, size_t); |
const char *mchars_uc2str(int); |
const char *mchars_uc2str(int); |
int mchars_num2uc(const char *, size_t); |
int mchars_num2uc(const char *, size_t); |
int mchars_spec2cp(const struct mchars *, |
int mchars_spec2cp(const char *, size_t); |
const char *, size_t); |
const char *mchars_spec2str(const char *, size_t, size_t *); |
const char *mchars_spec2str(const struct mchars *, |
struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, const char *); |
const char *, size_t, size_t *); |
|
struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, |
|
const struct mchars *, const char *); |
|
void mparse_free(struct mparse *); |
void mparse_free(struct mparse *); |
void mparse_keep(struct mparse *); |
void mparse_keep(struct mparse *); |
enum mandoclevel mparse_open(struct mparse *, int *, const char *); |
int mparse_open(struct mparse *, const char *); |
enum mandoclevel mparse_readfd(struct mparse *, int, const char *); |
enum mandoclevel mparse_readfd(struct mparse *, int, const char *); |
enum mandoclevel mparse_readmem(struct mparse *, void *, size_t, |
enum mandoclevel mparse_readmem(struct mparse *, void *, size_t, |
const char *); |
const char *); |
void mparse_reset(struct mparse *); |
void mparse_reset(struct mparse *); |
void mparse_result(struct mparse *, |
void mparse_result(struct mparse *, |
struct mdoc **, struct man **, char **); |
struct roff_man **, char **); |
const char *mparse_getkeep(const struct mparse *); |
const char *mparse_getkeep(const struct mparse *); |
const char *mparse_strerror(enum mandocerr); |
const char *mparse_strerror(enum mandocerr); |
const char *mparse_strlevel(enum mandoclevel); |
const char *mparse_strlevel(enum mandoclevel); |
enum mandoclevel mparse_wait(struct mparse *); |
|
|
|
__END_DECLS |
|