# endif
#endif
+/* On musl, O_ACCMODE is defined as (03|O_SEARCH), unlike glibc which defines it as
+ * (O_RDONLY|O_WRONLY|O_RDWR). Additionally, O_SEARCH is simply defined as O_PATH. This changes the behaviour
+ * of O_ACCMODE in certain situations, which we don't want. This definition is copied from glibc and works
+ * around the problems with musl's definition. */
+#define O_ACCMODE_STRICT (O_RDONLY|O_WRONLY|O_RDWR)
+
int close_nointr(int fd);
int safe_close(int fd);
void safe_close_pair(int p[static 2]);
#ifndef AT_HANDLE_FID
#define AT_HANDLE_FID AT_REMOVEDIR
#endif
-
-/* On musl, O_ACCMODE is defined as (03|O_SEARCH), unlike glibc which defines it as
- * (O_RDONLY|O_WRONLY|O_RDWR). Additionally, O_SEARCH is simply defined as O_PATH. This changes the behaviour
- * of O_ACCMODE in certain situations, which we don't want. This definition is copied from glibc and works
- * around the problems with musl's definition. */
-#define O_ACCMODE_STRICT (O_RDONLY|O_WRONLY|O_RDWR)
return false;
}
+bool journal_file_writable(JournalFile *f) {
+ assert(f);
+ return (f->open_flags & O_ACCMODE_STRICT) != O_RDONLY;
+}
+
static const char * const journal_object_type_table[] = {
[OBJECT_UNUSED] = "unused",
[OBJECT_DATA] = "data",
}
}
-static inline bool journal_file_writable(JournalFile *f) {
- assert(f);
- return (f->open_flags & O_ACCMODE_STRICT) != O_RDONLY;
-}
+bool journal_file_writable(JournalFile *f);
#include "chattr-util.h"
#include "copy.h"
#include "errno-util.h"
+#include "fd-util.h"
#include "journal-authenticate.h"
#include "journal-file-util.h"
#include "log.h"