Return to libman.h CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.19, 2009/08/21 12:32:38 | version 1.25, 2010/03/22 14:03:03 | ||
---|---|---|---|
|
|
||
struct man { | struct man { | ||
void *data; | void *data; | ||
struct man_cb cb; | struct man_cb cb; | ||
void *htab; | |||
int pflags; | int pflags; | ||
int flags; | int flags; | ||
#define MAN_HALT (1 << 0) | #define MAN_HALT (1 << 0) | ||
#define MAN_ELINE (1 << 1) /* Next-line element scope. */ | #define MAN_ELINE (1 << 1) /* Next-line element scope. */ | ||
#define MAN_BLINE (1 << 2) /* Next-line block scope. */ | #define MAN_BLINE (1 << 2) /* Next-line block scope. */ | ||
#define MAN_LITERAL (1 << 3) /* Literal input. */ | #define MAN_ILINE (1 << 3) /* Ignored in next-line scope. */ | ||
#define MAN_LITERAL (1 << 4) /* Literal input. */ | |||
enum man_next next; | enum man_next next; | ||
struct man_node *last; | struct man_node *last; | ||
struct man_node *first; | struct man_node *first; | ||
|
|
||
enum merr { | enum merr { | ||
WNPRINT = 0, | WNPRINT = 0, | ||
WNMEM, | |||
WMSEC, | WMSEC, | ||
WDATE, | WDATE, | ||
WLNSCOPE, | WLNSCOPE, | ||
WLNSCOPE2, | |||
WTSPACE, | WTSPACE, | ||
WTQUOTE, | WTQUOTE, | ||
WNODATA, | WNODATA, | ||
|
|
||
WHEADARGS, | WHEADARGS, | ||
WBODYARGS, | WBODYARGS, | ||
WNHEADARGS, | WNHEADARGS, | ||
WMACRO, | |||
WMACROFORM, | WMACROFORM, | ||
WEXITSCOPE, | WEXITSCOPE, | ||
WNOSCOPE, | WNOSCOPE, | ||
|
|
||
int (*fp)(MACRO_PROT_ARGS); | int (*fp)(MACRO_PROT_ARGS); | ||
int flags; | int flags; | ||
#define MAN_SCOPED (1 << 0) | #define MAN_SCOPED (1 << 0) | ||
#define MAN_EXPLICIT (1 << 1) | #define MAN_EXPLICIT (1 << 1) /* See blk_imp(). */ | ||
#define MAN_FSCOPED (1 << 2) /* See blk_imp(). */ | |||
#define MAN_NSCOPED (1 << 3) /* See in_line_eoln(). */ | |||
}; | }; | ||
extern const struct man_macro *const man_macros; | extern const struct man_macro *const man_macros; | ||
|
|
||
int man_elem_alloc(struct man *, int, int, int); | int man_elem_alloc(struct man *, int, int, int); | ||
void man_node_free(struct man_node *); | void man_node_free(struct man_node *); | ||
void man_node_freelist(struct man_node *); | void man_node_freelist(struct man_node *); | ||
void *man_hash_alloc(void); | void man_node_unlink(struct man *, struct man_node *); | ||
int man_hash_find(const void *, const char *); | void man_hash_init(void); | ||
void man_hash_free(void *); | int man_hash_find(const char *); | ||
int man_macroend(struct man *); | int man_macroend(struct man *); | ||
int man_args(struct man *, int, int *, char *, char **); | int man_args(struct man *, int, int *, char *, char **); | ||
#define ARGS_ERROR (-1) | #define ARGS_ERROR (-1) |