/* -*-c-*-
*
- * $Id: anag.h,v 1.2 2002/08/11 12:58:09 mdw Exp $
- *
* External definitions for Anag
*
* (c) 2001 Mark Wooding
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of Anag: a simple wordgame helper.
*
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* Anag is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with Anag; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: anag.h,v $
- * Revision 1.2 2002/08/11 12:58:09 mdw
- * Added support for regular expression matching, if supported by the C
- * library.
- *
- * Revision 1.1 2001/02/04 17:14:42 mdw
- * Initial checkin
- *
- */
-
#ifndef ANAG_H
#define ANAG_H
extern node *subgram(const char *const */*av*/);
extern node *wildcard(const char *const */*av*/);
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 ---------------------------------------------------*/
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