(root)/
strace-6.5/
tests-mx32/
sync_file_range.c
       1  /*
       2   * Check decoding of sync_file_range syscall.
       3   *
       4   * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@strace.io>
       5   * Copyright (c) 2016-2021 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_range
      16  
      17  # include <stdio.h>
      18  
      19  int
      20  main(void)
      21  {
      22  	const int fd = -1;
      23  	const off64_t offset = 0xdeadbeefbadc0dedULL;
      24  	const off64_t nbytes = 0xfacefeedcafef00dULL;
      25  	const unsigned int flags = -1;
      26  
      27  	int rc = sync_file_range(fd, offset, nbytes, flags);
      28  	printf("%s(%d, %lld, %lld, SYNC_FILE_RANGE_WAIT_BEFORE"
      29  	       "|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER"
      30  	       "|0xfffffff8) = %d %s (%m)\n",
      31  	       "sync_file_range", 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_range")
      43  
      44  #endif