summaryrefslogtreecommitdiffstatshomepage
path: root/private.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-01-01 20:40:16 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-01-01 20:40:16 +0000
commit9d89dc957fdca4edae24c0b070474ec19997ffbb (patch)
tree5ad4b8d719083df751e5c50d2d43f81b323ec8dd /private.h
parent666edb2f0564799fac2ef0a2bf2587146bc11593 (diff)
downloadmandoc-9d89dc957fdca4edae24c0b070474ec19997ffbb.tar.gz
mandoc-9d89dc957fdca4edae24c0b070474ec19997ffbb.tar.zst
mandoc-9d89dc957fdca4edae24c0b070474ec19997ffbb.zip
Broke apart macro_prologuexxx into prologue.
Fixed validation for line-scoped. Merged const_arg and const.
Diffstat (limited to 'private.h')
-rw-r--r--private.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/private.h b/private.h
index a172c970..3f46f174 100644
--- a/private.h
+++ b/private.h
@@ -1,4 +1,4 @@
-/* $Id: private.h,v 1.51 2008/12/30 19:06:03 kristaps Exp $ */
+/* $Id: private.h,v 1.52 2009/01/01 20:40:16 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -21,10 +21,17 @@
#include "mdoc.h"
+enum mdoc_next {
+ MDOC_NEXT_SIBLING = 0,
+ MDOC_NEXT_CHILD
+};
+
struct mdoc {
void *data;
struct mdoc_cb cb;
void *htab;
+ int flags;
+ enum mdoc_next next;
struct mdoc_node *last;
struct mdoc_node *first;
struct mdoc_meta meta;
@@ -38,6 +45,7 @@ struct mdoc_macro {
#define MDOC_CALLABLE (1 << 0)
#define MDOC_EXPLICIT (1 << 1)
#define MDOC_QUOTABLE (1 << 2)
+#define MDOC_PROLOGUE (1 << 3)
};
extern const struct mdoc_macro *const mdoc_macros;
@@ -58,8 +66,7 @@ void mdoc_elem_alloc(struct mdoc *, int, int,
size_t, const char **);
void mdoc_block_alloc(struct mdoc *, int, int,
size_t, const struct mdoc_arg *);
-void mdoc_head_alloc(struct mdoc *,
- int, int, size_t, const char **);
+void mdoc_head_alloc(struct mdoc *, int, int);
void mdoc_body_alloc(struct mdoc *, int, int);
void mdoc_node_free(struct mdoc_node *);
void mdoc_sibling(struct mdoc *, int, struct mdoc_node **,
@@ -76,12 +83,17 @@ enum mdoc_arch mdoc_atoarch(const char *);
enum mdoc_att mdoc_atoatt(const char *);
time_t mdoc_atotime(const char *);
-int mdoc_valid(struct mdoc *, int, int,
+int mdoc_valid_post(struct mdoc *, int, int);
+int mdoc_valid_pre(struct mdoc *, int, int,
int, const char *[],
int, const struct mdoc_arg *);
int mdoc_argv(struct mdoc *, int,
struct mdoc_arg *, int *, char *);
+#define ARGV_ERROR (-1)
+#define ARGV_EOLN (0)
+#define ARGV_ARG (1)
+#define ARGV_WORD (2)
void mdoc_argv_free(int, struct mdoc_arg *);
int mdoc_args(struct mdoc *, int,
int *, char *, int, char **);
@@ -106,13 +118,11 @@ int macro_constant_argv(MACRO_PROT_ARGS);
int macro_constant(MACRO_PROT_ARGS);
int macro_constant_delimited(MACRO_PROT_ARGS);
int macro_text(MACRO_PROT_ARGS);
-int macro_scoped_implicit(MACRO_PROT_ARGS);
-int macro_scoped_explicit(MACRO_PROT_ARGS);
+int macro_scoped(MACRO_PROT_ARGS);
+int macro_close_explicit(MACRO_PROT_ARGS);
int macro_scoped_line(MACRO_PROT_ARGS);
int macro_scoped_pline(MACRO_PROT_ARGS);
-int macro_prologue_ddate(MACRO_PROT_ARGS);
-int macro_prologue_dtitle(MACRO_PROT_ARGS);
-int macro_prologue_os(MACRO_PROT_ARGS);
+int macro_prologue(MACRO_PROT_ARGS);
__END_DECLS