X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/48ef4044a299e0b5996e03ddd8f3b1c6df26796e..f66ab5bb088ddc99a318150754d2bff5eb69c3cc:/mdoc.h diff --git a/mdoc.h b/mdoc.h index 89f80d49..184d08e1 100644 --- a/mdoc.h +++ b/mdoc.h @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.62 2009/07/06 09:21:24 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.73 2009/10/30 05:58:38 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -17,8 +17,6 @@ #ifndef MDOC_H #define MDOC_H -#include - /* * This library implements a validating scanner/parser for ``mdoc'' roff * macro documents, a.k.a. BSD manual page documents. The mdoc.c file @@ -147,7 +145,10 @@ #define MDOC_En 115 #define MDOC_Dx 116 #define MDOC__Q 117 -#define MDOC_MAX 118 +#define MDOC_br 118 +#define MDOC_sp 119 +#define MDOC__U 120 +#define MDOC_MAX 121 /* What follows is a list of ALL possible macro arguments. */ @@ -177,7 +178,8 @@ #define MDOC_Emphasis 23 #define MDOC_Symbolic 24 #define MDOC_Nested 25 -#define MDOC_ARG_MAX 26 +#define MDOC_Centred 26 +#define MDOC_ARG_MAX 27 /* Type of a syntax node. */ enum mdoc_type { @@ -198,8 +200,9 @@ enum mdoc_sec { SEC_SYNOPSIS, SEC_DESCRIPTION, SEC_IMPLEMENTATION, + SEC_EXIT_STATUS, SEC_RETURN_VALUES, - SEC_ENVIRONMENT, + SEC_ENVIRONMENT, SEC_FILES, SEC_EXAMPLES, SEC_DIAGNOSTICS, @@ -211,6 +214,7 @@ enum mdoc_sec { SEC_AUTHORS, SEC_CAVEATS, SEC_BUGS, + SEC_SECURITY, SEC_CUSTOM /* User-defined. */ }; @@ -256,7 +260,6 @@ struct mdoc_node { enum mdoc_type type; enum mdoc_sec sec; - /* FIXME: union/struct this with #defines. */ struct mdoc_arg *args; /* BLOCK/ELEM */ struct mdoc_node *head; /* BLOCK */ struct mdoc_node *body; /* BLOCK */ @@ -270,7 +273,7 @@ struct mdoc_node { #define MDOC_IGN_CHARS (1 << 3) /* Ignore disallowed chars. */ /* Call-backs for parse messages. */ -/* FIXME: unify somehow with man_cb. */ + struct mdoc_cb { int (*mdoc_err)(void *, int, int, const char *); int (*mdoc_warn)(void *, int, int, const char *); @@ -289,16 +292,12 @@ struct mdoc; void mdoc_free(struct mdoc *); struct mdoc *mdoc_alloc(void *, int, const struct mdoc_cb *); -int mdoc_reset(struct mdoc *); +void mdoc_reset(struct mdoc *); int mdoc_parseln(struct mdoc *, int, char *buf); const struct mdoc_node *mdoc_node(const struct mdoc *); const struct mdoc_meta *mdoc_meta(const struct mdoc *); int mdoc_endparse(struct mdoc *); -const char *mdoc_a2att(const char *); -const char *mdoc_a2lib(const char *); -const char *mdoc_a2st(const char *); - __END_DECLS #endif /*!MDOC_H*/