NAME
swapon —
add a swap device for
interleaved paging/swapping
SYNOPSIS
#include <unistd.h>
int
swapon(
const char
*special);
DESCRIPTION
This interface is
provided for compatibility only and has been obsoleted by
swapctl(2).
swapon() makes the block device
special
available to the system for allocation for paging and swapping. The names of
potentially available devices are known to the system and defined at system
configuration time. The size of the swap area on
special
is calculated at the time the device is first made available for swapping.
RETURN VALUES
If an error has occurred, a value of -1 is returned and
errno is set to indicate the error.
ERRORS
swapon() succeeds unless:
-
-
- [
ENOTDIR
]
- A component of the path prefix is not a directory.
-
-
- [
ENAMETOOLONG
]
- A component of a pathname exceeded
{
NAME_MAX
} characters, or an entire path name
exceeded {PATH_MAX
} characters.
-
-
- [
ENOENT
]
- The named device does not exist.
-
-
- [
EACCES
]
- Search permission is denied for a component of the path
prefix.
-
-
- [
ELOOP
]
- Too many symbolic links were encountered in translating the
pathname.
-
-
- [
EPERM
]
- The caller is not the super-user.
-
-
- [
ENOTBLK
]
- special is not a block device.
-
-
- [
EBUSY
]
- The device specified by special has
already been made available for swapping
-
-
- [
EINVAL
]
- The device configured by special was
not configured into the system as a swap device.
-
-
- [
ENXIO
]
- The major device number of special is
out of range (this indicates no device driver exists for the associated
hardware).
-
-
- [
EIO
]
- An I/O error occurred while opening the swap device.
-
-
- [
EFAULT
]
- special points outside the process's
allocated address space.
SEE ALSO
swapctl(2),
swapctl(8),
swapon(8)
HISTORY
The
swapon() function call appeared in
4.0BSD and was removed
NetBSD
1.3
BUGS
This call will be upgraded in future versions of the system.