]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/copy.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 This file is part of systemd.
7 Copyright 2014 Lennart Poettering
13 #include <sys/types.h>
15 typedef enum CopyFlags
{
16 COPY_REFLINK
= 0x1, /* try to reflink */
17 COPY_MERGE
= 0x2, /* merge existing trees with our new one to copy */
18 COPY_REPLACE
= 0x4, /* replace an existing file if there's one */
21 int copy_file_fd(const char *from
, int to
, CopyFlags copy_flags
);
22 int copy_file(const char *from
, const char *to
, int open_flags
, mode_t mode
, unsigned chattr_flags
, CopyFlags copy_flags
);
23 int copy_file_atomic(const char *from
, const char *to
, mode_t mode
, unsigned chattr_flags
, CopyFlags copy_flags
);
24 int copy_tree(const char *from
, const char *to
, uid_t override_uid
, gid_t override_gid
, CopyFlags copy_flags
);
25 int copy_tree_at(int fdf
, const char *from
, int fdt
, const char *to
, uid_t override_uid
, gid_t override_gid
, CopyFlags copy_flags
);
26 int copy_directory_fd(int dirfd
, const char *to
, CopyFlags copy_flags
);
27 int copy_directory(const char *from
, const char *to
, CopyFlags copy_flags
);
28 int copy_bytes(int fdf
, int fdt
, uint64_t max_bytes
, CopyFlags copy_flags
);
29 int copy_times(int fdf
, int fdt
);
30 int copy_xattr(int fdf
, int fdt
);