]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/copy.h
tree-wide: never use the off_t unless glibc makes us use it
[thirdparty/systemd.git] / src / basic / copy.h
CommitLineData
849958d1
LP
1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
3#pragma once
4
5/***
6 This file is part of systemd.
7
8 Copyright 2014 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22***/
23
59f448cf 24#include <inttypes.h>
81a12ba6
RC
25#include <stdbool.h>
26#include <sys/types.h>
27
7430ec6a 28int copy_file_fd(const char *from, int to, bool try_reflink);
45030287
LP
29int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned chattr_flags);
30int copy_file_atomic(const char *from, const char *to, mode_t mode, bool replace, unsigned chattr_flags);
e156347e 31int copy_tree(const char *from, const char *to, bool merge);
f2cbe59e
LP
32int copy_tree_at(int fdf, const char *from, int fdt, const char *to, bool merge);
33int copy_directory_fd(int dirfd, const char *to, bool merge);
59f448cf 34int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink);
e6bd041c
LP
35int copy_times(int fdf, int fdt);
36int copy_xattr(int fdf, int fdt);