/*
- * Copyright (c) 1995, Index Data.
+ * Copyright (c) 1995-1998, Index Data.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* OF THIS SOFTWARE.
*
* $Log: log.h,v $
- * Revision 1.4 1995-09-27 15:02:47 quinn
+ * Revision 1.14 1998-10-28 10:26:59 adam
+ * New functions log_init_file, log_init_level, log_init_prefix.
+ *
+ * Revision 1.13 1998/10/13 16:11:11 adam
+ * Added printf-format check for logf when using GNUC.
+ *
+ * Revision 1.12 1997/09/04 07:59:02 adam
+ * Added include of xmalloc.h.
+ *
+ * Revision 1.11 1997/09/01 08:49:48 adam
+ * New windows NT/95 port using MSV5.0. To export DLL functions the
+ * YAZ_EXPORT modifier was added. Defined in yconfig.h.
+ *
+ * Revision 1.10 1997/05/14 06:53:40 adam
+ * C++ support.
+ *
+ * Revision 1.9 1997/05/01 15:06:42 adam
+ * Added log_mask_str_x routine.
+ *
+ * Revision 1.8 1996/05/01 12:45:00 quinn
+ * *** empty log message ***
+ *
+ * Revision 1.7 1996/02/05 12:24:26 adam
+ * Implemented log_event_{start,end}-functions.
+ *
+ * Revision 1.6 1995/10/10 16:27:06 quinn
+ * *** empty log message ***
+ *
+ * Revision 1.5 1995/09/29 17:12:03 quinn
+ * Smallish
+ *
+ * Revision 1.4 1995/09/27 15:02:47 quinn
* Modified function heads & prototypes.
*
* Revision 1.3 1995/06/19 12:38:25 quinn
#define LOG_H
#include <yconfig.h>
+#include <xmalloc.h>
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
#define LOG_FATAL 0x0001
#define LOG_DEBUG 0x0002
#define LOG_WARN 0x0004
#define LOG_LOG 0x0008
#define LOG_ERRNO 0x0010 /* append strerror to message */
+#define LOG_FILE 0x0020
#define LOG_ALL 0xffff
#define LOG_DEFAULT_LEVEL (LOG_FATAL | LOG_ERRNO | LOG_LOG | LOG_WARN)
-void MDF log_init(int level, const char *prefix, const char *name);
-void MDF logf(int level, const char *fmt, ...);
-int MDF log_mask_str (const char *str);
-FILE MDF *log_file(void);
+YAZ_EXPORT void log_init(int level, const char *prefix, const char *name);
+YAZ_EXPORT void log_init_file (const char *fname);
+YAZ_EXPORT void log_init_level (int level);
+YAZ_EXPORT void log_init_prefix (const char *prefix);
+
+YAZ_EXPORT void logf(int level, const char *fmt, ...)
+#ifdef __GNUC__
+ __attribute__ ((format (printf, 2, 3)))
+#endif
+ ;
+YAZ_EXPORT int log_mask_str (const char *str);
+YAZ_EXPORT int log_mask_str_x (const char *str, int level);
+YAZ_EXPORT FILE *log_file(void);
+
+YAZ_EXPORT void log_event_start (void (*func)(int level, const char *msg, void *info),
+ void *info);
+YAZ_EXPORT void log_event_end (void (*func)(int level, const char *msg, void *info),
+ void *info);
+
+#ifdef __cplusplus
+}
+#endif
#endif