]> granicus.if.org Git - strace/blob - tests/sync_file_range2.c
Remove XLAT_END
[strace] / tests / sync_file_range2.c
1 /*
2  * Check decoding of sync_file_range2 syscall.
3  *
4  * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@altlinux.org>
5  * Copyright (c) 2016-2019 The strace developers.
6  * All rights reserved.
7  *
8  * SPDX-License-Identifier: GPL-2.0-or-later
9  */
10
11 #include "tests.h"
12 #include <fcntl.h>
13 #include "scno.h"
14
15 #if defined HAVE_SYNC_FILE_RANGE && defined  __NR_sync_file_range2
16
17 # include <stdio.h>
18
19 int
20 main(void)
21 {
22         const int fd = -1;
23         const off64_t offset = 0xdeadbeefbadc0ded;
24         const off64_t nbytes = 0xfacefeedcafef00d;
25         const unsigned int flags = -1;
26
27         int rc = sync_file_range(fd, offset, nbytes, flags);
28         printf("%s(%d, SYNC_FILE_RANGE_WAIT_BEFORE"
29                "|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER"
30                "|0xfffffff8, %lld, %lld) = %d %s (%m)\n",
31                "sync_file_range2", fd,
32                (long long) offset,
33                (long long) nbytes,
34                rc, errno2name());
35
36         puts("+++ exited with 0 +++");
37         return 0;
38 }
39
40 #else
41
42 SKIP_MAIN_UNDEFINED("HAVE_SYNC_FILE_RANGE && __NR_sync_file_range2")
43
44 #endif