aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/Shared/Logging/ringlogger.h
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-12-13 15:38:10 +0530
committerRoopesh Chander <roop@roopc.net>2018-12-13 17:37:14 +0530
commitae7fb7323faf6321d07dd855ea4f7641d2424ec0 (patch)
treee06c8af688ca2de4c0464b7d206a140d9cf92f3d /WireGuard/Shared/Logging/ringlogger.h
parentAvoid using 'VPN' in code where possible (diff)
downloadwireguard-apple-ae7fb7323faf6321d07dd855ea4f7641d2424ec0.tar.xz
wireguard-apple-ae7fb7323faf6321d07dd855ea4f7641d2424ec0.zip
Logging: Use ringlogger for logging from the extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/Shared/Logging/ringlogger.h')
-rw-r--r--WireGuard/Shared/Logging/ringlogger.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/WireGuard/Shared/Logging/ringlogger.h b/WireGuard/Shared/Logging/ringlogger.h
new file mode 100644
index 0000000..a8d07c0
--- /dev/null
+++ b/WireGuard/Shared/Logging/ringlogger.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * Copyright © 2018 WireGuard LLC. All Rights Reserved.
+ */
+
+#ifndef RINGLOGGER_H
+#define RINGLOGGER_H
+
+enum {
+ MAX_LOG_LINE_LENGTH = 512,
+ MAX_LINES = 1024,
+ MAGIC = 0xdeadbeefU
+};
+
+struct log_line {
+ struct timeval tv;
+ char line[MAX_LOG_LINE_LENGTH];
+};
+
+struct log {
+ struct { uint32_t first, len; } header;
+ struct log_line lines[MAX_LINES];
+ uint32_t magic;
+};
+
+void write_msg_to_log(struct log *log, const char *msg);
+int write_logs_to_file(const char *file_name, const struct log *log1, const struct log *log2);
+struct log *open_log(const char *file_name);
+
+#endif