summaryrefslogtreecommitdiffstatshomepage
path: root/private.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-11-25 16:49:57 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-11-25 16:49:57 +0000
commit53ac84f9955e56e68c7affccf17d5ab802100b49 (patch)
treeb93d5d08c9b34dec0ff714fcab84a32497d92963 /private.h
parentbccf89c05b5b1fce89a6b087e8134d986ccb19c5 (diff)
downloadmandoc-53ac84f9955e56e68c7affccf17d5ab802100b49.tar.gz
mandoc-53ac84f9955e56e68c7affccf17d5ab802100b49.tar.zst
mandoc-53ac84f9955e56e68c7affccf17d5ab802100b49.zip
Imported all macros from mdoc(7).
Put all names into roff.c with extern access from private.h. Annotated list of changes that must occur for end-game (scope, nests, etc.).
Diffstat (limited to 'private.h')
-rw-r--r--private.h159
1 files changed, 102 insertions, 57 deletions
diff --git a/private.h b/private.h
index eaa9c6f2..b55c6d7b 100644
--- a/private.h
+++ b/private.h
@@ -1,4 +1,4 @@
-/* $Id: private.h,v 1.6 2008/11/25 12:14:02 kristaps Exp $ */
+/* $Id: private.h,v 1.7 2008/11/25 16:49:57 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -19,20 +19,22 @@
#ifndef PRIVATE_H
#define PRIVATE_H
+/* Input buffer (input read into buffer, then filled when empty). */
struct md_rbuf {
- int fd;
- char *name;
- char *buf;
- size_t bufsz;
- size_t line;
+ int fd; /* Open descriptor. */
+ char *name; /* Name of file. */
+ char *buf; /* Buffer. */
+ size_t bufsz; /* Size of buffer. */
+ size_t line; /* Current line number. */
};
+/* Output buffer (output buffered until full, then flushed). */
struct md_mbuf {
- int fd;
- char *name;
- char *buf;
- size_t bufsz;
- size_t pos;
+ int fd; /* Open descriptor. */
+ char *name; /* Name of file. */
+ char *buf; /* Buffer. */
+ size_t bufsz; /* Size of buffer. */
+ size_t pos; /* Position in buffer. */
};
#define ROFF___ 0
@@ -49,29 +51,89 @@ struct md_mbuf {
#define ROFF_Bl 11
#define ROFF_El 12
#define ROFF_It 13
-#define ROFF_An 14
-#define ROFF_Li 15
-#define ROFF_MAX 16
-
-#define ROFF_NAMES \
- { \
- "\\\"", \
- "Dd", \
- "Dt", \
- "Os", \
- "Sh", \
- "Ss", \
- "Pp", \
- "D1", \
- "Dl", \
- "Bd", \
- "Ed", \
- "Bl", \
- "El", \
- "It", \
- "An", \
- "Li", \
- }
+#define ROFF_Ad 15
+#define ROFF_An 16
+#define ROFF_Ar 17
+#define ROFF_Cd 18
+#define ROFF_Cm 19
+#define ROFF_Dv 20
+#define ROFF_Er 21
+#define ROFF_Ev 22
+#define ROFF_Ex 23
+#define ROFF_Fa 24
+#define ROFF_Fd 25
+#define ROFF_Fl 26
+#define ROFF_Fn 27
+#define ROFF_Ft 28
+#define ROFF_Ic 29
+#define ROFF_In 30
+#define ROFF_Li 31
+#define ROFF_Nd 32
+#define ROFF_Nm 33
+#define ROFF_Op 34
+#define ROFF_Ot 35
+#define ROFF_Pa 36
+#define ROFF_Rv 37
+#define ROFF_St 38
+#define ROFF_Va 39
+#define ROFF_Vt 40
+#define ROFF_Xr 41
+#define ROFF__A 42
+#define ROFF__B 43
+#define ROFF__D 44
+#define ROFF__I 45
+#define ROFF__J 46
+#define ROFF__N 47
+#define ROFF__O 48
+#define ROFF__P 49
+#define ROFF__R 50
+#define ROFF__T 51
+#define ROFF__V 52
+#define ROFF_Ac 53
+#define ROFF_Ao 54
+#define ROFF_Aq 55
+#define ROFF_At 56
+#define ROFF_Bc 57
+#define ROFF_Bf 58
+#define ROFF_Bo 59
+#define ROFF_Bq 60
+#define ROFF_Bsx 61
+#define ROFF_Bx 62
+#define ROFF_Db 63
+#define ROFF_Dc 64
+#define ROFF_Do 65
+#define ROFF_Dq 66
+#define ROFF_Ec 67
+#define ROFF_Ef 68
+#define ROFF_Em 60
+#define ROFF_Eo 70
+#define ROFF_Fx 71
+#define ROFF_Ms 72
+#define ROFF_No 73
+#define ROFF_Ns 74
+#define ROFF_Nx 75
+#define ROFF_Ox 76
+#define ROFF_Pc 77
+#define ROFF_Pf 78
+#define ROFF_Po 79
+#define ROFF_Pq 80
+#define ROFF_Qc 81
+#define ROFF_Ql 82
+#define ROFF_Qo 83
+#define ROFF_Qq 84
+#define ROFF_Re 85
+#define ROFF_Rs 86
+#define ROFF_Sc 87
+#define ROFF_So 88
+#define ROFF_Sq 89
+#define ROFF_Sm 90
+#define ROFF_Sx 91
+#define ROFF_Sy 92
+#define ROFF_Tn 93
+#define ROFF_Ux 94
+#define ROFF_Xc 95
+#define ROFF_Xo 96
+#define ROFF_MAX 97
#define ROFF_Split 0
#define ROFF_Nosplit 1
@@ -91,29 +153,12 @@ struct md_mbuf {
#define ROFF_Ohang 15
#define ROFF_Inset 16
#define ROFF_Column 17
-#define ROFF_ARGMAX 18
-
-#define ROFF_ARGNAMES \
- { \
- "split", \
- "nosplit", \
- "ragged", \
- "unfilled", \
- "literal", \
- "file", \
- "offset", \
- "bullet", \
- "dash", \
- "hyphen", \
- "item", \
- "enum", \
- "tag", \
- "diag", \
- "hang", \
- "ohang", \
- "inset", \
- "column", \
- }
+#define ROFF_Width 18
+#define ROFF_Compact 19
+#define ROFF_ARGMAX 20
+
+extern const char *const *toknames;
+extern const char *const *tokargnames;
/* FIXME: have a md_roff with all necessary parameters. */