/* swapon.c - Enable region for swapping * * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767d", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) config SWAPON bool "swapon" default y help usage: swapon [-d] [-p priority] filename Enable swapping on a given device/file. -d Discard freed SSD pages */ #define FOR_swapon #include "toys.h" GLOBALS( long priority; ) void swapon_main(void) { // 0x70000 = SWAP_FLAG_DISCARD|SWAP_FLAG_DISCARD_ONCE|SWAP_FLAG_DISCARD_PAGES int flags = (toys.optflags&FLAG_d)*0x70000; if (toys.optflags) flags |= SWAP_FLAG_PREFER | (TT.priority << SWAP_FLAG_PRIO_SHIFT); if (swapon(*toys.optargs, flags)) perror_exit("Couldn't swapon '%s'", *toys.optargs); }