summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOdd Stranne <odd@mullvad.net>2019-09-10 09:19:08 +0200
committerOdd Stranne <odd@mullvad.net>2019-09-10 11:02:40 +0200
commit6a347ce96f87f51d4766d8520d0a3a9f55161a73 (patch)
tree007582f56f1680c0413be1f9f0dcc2b782d2f975
parentd7ef050bf34ef1a9695b5d906020e9762e3ae9c1 (diff)
downloadmullvadvpn-6a347ce96f87f51d4766d8520d0a3a9f55161a73.tar.xz
mullvadvpn-6a347ce96f87f51d4766d8520d0a3a9f55161a73.zip
Add log sink C-interface
-rw-r--r--windows/shared/logsink.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/windows/shared/logsink.h b/windows/shared/logsink.h
new file mode 100644
index 0000000000..16a84d4def
--- /dev/null
+++ b/windows/shared/logsink.h
@@ -0,0 +1,26 @@
+#pragma once
+
+//
+// This file is shared between DLL modules to help define their public interface.
+// It should always be C-compatible.
+//
+
+enum MULLVAD_LOG_SINK_SEVERITY
+{
+ MULLVAD_LOG_SINK_SEVERITY_ERROR = 0,
+ MULLVAD_LOG_SINK_SEVERITY_WARNING,
+ MULLVAD_LOG_SINK_SEVERITY_INFO,
+ MULLVAD_LOG_SINK_SEVERITY_TRACE
+};
+
+//
+// The log sink is registered with a DLL during e.g. initialization.
+// It may later be activated as a direct or indirect result of calling into the DLL.
+//
+// The parameters are:
+//
+// `MULLVAD_LOG_SINK_SEVERITY` - Severity of the message.
+// `const char *` - The message itself.
+// `void *` - The sink context that was registered along with the sink.
+//
+typedef void (__stdcall *MullvadLogSink)(MULLVAD_LOG_SINK_SEVERITY, const char *, void *);