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