summaryrefslogtreecommitdiffstats
path: root/man2/swapon.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/swapon.2')
-rw-r--r--man2/swapon.2133
1 files changed, 133 insertions, 0 deletions
diff --git a/man2/swapon.2 b/man2/swapon.2
new file mode 100644
index 000000000..06f64fd08
--- /dev/null
+++ b/man2/swapon.2
@@ -0,0 +1,133 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1995-07-22 by Michael Chastain <mec@duracef.shout.net>
+.\" Modified 1995-07-23 by aeb
+.\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 1998-09-08 by aeb
+.\" Modified 2004-06-17 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
+.\" Modified 2004-10-10 by aeb
+.\"
+.TH SWAPON 2 2004-10-10 "Linux 2.6.7" "Linux Programmer's Manual"
+.SH NAME
+swapon, swapoff \- start/stop swapping to file/device
+.SH SYNOPSIS
+.B #include <unistd.h>
+.br
+.B #include <asm/page.h> /* to find PAGE_SIZE */
+.br
+.B #include <sys/swap.h>
+.sp
+.BI "int swapon(const char *" path ", int " swapflags );
+.br
+.BI "int swapoff(const char *" path );
+.SH DESCRIPTION
+.B swapon
+sets the swap area to the file or block device specified by
+.IR path .
+.B swapoff
+stops swapping to the file or block device specified by
+.IR path .
+.PP
+.B swapon
+takes a
+.I swapflags
+argument.
+If
+.I swapflags
+has the
+.I SWAP_FLAG_PREFER
+bit turned on, the new swap area will have a higher priority than default.
+The priority is encoded as:
+.br
+.sp
+.I " (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK"
+.br
+.PP
+These functions may only be used by a privileged process (one having the
+.B CAP_SYS_ADMIN
+capability).
+.SH PRIORITY
+Each swap area has a priority, either high or low.
+The default priority is low.
+Within the low-priority areas,
+newer areas are even lower priority than older areas.
+.PP
+All priorities set with
+.I swapflags
+are high-priority, higher than default.
+They may have any non-negative value chosen by the caller.
+Higher numbers mean higher priority.
+.PP
+Swap pages are allocated from areas in priority order,
+highest priority first.
+For areas with different priorities,
+a higher-priority area is exhausted before using a lower-priority area.
+If two or more areas have the same priority,
+and it is the highest priority available,
+pages are allocated on a round-robin basis between them.
+.PP
+As of Linux 1.3.6, the kernel usually follows these rules,
+but there are exceptions.
+.SH "RETURN VALUE"
+On success, zero is returned. On error, \-1 is returned, and
+.I errno
+is set appropriately.
+.SH ERRORS
+.TP
+.B EINVAL
+The file
+.I path
+exists, but refers neither to a regular file nor to a block device.
+.TP
+.B ENFILE
+The system limit on the total number of open files has been reached.
+.TP
+.B ENOENT
+The file
+.I path
+does not exist.
+.TP
+.B ENOMEM
+The system has insufficient memory to start swapping.
+.TP
+.B EPERM
+The caller does not have the
+.B CAP_SYS_ADMIN
+capability, or all
+.B MAX_SWAPFILES
+(earlier 8; 32 since Linux 2.4.10) are in use.
+.SH "CONFORMING TO"
+These functions are Linux specific and should not be used in programs
+intended to be portable.
+The second `swapflags' argument was introduced in Linux 1.3.2.
+.SH NOTES
+The partition or path must be prepared with
+.BR mkswap (8).
+.SH "SEE ALSO"
+.BR mkswap (8),
+.BR swapoff (8),
+.BR swapon (8)