]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal-remote/journal-remote-write.h
Merge pull request #33157 from DaanDeMeyer/end
[thirdparty/systemd.git] / src / journal-remote / journal-remote-write.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
0ef6f454
LP
2#pragma once
3
1e094703 4#include "journal-file.h"
b18453ed 5#include "journal-importer.h"
fdfccdbc 6
9ff48d09
ZJS
7typedef struct RemoteServer RemoteServer;
8
fdfccdbc 9typedef struct Writer {
45c0ecba 10 JournalFile *journal;
fdfccdbc 11 JournalMetrics metrics;
f12b399d 12 char *output; /* directory where we write, for vacuuming */
9ff48d09 13
fdfccdbc 14 MMapCache *mmap;
9ff48d09
ZJS
15 RemoteServer *server;
16 char *hashmap_key;
17
fdfccdbc 18 uint64_t seqnum;
9ff48d09 19
cf4b2f99 20 unsigned n_ref;
fdfccdbc
ZJS
21} Writer;
22
4c3d2523 23int writer_new(RemoteServer *server, Writer **ret);
9ff48d09
ZJS
24Writer* writer_ref(Writer *w);
25Writer* writer_unref(Writer *w);
26
27DEFINE_TRIVIAL_CLEANUP_FUNC(Writer*, writer_unref);
9ff48d09 28
fdfccdbc 29int writer_write(Writer *s,
a35420d8
LP
30 const struct iovec_wrapper *iovw,
31 const dual_timestamp *ts,
32 const sd_id128_t *boot_id,
49615dbd 33 JournalFileFlags file_flags);
8201af08
ZJS
34
35typedef enum JournalWriteSplitMode {
36 JOURNAL_WRITE_SPLIT_NONE,
37 JOURNAL_WRITE_SPLIT_HOST,
38 _JOURNAL_WRITE_SPLIT_MAX,
2d93c20e 39 _JOURNAL_WRITE_SPLIT_INVALID = -EINVAL,
8201af08 40} JournalWriteSplitMode;