diff options
Diffstat (limited to 'toys/other/swapon.c')
-rw-r--r-- | toys/other/swapon.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/toys/other/swapon.c b/toys/other/swapon.c new file mode 100644 index 00000000..16ce8d1f --- /dev/null +++ b/toys/other/swapon.c @@ -0,0 +1,37 @@ +/* vi: set sw=4 ts=4: + * + * swapon.c - Enable region for swapping + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + * + * Not in SUSv4. + +USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) + +config SWAPON + bool "swapon" + default y + help + usage: swapon [-p priority] filename + + Enable swapping on a given device/file. +*/ + +#include "toys.h" + +DEFINE_GLOBALS( + long priority; +) + +#define TT this.swapon + +void swapon_main(void) +{ + int flags = 0; + + if (toys.optflags & 1) + flags = SWAP_FLAG_PREFER | (TT.priority << SWAP_FLAG_PRIO_SHIFT); + + if (swapon(*toys.optargs, flags)) + perror_exit("Couldn't swapon '%s'", *toys.optargs); +} |