]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal-remote/journal-remote-write.h
Merge pull request #12519 from keszybz/man-on-demand
[thirdparty/systemd.git] / src / journal-remote / journal-remote-write.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
0ef6f454
LP
2#pragma once
3
fdfccdbc 4#include "journal-file.h"
b18453ed 5#include "journal-importer.h"
fdfccdbc 6
9ff48d09
ZJS
7typedef struct RemoteServer RemoteServer;
8
fdfccdbc
ZJS
9typedef struct Writer {
10 JournalFile *journal;
11 JournalMetrics metrics;
9ff48d09 12
fdfccdbc 13 MMapCache *mmap;
9ff48d09
ZJS
14 RemoteServer *server;
15 char *hashmap_key;
16
fdfccdbc 17 uint64_t seqnum;
9ff48d09 18
cf4b2f99 19 unsigned n_ref;
fdfccdbc
ZJS
20} Writer;
21
9ff48d09 22Writer* writer_new(RemoteServer* server);
9ff48d09
ZJS
23Writer* writer_ref(Writer *w);
24Writer* writer_unref(Writer *w);
25
26DEFINE_TRIVIAL_CLEANUP_FUNC(Writer*, writer_unref);
9ff48d09 27
fdfccdbc
ZJS
28int writer_write(Writer *s,
29 struct iovec_wrapper *iovw,
30 dual_timestamp *ts,
924426a7 31 sd_id128_t *boot_id,
fdfccdbc
ZJS
32 bool compress,
33 bool seal);
8201af08
ZJS
34
35typedef enum JournalWriteSplitMode {
36 JOURNAL_WRITE_SPLIT_NONE,
37 JOURNAL_WRITE_SPLIT_HOST,
38 _JOURNAL_WRITE_SPLIT_MAX,
39 _JOURNAL_WRITE_SPLIT_INVALID = -1
40} JournalWriteSplitMode;