swapctl(2) UNIX System V swapctl(2)
NAME
swapctl - manage swap space
SYNOPSIS
#include <sys/stat.h>
#include <sys/swap.h>
int swapctl(int cmd, void *arg);
DESCRIPTION
swapctl adds, deletes, or returns information about swap resources. cmd
specifies one of the following options contained in <sys/swap.h>:
SCADD /* add a resource for swapping */
SCLIST /* list the resources for swapping */
SCREMOVE /* remove a resource for swapping */
SCGETNSWP /* return number of swap resources */
When SCADD or SCREMOVE is specified, arg is a pointer to a swapres
structure containing the following members:
char *srname; /* pathname of resource */
offt srstart;/* offset to start of swap area */
offt srlength;/* length of swap area */
srstart and srlength are specified in 512-byte blocks. When SCLIST is
specified, arg is a pointer to a swaptable structure containing the
following members:
int swtn; /* number of swapents following */
struct swapent swtent[];/* array of swtn swapents */
A swapent structure contains the following members:
char *stepath;/* name of the swap file */
offt stestart;/* starting block for swapping */
offt stelength;/* length of swap area */
long stepages;/* number of pages for swapping */
long stefree; /* number of stepages free */
long steflags;/* STINDEL bit set if swap file */
/* is now being deleted */
SCLIST causes swapctl to return at most swtn entries. The return value
of swapctl is the number actually returned. The STINDEL bit is turned
on in steflags if the swap file is in the process of being deleted.
When SCGETNSWP is specified, swapctl returns as its value the number of
swap resources in use. arg is ignored for this operation. The SCADD
and SCREMOVE functions will fail if calling process does not have
appropriate privileges.
RETURN VALUE
Upon successful completion, the function swapctl returns a value of 0 for
SCADD or SCREMOVE, the number of struct swapent entries actually
returned for SCLIST, or the number of swap resources in use for
SCGETNSWP. Upon failure, the function swapctl returns a value of -1 and
sets errno to indicate an error.
ERRORS
Under the following conditions, the function swapctl fails and sets errno
to:
10/89 Page 1
swapctl(2) UNIX System V swapctl(2)
EEXIST Part of the range specified by srstart and srlength is
already being used for swapping on the specified resource
(SCADD).
EFAULT arg, srname, or stepath points outside the allocated address
space.
EINVAL The specified function value is not valid, the path specified
is not a swap resource (SCREMOVE), part of the range
specified by srstart and srlength lies outside the resource
specified (SCADD), or the specified swap area is less than
one page (SCADD).
EISDIR The path specified for SCADD is a directory.
ELOOP Too many symbolic links were encountered in translating the
pathname provided to SCADD or SCREMOVE .
ENAMETOOLONG
The length of a component of the path specified for SCADD or
SCREMOVE exceeds {NAMEMAX} characters or the length of the
path exceeds {PATHMAX} characters and {POSIXNOTRUNC} is
in effect.
ENOENT The pathname specified for SCADD or SCREMOVE does not exist.
ENOMEM An insufficient number of struct swapent structures were
provided to SCLIST, or there were insufficient system
storage resources available during an SCADD or SCREMOVE, or
the system would not have enough swap space after an
SCREMOVE.
ENOSYS The pathname specified for SCADD or SCREMOVE is not a file
or block special device.
ENOTDIR Pathname provided to SCADD or SCREMOVE contained a component
in the path prefix that was not a directory.
EPERM The process does not have appropriate privileges.
EROFS The pathname specified for SCADD is a read-only file system.
Page 2 10/89