(root)/
strace-6.5/
tests-m32/
umount.c
       1  /*
       2   * Copyright (c) 2015-2021 Dmitry V. Levin <ldv@strace.io>
       3   * All rights reserved.
       4   *
       5   * SPDX-License-Identifier: GPL-2.0-or-later
       6   */
       7  
       8  #include "tests.h"
       9  #include <stdio.h>
      10  #include <sys/stat.h>
      11  #include <sys/mount.h>
      12  #include "scno.h"
      13  #include <unistd.h>
      14  
      15  #ifdef __NR_oldumount
      16  # define TEST_SYSCALL_STR "oldumount"
      17  #else
      18  # if defined __NR_umount && defined __NR_umount2 && __NR_umount != __NR_umount2
      19  #  define __NR_oldumount __NR_umount
      20  #  define TEST_SYSCALL_STR "umount"
      21  # endif
      22  #endif
      23  
      24  #ifdef __NR_oldumount
      25  
      26  int
      27  main(void)
      28  {
      29  	static const char sample[] = "umount.sample";
      30  	if (mkdir(sample, 0700))
      31  		perror_msg_and_fail("mkdir: %s", sample);
      32  
      33  	long rc = syscall(__NR_oldumount, sample);
      34  	printf("%s(\"%s\") = %ld %s (%m)\n",
      35  	       TEST_SYSCALL_STR, sample, rc, errno2name());
      36  
      37  	if (rmdir(sample))
      38  		perror_msg_and_fail("rmdir: %s", sample);
      39  
      40  	puts("+++ exited with 0 +++");
      41  	return 0;
      42  }
      43  
      44  #else
      45  
      46  SKIP_MAIN_UNDEFINED("__NR_oldumount")
      47  
      48  #endif