commit 601e4ad5f91509f84a26800a1f82042c96eea3fe
parent 0c37fe11e485aa89e2f4b51a72416700c5436f0b
Author: sin <sin@2f30.org>
Date: Fri, 9 Aug 2013 15:48:29 +0100
Add swapon(8)
No manpage yet.
Diffstat:
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
@@ -24,7 +24,8 @@ SRC += \
mkswap.c \
reboot.c \
rmmod.c \
- swapoff.c
+ swapoff.c \
+ swapon.c
endif
OBJ = $(SRC:.c=.o) $(LIB)
diff --git a/swapon.c b/swapon.c
@@ -0,0 +1,41 @@
+/* See LICENSE file for copyright and license details. */
+#include <sys/swap.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include "util.h"
+
+static void
+usage(void)
+{
+ eprintf("usage: %s [-d] swapfile\n", argv0);
+}
+
+int
+main(int argc, char *argv[])
+{
+ int i;
+ int ret = 0;
+ int flags = 0;
+
+ ARGBEGIN {
+ case 'd':
+ flags |= SWAP_FLAG_DISCARD;
+ break;
+ default:
+ usage();
+ } ARGEND;
+
+ if (argc < 1)
+ usage();
+
+ for (i = 0; i < argc; i++) {
+ ret = swapon(argv[i], flags);
+ if (ret < 0) {
+ fprintf(stderr, "swapon %s: %s\n",
+ argv[i], strerror(errno));
+ ret = 1;
+ }
+ }
+ return ret;
+}