+/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
/***
#include <inttypes.h>
-#ifdef HAVE_GCRYPT
+#if HAVE_GCRYPT
#include <gcrypt.h>
#endif
typedef struct JournalFile {
int fd;
+ MMapFileDescriptor *cache_fd;
mode_t mode;
bool compress_lz4:1;
bool seal:1;
bool defrag_on_close:1;
+ bool close_fd:1;
+ bool archive:1;
bool tail_entry_monotonic_valid:1;
pthread_t offline_thread;
volatile OfflineState offline_state;
-#if defined(HAVE_XZ) || defined(HAVE_LZ4)
+#if HAVE_XZ || HAVE_LZ4
void *compress_buffer;
size_t compress_buffer_size;
#endif
-#ifdef HAVE_GCRYPT
+#if HAVE_GCRYPT
gcry_md_hd_t hmac;
bool hmac_running;
} JournalFile;
int journal_file_open(
+ int fd,
const char *fname,
int flags,
mode_t mode,
int journal_file_set_offline(JournalFile *f, bool wait);
bool journal_file_is_offlining(JournalFile *f);
JournalFile* journal_file_close(JournalFile *j);
-void journal_file_close_set(Set *s);
int journal_file_open_reliably(
const char *fname,