chiark / gitweb /
Fix service file to match installed elogind binary location
[elogind.git] / src / basic / copy.h
1 #pragma once
2
3 /***
4   This file is part of systemd.
5
6   Copyright 2014 Lennart Poettering
7
8   systemd is free software; you can redistribute it and/or modify it
9   under the terms of the GNU Lesser General Public License as published by
10   the Free Software Foundation; either version 2.1 of the License, or
11   (at your option) any later version.
12
13   systemd is distributed in the hope that it will be useful, but
14   WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16   Lesser General Public License for more details.
17
18   You should have received a copy of the GNU Lesser General Public License
19   along with systemd; If not, see <http://www.gnu.org/licenses/>.
20 ***/
21
22 #include <inttypes.h>
23 #include <stdbool.h>
24 #include <stdint.h>
25 #include <sys/types.h>
26
27 typedef enum CopyFlags {
28         COPY_REFLINK    = 0x1,      /* try to reflink */
29         COPY_MERGE      = 0x2,      /* merge existing trees with our new one to copy */
30         COPY_REPLACE    = 0x4,      /* replace an existing file if there's one */
31 } CopyFlags;
32
33 #if 0 /// UNNEEDED by elogind
34 int copy_file_fd(const char *from, int to, CopyFlags copy_flags);
35 int copy_file(const char *from, const char *to, int open_flags, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags);
36 int copy_file_atomic(const char *from, const char *to, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags);
37 int copy_tree(const char *from, const char *to, uid_t override_uid, gid_t override_gid, CopyFlags copy_flags);
38 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);
39 int copy_directory_fd(int dirfd, const char *to, CopyFlags copy_flags);
40 int copy_directory(const char *from, const char *to, CopyFlags copy_flags);
41 #endif // 0
42 int copy_bytes(int fdf, int fdt, uint64_t max_bytes, CopyFlags copy_flags);
43 #if 0 /// UNNEEDED by elogind
44 int copy_times(int fdf, int fdt);
45 int copy_xattr(int fdf, int fdt);
46 #endif // 0