New nmem utility, nmem_transfer, that transfer blocks from one
[yaz-moved-to-github.git] / include / log.h
index 7476f0b..8276260 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.5  1995-09-29 17:12:03  quinn
+ * 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
 #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 log_init(int level, const char *prefix, const char *name);
-void logf(int level, const char *fmt, ...);
-int log_mask_str (const char *str);
-FILE *log_file(void);
+YAZ_EXPORT void log_init(int level, const char *prefix, const char *name);
+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