| /* 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); |
| } |