Add filtering by length, and retaining only longest/shortest matches.
[anag] / anag.h
diff --git a/anag.h b/anag.h
index e233159..f9eb5a3 100644 (file)
--- a/anag.h
+++ b/anag.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: anag.h,v 1.5 2004/04/08 01:36:19 mdw Exp $
+ * $Id$
  *
  * External definitions for Anag
  *
@@ -69,6 +69,14 @@ extern node *trackword(const char *const */*av*/);
 extern node *mono(const char *const */*av*/);
 extern node *regexp(const char *const */*av*/);
 extern node *pcrenode(const char *const */*av*/);
+extern node *longest(const char *const */*av*/);
+extern node *shortest(const char *const */*av*/);
+
+/*----- Exit codes --------------------------------------------------------*/
+
+#define EX_OK 0
+#define EX_NONE 1
+#define EX_FAIL 127
 
 /*----- Error reporting ---------------------------------------------------*/
 
@@ -189,6 +197,22 @@ extern void dstr_ensure(dstr */*d*/, size_t /*sz*/);
 
 extern int dstr_putline(dstr */*d*/, FILE */*fp*/);
 
+/*----- Infrastructure ----------------------------------------------------*/
+
+/* --- @atend_register@ --- *
+ *
+ * Arguments:  @int (*func)(void *)@ = function to call
+ *             @void *p@ = handle to pass to it
+ *
+ * Returns:    ---
+ *
+ * Use:                Adds a function to the list of things to do at the end of the
+ *             program.  The function should return nonzero if it produced
+ *             any output.
+ */
+
+extern void atend_register(int (*/*func*/)(void */*p*/), void */*p*/);
+
 /*----- That's all, folks -------------------------------------------------*/
 
 #ifdef __cplusplus