swapon
—
add a swap device for interleaved paging/swapping
#include <unistd.h>
int
swapon
(const
char *special);
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.
If an error has occurred, a value of -1 is returned and
errno is set to indicate the error.
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.
The swapon
() function call appeared in
4.0BSD and was removed NetBSD
1.3
This call will be upgraded in future versions of the system.