summaryrefslogtreecommitdiffstatshomepage
path: root/private.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-11-24 18:32:39 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-11-24 18:32:39 +0000
commit516f81e5593ee50a21da37f7863d9cf32ea7dc7c (patch)
treea675fd1b83179e7a24299d42b59cc0ac4120fda8 /private.h
parent040f584be50a6f906307197da43630f7293245c8 (diff)
downloadmandoc-516f81e5593ee50a21da37f7863d9cf32ea7dc7c.tar.gz
mandoc-516f81e5593ee50a21da37f7863d9cf32ea7dc7c.tar.zst
mandoc-516f81e5593ee50a21da37f7863d9cf32ea7dc7c.zip
Generic roff_layout for layout tokens.
Diffstat (limited to 'private.h')
-rw-r--r--private.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/private.h b/private.h
index 72aabe48..310b885c 100644
--- a/private.h
+++ b/private.h
@@ -1,4 +1,4 @@
-/* $Id: private.h,v 1.4 2008/11/24 14:24:55 kristaps Exp $ */
+/* $Id: private.h,v 1.5 2008/11/24 18:32:39 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -35,6 +35,26 @@ struct md_mbuf {
size_t pos;
};
+#define ROFF___ 0
+#define ROFF_Dd 1
+#define ROFF_Dt 2
+#define ROFF_Os 3
+#define ROFF_Sh 4
+#define ROFF_An 5
+#define ROFF_Li 6
+#define ROFF_MAX 7
+
+#define ROFF_Split 0
+#define ROFF_Nosplit 1
+#define ROFF_ARGMAX 2
+
+/* FIXME: have a md_roff with all necessary parameters. */
+
+typedef int (*roffin)(int, int *, char **);
+typedef int (*roffout)(int);
+typedef int (*roffblkin)(int);
+typedef int (*roffblkout)(int);
+
__BEGIN_DECLS
typedef void (*(*md_init)(const struct md_args *,
@@ -59,7 +79,9 @@ int md_buf_putstring(struct md_mbuf *, const char *);
struct rofftree;
struct rofftree *roff_alloc(const struct md_args *,
- struct md_mbuf *, const struct md_rbuf *);
+ struct md_mbuf *, const struct md_rbuf *,
+ const roffin *, const roffout *,
+ const roffblkin *, const roffblkout *);
int roff_engine(struct rofftree *, char *, size_t);
int roff_free(struct rofftree *, int);