aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/Shared/Logging/ringlogger.h
diff options
context:
space:
mode:
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