X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-file.h;h=0294555cab023242eeedf7c452d8eef0d6f6ae00;hb=7210bfb3706f8cbb2b35403f916dace1824c516c;hp=55cc7153af1f9e50450d08efe8a4f2a42a476860;hpb=689b9a22f7fa89686b2b5240b7ee9f449dea5630;p=elogind.git diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h index 55cc7153a..0294555ca 100644 --- a/src/journal/journal-file.h +++ b/src/journal/journal-file.h @@ -32,6 +32,8 @@ typedef struct JournalFile { int fd; char *path; struct stat last_stat; + mode_t mode; + int flags; int prot; bool writable; @@ -52,18 +54,7 @@ typedef struct JournalFile { uint64_t current_offset; } JournalFile; -typedef struct JournalCursor { - uint8_t version; - uint8_t reserved[7]; - uint64_t seqnum; - sd_id128_t seqnum_id; - sd_id128_t boot_id; - uint64_t monotonic; - uint64_t realtime; - uint64_t xor_hash; -} JournalCursor; - -int journal_file_open(const char *fname, int flags, mode_t mode, JournalFile **ret); +int journal_file_open(const char *fname, int flags, mode_t mode, JournalFile *template, JournalFile **ret); void journal_file_close(JournalFile *j); @@ -71,7 +62,7 @@ int journal_file_move_to_object(JournalFile *f, uint64_t offset, int type, Objec uint64_t journal_file_entry_n_items(Object *o); -int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const struct iovec iovec[], unsigned n_iovec, Object **ret, uint64_t *offset); +int journal_file_append_entry(JournalFile *f, const dual_timestamp *ts, const struct iovec iovec[], unsigned n_iovec, uint64_t *seqno, Object **ret, uint64_t *offset); int journal_file_move_to_entry(JournalFile *f, uint64_t seqnum, Object **ret, uint64_t *offset); @@ -83,4 +74,9 @@ int journal_file_prev_entry(JournalFile *f, Object *o, Object **ret, uint64_t *o void journal_file_dump(JournalFile *f); +int journal_file_rotate(JournalFile **f); + +int journal_directory_vacuum(const char *directory, uint64_t max_use, uint64_t min_free); + + #endif