1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
4 #include "journal-file.h"
6 typedef struct RemoteServer RemoteServer
;
8 typedef struct Writer
{
10 JournalMetrics metrics
;
11 char *output
; /* directory where we write, for vacuuming */
22 int writer_new(RemoteServer
*server
, Writer
**ret
);
23 Writer
* writer_ref(Writer
*w
);
24 Writer
* writer_unref(Writer
*w
);
26 DEFINE_TRIVIAL_CLEANUP_FUNC(Writer
*, writer_unref
);
28 int writer_write(Writer
*s
,
29 const struct iovec_wrapper
*iovw
,
30 const dual_timestamp
*ts
,
31 const sd_id128_t
*boot_id
,
32 JournalFileFlags file_flags
);
34 typedef enum JournalWriteSplitMode
{
35 JOURNAL_WRITE_SPLIT_NONE
,
36 JOURNAL_WRITE_SPLIT_HOST
,
37 _JOURNAL_WRITE_SPLIT_MAX
,
38 _JOURNAL_WRITE_SPLIT_INVALID
= -EINVAL
,
39 } JournalWriteSplitMode
;