2016-04-06 09:18:50 +03:00
# 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 " ;
2016-04-22 00:24:43 +03:00
long rc ;
2016-04-06 09:18:50 +03:00
2016-04-22 00:24:43 +03:00
rc = syscall ( __NR_swapon , sample , 0 ) ;
printf ( " swapon( \" %s \" , %s) = %ld %s (%m) \n " ,
sample , " 0 " , rc , errno2name ( ) ) ;
2016-04-06 09:18:50 +03:00
2016-04-07 04:15:58 +03:00
rc = syscall ( __NR_swapon , sample , 42 ) ;
2016-04-22 00:24:43 +03:00
printf ( " swapon( \" %s \" , %s) = %ld %s (%m) \n " ,
sample , " 42 " , rc , errno2name ( ) ) ;
2016-04-07 04:15:58 +03:00
rc = syscall ( __NR_swapon , sample , SWAP_FLAG_PREFER ) ;
2016-04-22 00:24:43 +03:00
printf ( " swapon( \" %s \" , %s) = %ld %s (%m) \n " ,
sample , " SWAP_FLAG_PREFER " , rc , errno2name ( ) ) ;
2016-04-07 04:15:58 +03:00
rc = syscall ( __NR_swapon , sample , SWAP_FLAG_PREFER | 42 ) ;
2016-04-22 00:24:43 +03:00
printf ( " swapon( \" %s \" , %s) = %ld %s (%m) \n " ,
sample , " SWAP_FLAG_PREFER|42 " , rc , errno2name ( ) ) ;
2016-04-07 04:15:58 +03:00
rc = syscall ( __NR_swapon , sample , - 1L ) ;
2016-04-22 00:24:43 +03:00
printf ( " swapon( \" %s \" , %s) = %ld %s (%m) \n " ,
2016-04-07 04:15:58 +03:00
sample ,
" SWAP_FLAG_PREFER|SWAP_FLAG_DISCARD|SWAP_FLAG_DISCARD_ONCE "
" |SWAP_FLAG_DISCARD_PAGES|0xfff80000|32767 " ,
2016-04-22 00:24:43 +03:00
rc , errno2name ( ) ) ;
2016-04-07 04:15:58 +03:00
2016-04-06 09:18:50 +03:00
rc = syscall ( __NR_swapoff , sample ) ;
2016-04-22 00:24:43 +03:00
printf ( " swapoff( \" %s \" ) = %ld %s (%m) \n " ,
sample , rc , errno2name ( ) ) ;
2016-04-06 09:18:50 +03:00
puts ( " +++ exited with 0 +++ " ) ;
return 0 ;
}
# else
SKIP_MAIN_UNDEFINED ( " __NR_swapon && __NR_swapoff " )
# endif