]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/shared/install-file.h
install-file: make fs_make_very_read_only() static
[thirdparty/systemd.git] / src / shared / install-file.h
CommitLineData
235be6bc
LP
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2#pragma once
3
235be6bc
LP
4typedef enum InstallFileFlags {
5 INSTALL_REPLACE = 1 << 0, /* Replace an existing inode */
6 INSTALL_READ_ONLY = 1 << 1, /* Call fs_make_very_read_only() to make the inode comprehensively read-only */
7 INSTALL_FSYNC = 1 << 2, /* fsync() file contents before moving file in */
8 INSTALL_FSYNC_FULL = 1 << 3, /* like INSTALL_FSYNC, but also fsync() parent dir before+after moving file in */
9 INSTALL_SYNCFS = 1 << 4, /* syncfs() before moving file in, fsync() parent dir after moving file in */
10} InstallFileFlags;
11
12int install_file(int source_atfd, const char *source_name, int target_atfd, const char *target_name, InstallFileFlags flags);