| #include "tests.h" |
| #include <sys/syscall.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", 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 |