31 lines
669 B
C
31 lines
669 B
C
/* 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 char *tag1, const struct log *log1, const char *tag2, const struct log *log2);
|
|
struct log *open_log(const char *file_name);
|
|
|
|
#endif
|