New nmem utility, nmem_transfer, that transfer blocks from one
[yaz-moved-to-github.git] / include / log.h
index a0dd4cd..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.9  1997-05-01 15:06:42  adam
+ * 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
 #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_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);
-int log_mask_str_x (const char *str, int level);
-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);
 
-void log_event_start (void (*func)(int level, const char *msg, void *info),
+YAZ_EXPORT void log_event_start (void (*func)(int level, const char *msg, void *info),
        void *info);
-void log_event_end (void (*func)(int level, const char *msg, void *info),
+YAZ_EXPORT void log_event_end (void (*func)(int level, const char *msg, void *info),
        void *info);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif