]> git.cameronkatri.com Git - mandoc.git/blobdiff - tag.h
old groff_char(7) reported by kamil at NetBSD
[mandoc.git] / tag.h
diff --git a/tag.h b/tag.h
index 0cf5c90b2838886801a558ddc7b49350aafef78c..1eace6fd515eeef23895c29dac911bde26ad54a9 100644 (file)
--- a/tag.h
+++ b/tag.h
@@ -1,6 +1,6 @@
-/*      $Id: tag.h,v 1.5 2015/07/28 18:38:55 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.
  */
 
-struct tag_files {
-       char     ofn[20];
-       char     tfn[20];
-       int      ofd;
-       int      tfd;
-};
-
-__BEGIN_DECLS
-
-struct tag_files *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);