Merge pull request #3547 from cmp-/remove-obsolete-stack-checks-win32
[mono.git] / mono / utils / mono-logger-internals.h
index 89e9a01023ab32bf0a3738271aa6141b5a397f72..57ef259677fd4b3ec81df0cadc1f70e6da914eb0 100644 (file)
@@ -17,6 +17,7 @@ typedef enum {
        MONO_TRACE_THREADPOOL           = (1<<7),
        MONO_TRACE_IO_THREADPOOL        = (1<<8),
        MONO_TRACE_IO_LAYER             = (1<<9),
+       MONO_TRACE_W32HANDLE    = (1<<10),
        MONO_TRACE_ALL                  = MONO_TRACE_ASSEMBLY |
                                          MONO_TRACE_TYPE |
                                          MONO_TRACE_DLLIMPORT |
@@ -26,7 +27,8 @@ typedef enum {
                                          MONO_TRACE_SECURITY |
                                          MONO_TRACE_THREADPOOL |
                                          MONO_TRACE_IO_THREADPOOL |
-                                         MONO_TRACE_IO_LAYER
+                                         MONO_TRACE_IO_LAYER |
+                                         MONO_TRACE_W32HANDLE
 } MonoTraceMask;
 
 extern GLogLevelFlags mono_internal_current_level;
@@ -147,6 +149,31 @@ mono_trace_message(MonoTraceMask mask, const char *format, ...)
 
 #endif
 
+/* Internal logging API */
+typedef void (*MonoLoggerOpen) (const char *, void *);
+typedef void (*MonoLoggerWrite) (const char *, GLogLevelFlags, mono_bool, const char *);
+typedef void (*MonoLoggerClose) (void);
+
+typedef struct _MonoLogCallParm_ {
+       MonoLoggerOpen  opener;         /* Routine to open logging */
+       MonoLoggerWrite writer;         /* Routine to write log data */
+       MonoLoggerClose closer;         /* Routine to close logging */
+       char            *dest;          /* Log destination */
+       void            *user_data;     /* User data from legacy handler */
+       mono_bool       header;         /* Whether we want pid/time/date in log message */
+} MonoLogCallParm;
+
+void mono_trace_set_log_handler_internal (MonoLogCallParm *callback, void *user_data);
+void mono_trace_set_logdest_string (const char *value);
+void mono_trace_set_logheader_string (const char *value);
+
+void mono_log_open_syslog (const char *, void *);
+void mono_log_write_syslog (const char *, GLogLevelFlags, mono_bool, const char *);
+void mono_log_close_syslog (void);
+
+void mono_log_open_logfile (const char *, void *);
+void mono_log_write_logfile (const char *, GLogLevelFlags, mono_bool, const char *);
+void mono_log_close_logfile (void);
 
 G_END_DECLS