2018-12-13 04:51:03 +00:00
|
|
|
/* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
* Copyright © 2018 WireGuard LLC. All Rights Reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef RINGLOGGER_H
|
|
|
|
#define RINGLOGGER_H
|
|
|
|
|
2018-12-13 10:08:10 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2018-12-13 04:51:03 +00:00
|
|
|
void write_msg_to_log(struct log *log, const char *msg);
|
2018-12-13 12:30:29 +00:00
|
|
|
int write_logs_to_file(const char *file_name, const char *tag1, const struct log *log1, const char *tag2, const struct log *log2);
|
2018-12-13 04:51:03 +00:00
|
|
|
struct log *open_log(const char *file_name);
|
|
|
|
|
|
|
|
#endif
|