+#define ROFF_Width 18
+#define ROFF_Compact 19
+#define ROFF_Std 20
+#define ROFF_p1003_1_88 21
+#define ROFF_p1003_1_90 22
+#define ROFF_p1003_1_96 23
+#define ROFF_p1003_1_2001 24
+#define ROFF_p1003_1_2004 25
+#define ROFF_p1003_1 26
+#define ROFF_p1003_1b 27
+#define ROFF_p1003_1b_93 28
+#define ROFF_p1003_1c_95 29
+#define ROFF_p1003_1g_2000 30
+#define ROFF_p1003_2_92 31
+#define ROFF_p1387_2_95 32
+#define ROFF_p1003_2 33
+#define ROFF_p1387_2 34
+#define ROFF_isoC_90 35
+#define ROFF_isoC_amd1 36
+#define ROFF_isoC_tcor1 37
+#define ROFF_isoC_tcor2 38
+#define ROFF_isoC_99 39
+#define ROFF_ansiC 40
+#define ROFF_ansiC_89 41
+#define ROFF_ansiC_99 42
+#define ROFF_ieee754 43
+#define ROFF_iso8802_3 44
+#define ROFF_xpg3 45
+#define ROFF_xpg4 46
+#define ROFF_xpg4_2 47
+#define ROFF_xpg4_3 48
+#define ROFF_xbd5 49
+#define ROFF_xcu5 50
+#define ROFF_xsh5 51
+#define ROFF_xns5 52
+#define ROFF_xns5_2d2_0 53
+#define ROFF_xcurses4_2 54
+#define ROFF_susv2 55
+#define ROFF_susv3 56
+#define ROFF_svid4 57
+#define ROFF_Filled 58
+#define ROFF_Words 59
+#define ROFF_ARGMAX 60
+
+#define ROFF_MAXLINEARG 32
+
+extern const char *const *toknames;
+extern const char *const *tokargnames;
+
+enum roffmsg { ROFF_WARN, ROFF_ERROR };
+
+struct roffcb {
+ void (*roffmsg)(void *, enum roffmsg,
+ const char *, const char *, char *);
+ int (*roffhead)(void *, const struct tm *, const char *,
+ const char *, const char *, const char *);
+ int (*rofftail)(void *);
+ int (*roffdata)(void *, int, const char *, char *);
+ int (*roffin)(void *, int, int *, char **);
+ int (*roffout)(void *, int);
+ int (*roffblkin)(void *, int, int *, char **);
+ int (*roffblkout)(void *, int);
+ int (*roffblkheadin)(void *, int, int *, char **);
+ int (*roffblkheadout)(void *, int);
+ int (*roffblkbodyin)(void *, int, int *, char **);
+ int (*roffblkbodyout)(void *, int);
+ int (*roffspecial)(void *, int, const char *, char **);
+};
+
+struct rofftree;