Mercurial > hg > toybox
diff toys/swapon.c @ 482:b4a9fd8773d6
Adding swapon and swapoff
author | Elie De Brauwer <eliedebrauwer@gmail.com> |
---|---|
date | Sat, 18 Feb 2012 15:33:27 +0100 |
parents | |
children | 26db0cd433f3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toys/swapon.c Sat Feb 18 15:33:27 2012 +0100 @@ -0,0 +1,38 @@ +/* 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 swapregion + + Enable swapping on a given swapregion. +*/ + +#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_MASK) << SWAP_FLAG_PRIO_SHIFT); + + if (swapon(toys.optargs[0], flags)) + perror_exit("failed to enable swaparea"); +}