Return to private.h CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.74, 2009/01/21 11:35:26 | version 1.90, 2009/03/20 15:14:01 | ||
---|---|---|---|
|
|
||
int linetok; | int linetok; | ||
int flags; | int flags; | ||
#define MDOC_HALT (1 << 0) | #define MDOC_HALT (1 << 0) | ||
#define MDOC_LITERAL (1 << 1) | |||
int pflags; | |||
enum mdoc_next next; | enum mdoc_next next; | ||
struct mdoc_node *last; | struct mdoc_node *last; | ||
struct mdoc_node *first; | struct mdoc_node *first; | ||
struct mdoc_meta meta; | struct mdoc_meta meta; | ||
enum mdoc_sec lastnamed; | enum mdoc_sec lastnamed; | ||
enum mdoc_sec lastsec; | |||
}; | }; | ||
/* Hard-limit of macro arguments. */ | |||
#define MDOC_LINEARG_MAX 9 | |||
/* Suggested limit of macro arguments. */ | |||
#define MDOC_LINEARG_SOFTMAX 9 | |||
#define MACRO_PROT_ARGS struct mdoc *mdoc, int tok, int line, \ | #define MACRO_PROT_ARGS struct mdoc *mdoc, int tok, int line, \ | ||
int ppos, int *pos, char *buf | int ppos, int *pos, char *buf | ||
|
|
||
#define MDOC_PARSED (1 << 1) | #define MDOC_PARSED (1 << 1) | ||
#define MDOC_EXPLICIT (1 << 2) | #define MDOC_EXPLICIT (1 << 2) | ||
#define MDOC_PROLOGUE (1 << 3) | #define MDOC_PROLOGUE (1 << 3) | ||
#define MDOC_IGNDELIM (1 << 4) | |||
/* Reserved words in arguments treated as text. */ | |||
}; | }; | ||
#define mdoc_nwarn(mdoc, node, type, fmt, ...) \ | #define mdoc_nwarn(mdoc, node, type, fmt, ...) \ | ||
|
|
||
const char *, ...); | const char *, ...); | ||
int mdoc_verr(struct mdoc *, int, int, | int mdoc_verr(struct mdoc *, int, int, | ||
const char *, ...); | const char *, ...); | ||
int mdoc_macro(MACRO_PROT_ARGS); | int mdoc_macro(MACRO_PROT_ARGS); | ||
int mdoc_find(const struct mdoc *, const char *); | |||
int mdoc_word_alloc(struct mdoc *, | int mdoc_word_alloc(struct mdoc *, | ||
int, int, const char *); | int, int, const char *); | ||
int mdoc_elem_alloc(struct mdoc *, int, int, | int mdoc_elem_alloc(struct mdoc *, int, int, | ||
int, size_t, const struct mdoc_arg *); | int, struct mdoc_arg *); | ||
int mdoc_block_alloc(struct mdoc *, int, int, | int mdoc_block_alloc(struct mdoc *, int, int, | ||
int, size_t, const struct mdoc_arg *); | int, struct mdoc_arg *); | ||
int mdoc_root_alloc(struct mdoc *); | int mdoc_root_alloc(struct mdoc *); | ||
int mdoc_head_alloc(struct mdoc *, int, int, int); | int mdoc_head_alloc(struct mdoc *, int, int, int); | ||
int mdoc_tail_alloc(struct mdoc *, int, int, int); | int mdoc_tail_alloc(struct mdoc *, int, int, int); | ||
int mdoc_body_alloc(struct mdoc *, int, int, int); | int mdoc_body_alloc(struct mdoc *, int, int, int); | ||
void mdoc_node_free(struct mdoc_node *); | void mdoc_node_free(struct mdoc_node *); | ||
void mdoc_node_freelist(struct mdoc_node *); | void mdoc_node_freelist(struct mdoc_node *); | ||
void mdoc_sibling(struct mdoc *, int, struct mdoc_node **, | |||
struct mdoc_node **, struct mdoc_node *); | |||
void *mdoc_tokhash_alloc(void); | void *mdoc_tokhash_alloc(void); | ||
int mdoc_tokhash_find(const void *, const char *); | int mdoc_tokhash_find(const void *, const char *); | ||
void mdoc_tokhash_free(void *); | void mdoc_tokhash_free(void *); | ||
int mdoc_isdelim(const char *); | |||
int mdoc_iscdelim(char); | int mdoc_iscdelim(char); | ||
size_t mdoc_isescape(const char *); | |||
enum mdoc_sec mdoc_atosec(const char *); | enum mdoc_sec mdoc_atosec(const char *); | ||
enum mdoc_msec mdoc_atomsec(const char *); | |||
enum mdoc_vol mdoc_atovol(const char *); | |||
enum mdoc_arch mdoc_atoarch(const char *); | |||
enum mdoc_att mdoc_atoatt(const char *); | |||
time_t mdoc_atotime(const char *); | time_t mdoc_atotime(const char *); | ||
size_t mdoc_macro2len(int); | |||
char *mdoc_type2a(enum mdoc_type); | const char *mdoc_a2arch(const char *); | ||
char *mdoc_node2a(struct mdoc_node *); | const char *mdoc_a2vol(const char *); | ||
const char *mdoc_a2msec(const char *); | |||
int mdoc_valid_pre(struct mdoc *, struct mdoc_node *); | int mdoc_valid_pre(struct mdoc *, | ||
const struct mdoc_node *); | |||
int mdoc_valid_post(struct mdoc *); | int mdoc_valid_post(struct mdoc *); | ||
int mdoc_action_pre(struct mdoc *, struct mdoc_node *); | int mdoc_action_pre(struct mdoc *, | ||
const struct mdoc_node *); | |||
int mdoc_action_post(struct mdoc *); | int mdoc_action_post(struct mdoc *); | ||
int mdoc_argv(struct mdoc *, int, int, | |||
int mdoc_argv(struct mdoc *, int, int, | struct mdoc_arg **, int *, char *); | ||
struct mdoc_arg *, int *, char *); | |||
#define ARGV_ERROR (-1) | #define ARGV_ERROR (-1) | ||
#define ARGV_EOLN (0) | #define ARGV_EOLN (0) | ||
#define ARGV_ARG (1) | #define ARGV_ARG (1) | ||
#define ARGV_WORD (2) | #define ARGV_WORD (2) | ||
void mdoc_argv_free(int, struct mdoc_arg *); | void mdoc_argv_free(struct mdoc_arg *); | ||
int mdoc_args(struct mdoc *, int, | int mdoc_args(struct mdoc *, int, | ||
int *, char *, int, char **); | int *, char *, int, char **); | ||
#define ARGS_ERROR (-1) | #define ARGS_ERROR (-1) | ||
|
|
||
#define ARGS_WORD (1) | #define ARGS_WORD (1) | ||
#define ARGS_PUNCT (2) | #define ARGS_PUNCT (2) | ||
#define ARGS_QWORD (3) | #define ARGS_QWORD (3) | ||
#define ARGS_PHRASE (4) | |||
int xstrlcats(char *, const struct mdoc_node *, size_t); | int xstrlcpys(char *, const struct mdoc_node *, size_t); | ||
int xstrlcat(char *, const char *, size_t); | int xstrlcat(char *, const char *, size_t); | ||
int xstrlcpy(char *, const char *, size_t); | int xstrlcpy(char *, const char *, size_t); | ||
int xstrcmp(const char *, const char *); | int xstrcmp(const char *, const char *); | ||
int xstrncmp(const char *, const char *, size_t); | |||
void *xcalloc(size_t, size_t); | void *xcalloc(size_t, size_t); | ||
void *xrealloc(void *, size_t); | |||
char *xstrdup(const char *); | char *xstrdup(const char *); | ||
int macro_obsolete(MACRO_PROT_ARGS); | |||
int macro_constant(MACRO_PROT_ARGS); | |||
int macro_constant_scoped(MACRO_PROT_ARGS); | |||
int macro_constant_delimited(MACRO_PROT_ARGS); | |||
int macro_text(MACRO_PROT_ARGS); | |||
int macro_scoped(MACRO_PROT_ARGS); | |||
int macro_scoped_close(MACRO_PROT_ARGS); | |||
int macro_scoped_line(MACRO_PROT_ARGS); | |||
int macro_prologue(MACRO_PROT_ARGS); | |||
int macro_end(struct mdoc *); | int macro_end(struct mdoc *); | ||
__END_DECLS | __END_DECLS |