-/* $Id: private.h,v 1.71 2009/01/20 13:05:28 kristaps Exp $ */
+/* $Id: private.h,v 1.82 2009/02/24 14:52:55 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
int linetok;
int flags;
#define MDOC_HALT (1 << 0)
-#define MDOC_BODYPARSE (1 << 1)
enum mdoc_next next;
struct mdoc_node *last;
struct mdoc_node *first;
struct mdoc_meta meta;
- enum mdoc_sec sec_lastn;
- enum mdoc_sec sec_last;
+ enum mdoc_sec lastnamed;
+ enum mdoc_sec lastsec;
};
#define MDOC_CALLABLE (1 << 0)
#define MDOC_PARSED (1 << 1)
#define MDOC_EXPLICIT (1 << 2)
-#define MDOC_QUOTABLE (1 << 3)
-#define MDOC_PROLOGUE (1 << 4)
-#define MDOC_TABSEP (1 << 5)
+#define MDOC_PROLOGUE (1 << 3)
};
#define mdoc_nwarn(mdoc, node, type, fmt, ...) \
void *mdoc_tokhash_alloc(void);
int mdoc_tokhash_find(const void *, const char *);
void mdoc_tokhash_free(void *);
-int mdoc_isdelim(const char *);
int mdoc_iscdelim(char);
+size_t mdoc_isescape(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 *);
char *mdoc_type2a(enum mdoc_type);
char *mdoc_node2a(struct mdoc_node *);
-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_action_pre(struct mdoc *, struct mdoc_node *);
int mdoc_action_post(struct mdoc *);
#define ARGS_WORD (1)
#define ARGS_PUNCT (2)
#define ARGS_QWORD (3)
-
-#define ARGS_QUOTED (1 << 0)
-#define ARGS_DELIM (1 << 1)
-#define ARGS_TABSEP (1 << 2)
+#define ARGS_PHRASE (4)
int xstrlcats(char *, const struct mdoc_node *, size_t);
int xstrlcat(char *, const char *, size_t);
int xstrlcpy(char *, const char *, size_t);
int xstrcmp(const char *, const char *);
+int xstrncmp(const char *, const char *, size_t);
void *xcalloc(size_t, size_t);
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 *);
__END_DECLS