]> git.proxmox.com Git - systemd.git/blame - src/journal-remote/journal-remote-write.h
New upstream version 240
[systemd.git] / src / journal-remote / journal-remote-write.h
CommitLineData
52ad194e 1/* SPDX-License-Identifier: LGPL-2.1+ */
aa27b158
MP
2#pragma once
3
60f067b4 4#include "journal-file.h"
2897b343 5#include "journal-importer.h"
60f067b4 6
5eef597e
MP
7typedef struct RemoteServer RemoteServer;
8
60f067b4
JS
9typedef struct Writer {
10 JournalFile *journal;
11 JournalMetrics metrics;
5eef597e 12
60f067b4 13 MMapCache *mmap;
5eef597e
MP
14 RemoteServer *server;
15 char *hashmap_key;
16
60f067b4 17 uint64_t seqnum;
5eef597e 18
6e866b33 19 unsigned n_ref;
60f067b4
JS
20} Writer;
21
5eef597e 22Writer* writer_new(RemoteServer* server);
5eef597e
MP
23Writer* writer_ref(Writer *w);
24Writer* writer_unref(Writer *w);
25
26DEFINE_TRIVIAL_CLEANUP_FUNC(Writer*, writer_unref);
5eef597e 27
60f067b4
JS
28int writer_write(Writer *s,
29 struct iovec_wrapper *iovw,
30 dual_timestamp *ts,
31 bool compress,
32 bool seal);
5eef597e
MP
33
34typedef enum JournalWriteSplitMode {
35 JOURNAL_WRITE_SPLIT_NONE,
36 JOURNAL_WRITE_SPLIT_HOST,
37 _JOURNAL_WRITE_SPLIT_MAX,
38 _JOURNAL_WRITE_SPLIT_INVALID = -1
39} JournalWriteSplitMode;