52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
| #include "tests.h"
 | |
| #include <asm/unistd.h>
 | |
| 
 | |
| #if defined __NR_swapon && defined __NR_swapoff
 | |
| 
 | |
| # include <stdio.h>
 | |
| # include <sys/swap.h>
 | |
| # include <unistd.h>
 | |
| 
 | |
| int
 | |
| main(void)
 | |
| {
 | |
| 	static const char sample[] = "swap.sample";
 | |
| 	long rc;
 | |
| 
 | |
| 	rc = syscall(__NR_swapon, sample, 0);
 | |
| 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
 | |
| 	       sample, "0", rc, errno2name());
 | |
| 
 | |
| 	rc = syscall(__NR_swapon, sample, 42);
 | |
| 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
 | |
| 	       sample, "42", rc, errno2name());
 | |
| 
 | |
| 	rc = syscall(__NR_swapon, sample, SWAP_FLAG_PREFER);
 | |
| 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
 | |
| 	       sample, "SWAP_FLAG_PREFER|0", rc, errno2name());
 | |
| 
 | |
| 	rc = syscall(__NR_swapon, sample, SWAP_FLAG_PREFER | 42);
 | |
| 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
 | |
| 	       sample, "SWAP_FLAG_PREFER|42", rc, errno2name());
 | |
| 
 | |
| 	rc = syscall(__NR_swapon, sample, -1L);
 | |
| 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
 | |
| 	       sample,
 | |
| 	       "SWAP_FLAG_PREFER|SWAP_FLAG_DISCARD|SWAP_FLAG_DISCARD_ONCE"
 | |
| 	       "|SWAP_FLAG_DISCARD_PAGES|0xfff80000|32767",
 | |
| 	       rc, errno2name());
 | |
| 
 | |
| 	rc = syscall(__NR_swapoff, sample);
 | |
| 	printf("swapoff(\"%s\") = %ld %s (%m)\n",
 | |
| 	       sample, rc, errno2name());
 | |
| 
 | |
| 	puts("+++ exited with 0 +++");
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| #else
 | |
| 
 | |
| SKIP_MAIN_UNDEFINED("__NR_swapon && __NR_swapoff")
 | |
| 
 | |
| #endif
 |