17aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley/* swapon.c - Enable region for swapping
22c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer *
32c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
42c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
51dd3704c5ffea926f61a96bb7de7d9dbee52fa44Paul BarkerUSE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
62c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
72c162816e81ab49b43df565484f0d965f8984844Elie De Brauwerconfig SWAPON
87aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  bool "swapon"
97aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  default y
107aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  help
117aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley    usage: swapon [-p priority] filename
122c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
137aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley    Enable swapping on a given device/file.
142c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer*/
152c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
16c0e56edaf256adb6c60c5a052525a1ffbb927901Rob Landley#define FOR_swapon
172c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer#include "toys.h"
182c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
19c0e56edaf256adb6c60c5a052525a1ffbb927901Rob LandleyGLOBALS(
207aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  long priority;
212c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer)
222c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
232c162816e81ab49b43df565484f0d965f8984844Elie De Brauwervoid swapon_main(void)
242c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer{
257aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  int flags = 0;
262c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
277aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  if (toys.optflags)
287aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley    flags = SWAP_FLAG_PREFER | (TT.priority << SWAP_FLAG_PRIO_SHIFT);
292c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer
307aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley  if (swapon(*toys.optargs, flags))
317aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley    perror_exit("Couldn't swapon '%s'", *toys.optargs);
322c162816e81ab49b43df565484f0d965f8984844Elie De Brauwer}
33