Mercurial > hg > toybox
annotate toys/other/swapon.c @ 674:7e846e281e38
New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 08 Oct 2012 00:02:30 -0500 |
parents | 6df4ccc0acbe |
children | 786841fdb1e0 |
rev | line source |
---|---|
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
1 /* vi: set sw=4 ts=4: |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
2 * |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
3 * swapon.c - Enable region for swapping |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
4 * |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
5 * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
6 |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
7 USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
8 |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
9 config SWAPON |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
10 bool "swapon" |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
11 default y |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
12 help |
483 | 13 usage: swapon [-p priority] filename |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
14 |
483 | 15 Enable swapping on a given device/file. |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
16 */ |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
17 |
674
7e846e281e38
New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
Rob Landley <rob@landley.net>
parents:
656
diff
changeset
|
18 #define FOR_swapon |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
19 #include "toys.h" |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
20 |
674
7e846e281e38
New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
Rob Landley <rob@landley.net>
parents:
656
diff
changeset
|
21 GLOBALS( |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
22 long priority; |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
23 ) |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
24 |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
25 void swapon_main(void) |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
26 { |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
27 int flags = 0; |
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
28 |
674
7e846e281e38
New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
Rob Landley <rob@landley.net>
parents:
656
diff
changeset
|
29 if (toys.optflags) |
483 | 30 flags = SWAP_FLAG_PREFER | (TT.priority << SWAP_FLAG_PRIO_SHIFT); |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
31 |
483 | 32 if (swapon(*toys.optargs, flags)) |
33 perror_exit("Couldn't swapon '%s'", *toys.optargs); | |
482
b4a9fd8773d6
Adding swapon and swapoff
Elie De Brauwer <eliedebrauwer@gmail.com>
parents:
diff
changeset
|
34 } |