]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/journal-remote/journal-remote-write.h
tree-wide: use unsigned for refcount
[thirdparty/systemd.git] / src / journal-remote / journal-remote-write.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 #include "journal-file.h"
5 #include "journal-importer.h"
6
7 typedef struct RemoteServer RemoteServer;
8
9 typedef struct Writer {
10 JournalFile *journal;
11 JournalMetrics metrics;
12
13 MMapCache *mmap;
14 RemoteServer *server;
15 char *hashmap_key;
16
17 uint64_t seqnum;
18
19 unsigned n_ref;
20 } Writer;
21
22 Writer* writer_new(RemoteServer* server);
23 Writer* writer_free(Writer *w);
24
25 Writer* writer_ref(Writer *w);
26 Writer* writer_unref(Writer *w);
27
28 DEFINE_TRIVIAL_CLEANUP_FUNC(Writer*, writer_unref);
29
30 int writer_write(Writer *s,
31 struct iovec_wrapper *iovw,
32 dual_timestamp *ts,
33 bool compress,
34 bool seal);
35
36 typedef enum JournalWriteSplitMode {
37 JOURNAL_WRITE_SPLIT_NONE,
38 JOURNAL_WRITE_SPLIT_HOST,
39 _JOURNAL_WRITE_SPLIT_MAX,
40 _JOURNAL_WRITE_SPLIT_INVALID = -1
41 } JournalWriteSplitMode;