SWAPON(2)           Linux Programmer's Manual           SWAPON(2)

       swapon, swapoff - start/stop swapping to file/device

       #include <unistd.h>
       #include <asm/page.h> /* to find PAGE_SIZE */
       #include <sys/swap.h>

       int swapon(const char *path, int swapflags);
       int swapoff(const char *path);

       swapon  sets  the  swap  area  to the file or block device
       specified by path.  swapoff stops swapping to the file  or
       block device specified by path.

       swapon  takes  a swapflags argument.  If swapflags has the
       SWAP_FLAG_PREFER bit turned on, the  new  swap  area  will
       have  a  higher  priority  than  default.  The priority is
       encoded as:


       These functions may only be used by the super-user.

       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.

       All  priorities  set  with  swapflags  are  high-priority,
       higher than default.  They may have any non-negative value
       chosen by the caller.  Higher numbers mean  higher  prior-

       Swap  pages  are  allocated  from areas in priority order,
       highest priority first.  For areas with different  priori-
       ties,  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.

       As of Linux 1.3.6, the kernel usually follows these rules,
       but there are exceptions.

       On  success,  zero is returned.  On error, -1 is returned,
       and errno is set appropriately.

       Many other errors can occur if path is not valid.

       EPERM   The user is  not  the  super-user,  or  more  than
               MAX_SWAPFILES (defined to be 8 in Linux 1.3.6) are
               in use.

       EINVAL  is returned if path exists, but is neither a regu-
               lar path nor a block device.

       ENOENT  is returned if path does not exist.

       ENOMEM  is  returned  if  there  is insufficient memory to
               start swapping.

       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.

       The partition or path must be prepared with mkswap(8).

       mkswap(8), swapon(8), swapoff(8)

Linux 1.3.6                22 July 1995                         1