]> git.cameronkatri.com Git - mandoc.git/blobdiff - tag.h
more info from John Gardner about ASCII control chars in roff(7) input
[mandoc.git] / tag.h
diff --git a/tag.h b/tag.h
index 34a7eee2cd08dc9dde198851b63400d08d033033..1eace6fd515eeef23895c29dac911bde26ad54a9 100644 (file)
--- a/tag.h
+++ b/tag.h
@@ -1,6 +1,6 @@
-/*      $Id: tag.h,v 1.4 2015/07/25 14:28:59 schwarze Exp $    */
+/* $Id: tag.h,v 1.14 2020/04/18 20:40:10 schwarze Exp $ */
 /*
- * Copyright (c) 2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2015, 2018, 2019, 2020 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Internal interfaces to tag syntax tree nodes.
+ * For use by mandoc(1) validation modules only.
  */
 
-__BEGIN_DECLS
-
-char   *tag_init(void);
-void    tag_put(const char *, int, size_t);
-void    tag_write(void);
-void    tag_unlink(void);
+/*
+ * Tagging priorities.
+ * Lower numbers indicate higher importance.
+ */
+#define        TAG_MANUAL      1               /* Set with a .Tg macro. */
+#define        TAG_STRONG      2               /* Good automatic tagging. */
+#define        TAG_WEAK        (INT_MAX - 2)   /* Dubious automatic tagging. */
+#define        TAG_FALLBACK    (INT_MAX - 1)   /* Tag only used if unique. */
+#define        TAG_DELETE      (INT_MAX)       /* Tag not used at all. */
 
-__END_DECLS
+void            tag_alloc(void);
+int             tag_exists(const char *);
+void            tag_put(const char *, int, struct roff_node *);
+void            tag_postprocess(struct roff_man *, struct roff_node *);
+void            tag_free(void);