/* -*-c-*-
*
- * $Id: trace.h,v 1.5 1999/12/10 23:42:04 mdw Exp $
+ * $Id: trace.h,v 1.7 2004/04/08 01:36:13 mdw Exp $
*
* Tracing functions for debugging
*
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: trace.h,v $
- * Revision 1.5 1999/12/10 23:42:04 mdw
- * Change header file guard names.
- *
- * Revision 1.4 1999/10/22 22:39:52 mdw
- * New documented interface for tracing.
- *
- * Revision 1.3 1999/05/06 19:51:35 mdw
- * Reformatted the LGPL notice a little bit.
- *
- * Revision 1.2 1999/05/05 18:50:31 mdw
- * Change licensing conditions to LGPL.
- *
- * Revision 1.1.1.1 1998/06/17 23:44:42 mdw
- * Initial version of mLib
- *
- */
-
#ifndef MLIB_TRACE_H
#define MLIB_TRACE_H
extern void trace_on(FILE */*fp*/, unsigned /*l*/);
+/* --- @trace_custom@ --- *
+ *
+ * Arguments: @void (*func)(const char *buf, size_t sz, void *v)@ =
+ * output function
+ * @void *v@ = magic handle to give to function
+ *
+ * Returns: ---
+ *
+ * Use: Sets up a custom trace handler.
+ */
+
+extern void trace_custom(void (*/*func*/)(const char */*buf*/,
+ size_t /*sz*/, void */*v*/),
+ void */*v*/);
+
/* --- @trace_level@ --- *
*
* Arguments: @unsigned l@ = trace level to set
/* --- @traceopt@ --- *
*
- * Arguments: @trace_opt *t@ = pointer to trace options table
+ * Arguments: @const trace_opt *t@ = pointer to trace options table
* @const char *p@ = option string supplied by user
* @unsigned f@ = initial tracing flags
* @unsigned bad@ = forbidden tracing flags
* `?' character, a help message is displayed.
*/
-extern unsigned traceopt(trace_opt */*t*/, const char */*p*/,
+extern unsigned traceopt(const trace_opt */*t*/, const char */*p*/,
unsigned /*f*/, unsigned /*bad*/);
/*----- Tracing macros ----------------------------------------------------*/