diff options
Diffstat (limited to 'WireGuard/Shared/Logging/ringlogger.h')
-rw-r--r-- | WireGuard/Shared/Logging/ringlogger.h | 30 |
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 |