roff_man
struct roff_man;
#define MACRO_PROT_ARGS struct roff_man *man, \
void man_descope(struct roff_man *, int, int, char *);
void man_unscope(struct roff_man *, const struct roff_node *);
struct roff_man;
int mdoc_parseln(struct roff_man *, int, char *, int);
void mdoc_endparse(struct roff_man *);
int man_parseln(struct roff_man *, int, char *, int);
void man_endparse(struct roff_man *);
void roff_man_free(struct roff_man *);
struct roff_man *roff_man_alloc(struct roff *, const char *, int);
void roff_man_reset(struct roff_man *);
struct roff_man;
#define MACRO_PROT_ARGS struct roff_man *mdoc, \
void mdoc_elem_alloc(struct roff_man *, int, int,
struct roff_node *mdoc_block_alloc(struct roff_man *, int, int,
void mdoc_tail_alloc(struct roff_man *, int, int,
struct roff_node *mdoc_endbody_alloc(struct roff_man *, int, int,
void mdoc_state(struct roff_man *, struct roff_node *);
void mdoc_argv(struct roff_man *, int, enum roff_tok,
enum margserr mdoc_args(struct roff_man *, int,
man_ptext(struct roff_man *man, int line, char *buf, int offs)
man_pmacro(struct roff_man *man, int ln, char *buf, int offs)
man_breakscope(struct roff_man *man, int tok)
static int man_ptext(struct roff_man *, int, char *, int);
static int man_pmacro(struct roff_man *, int, char *, int);
man_parseln(struct roff_man *man, int ln, char *buf, int offs)
man_descope(struct roff_man *man, int line, int offs, char *start)
struct roff_man;
void man_validate(struct roff_man *);
rew_scope(struct roff_man *man, enum roff_tok tok)
static int man_args(struct roff_man *, int,
static void rew_scope(struct roff_man *, enum roff_tok);
man_endparse(struct roff_man *man)
man_args(struct roff_man *man, int line, int *pos, char *buf, char **v)
man_unscope(struct roff_man *man, const struct roff_node *to)
man_validate(struct roff_man *man)
#define CHKARGS struct roff_man *man, struct roff_node *n
mdoc_block_alloc(struct roff_man *mdoc, int line, int pos,
mdoc_elem_alloc(struct roff_man *mdoc, int line, int pos,
mdoc_ptext(struct roff_man *mdoc, int line, char *buf, int offs)
mdoc_pmacro(struct roff_man *mdoc, int ln, char *buf, int offs)
static int mdoc_ptext(struct roff_man *, int, char *, int);
static int mdoc_pmacro(struct roff_man *, int, char *, int);
mdoc_parseln(struct roff_man *mdoc, int ln, char *buf, int offs)
mdoc_tail_alloc(struct roff_man *mdoc, int line, int pos, enum roff_tok tok)
mdoc_endbody_alloc(struct roff_man *mdoc, int line, int pos,
void mdoc_validate(struct roff_man *);
struct roff_man;
mdoc_argv(struct roff_man *mdoc, int line, enum roff_tok tok,
mdoc_args(struct roff_man *mdoc, int line, int *pos,
args(struct roff_man *mdoc, int line, int *pos,
static enum margserr args(struct roff_man *, int, int *,
static void argv_multi(struct roff_man *, int,
static void argv_single(struct roff_man *, int,
argv_multi(struct roff_man *mdoc, int line,
argv_single(struct roff_man *mdoc, int line,
parse_rest(struct roff_man *mdoc, enum roff_tok tok,
mdoc_endparse(struct roff_man *mdoc)
lookup(struct roff_man *mdoc, int from, int line, int ppos, const char *p)
rew_last(struct roff_man *mdoc, const struct roff_node *to)
rew_pending(struct roff_man *mdoc, const struct roff_node *n)
rew_elem(struct roff_man *mdoc, enum roff_tok tok)
find_pending(struct roff_man *mdoc, enum roff_tok tok, int line, int ppos,
dword(struct roff_man *mdoc, int line, int col, const char *p,
static void append_delims(struct roff_man *, int, int *, char *);
static void dword(struct roff_man *, int, int, const char *,
static int find_pending(struct roff_man *, enum roff_tok,
append_delims(struct roff_man *mdoc, int line, int *pos, char *buf)
static int lookup(struct roff_man *, int, int, int, const char *);
static int parse_rest(struct roff_man *, enum roff_tok,
static void rew_elem(struct roff_man *, enum roff_tok);
static void rew_last(struct roff_man *, const struct roff_node *);
static void rew_pending(struct roff_man *,
mdoc_state(struct roff_man *mdoc, struct roff_node *n)
#define STATE_ARGS struct roff_man *mdoc, struct roff_node *n
rewrite_macro2len(struct roff_man *mdoc, char **arg)
mdoc_validate(struct roff_man *mdoc)
check_args(struct roff_man *mdoc, struct roff_node *n)
check_argv(struct roff_man *mdoc, struct roff_node *n, struct mdoc_argv *v)
check_text(struct roff_man *mdoc, int ln, int pos, char *p)
check_text_em(struct roff_man *mdoc, int ln, int pos, char *p)
#define POST_ARGS struct roff_man *mdoc
check_toptext(struct roff_man *mdoc, int ln, int pos, const char *p)
static int build_list(struct roff_man *, int);
static void check_argv(struct roff_man *,
static void check_args(struct roff_man *, struct roff_node *);
static void check_text(struct roff_man *, int, int, char *);
static void check_text_em(struct roff_man *, int, int, char *);
static void check_toptext(struct roff_man *, int, int, const char *);
static void rewrite_macro2len(struct roff_man *, char **);
build_list(struct roff_man *mdoc, int tok)
struct roff_man *man; /* man parser */
roff_head_alloc(struct roff_man *man, int line, int pos, int tok)
struct roff_man *man; /* mdoc or man parser */
roff_body_alloc(struct roff_man *man, int line, int pos, int tok)
roff_addtbl(struct roff_man *man, int line, struct tbl_node *tbl)
roff_node_unlink(struct roff_man *man, struct roff_node *n)
roff_node_relink(struct roff_man *man, struct roff_node *n)
roff_node_delete(struct roff_man *man, struct roff_node *n)
static void roff_addtbl(struct roff_man *, int, struct tbl_node *);
static void roff_man_alloc1(struct roff_man *);
static void roff_man_free1(struct roff_man *);
roff_man_free1(struct roff_man *man)
roff_state_reset(struct roff_man *man)
roff_man_alloc1(struct roff_man *man)
roff_man_reset(struct roff_man *man)
roff_man_free(struct roff_man *man)
struct roff_man *
struct roff_man *man;
roff_node_alloc(struct roff_man *man, int line, int pos,
roff_node_append(struct roff_man *man, struct roff_node *n)
roff_word_alloc(struct roff_man *man, int line, int pos, const char *word)
roff_word_append(struct roff_man *man, const char *word)
roff_elem_alloc(struct roff_man *man, int line, int pos, int tok)
roff_block_alloc(struct roff_man *man, int line, int pos, int tok)
struct roff_node *roff_node_alloc(struct roff_man *, int, int,
void roff_node_append(struct roff_man *, struct roff_node *);
void roff_word_alloc(struct roff_man *, int, int, const char *);
void roff_word_append(struct roff_man *, const char *);
void roff_elem_alloc(struct roff_man *, int, int, int);
struct roff_node *roff_block_alloc(struct roff_man *, int, int, int);
struct roff_node *roff_head_alloc(struct roff_man *, int, int, int);
struct roff_node *roff_body_alloc(struct roff_man *, int, int, int);
void roff_node_unlink(struct roff_man *, struct roff_node *);
void roff_node_relink(struct roff_man *, struct roff_node *);
void roff_node_delete(struct roff_man *, struct roff_node *);
void roff_state_reset(struct roff_man *);
void roff_validate(struct roff_man *);
void man_breakscope(struct roff_man *, int);
#define ROFF_VALID_ARGS struct roff_man *man, struct roff_node *n
roff_validate(struct roff_man *man)
tag_move_href(struct roff_man *man, struct roff_node *n, const char *tag)
tag_postprocess(struct roff_man *man, struct roff_node *n)
static void tag_move_href(struct roff_man *,
void tag_postprocess(struct roff_man *, struct roff_node *);