Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ swapctl(2) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought



SWAPCTL(2-SVR4)     RISC/os Reference Manual      SWAPCTL(2-SVR4)



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 con-
     tained in <sys/swap.h>:
          SC_ADD         /* add a resource for swapping */
          SC_LIST        /* list the resources for swapping */
          SC_REMOVE      /* remove a resource for swapping */
          SC_GETNSWP     /* return number of swap resources */

     When SC_ADD or SC_REMOVE is specified, arg is a pointer to a
     swapres structure containing the following members:
          char *sr_name; /* pathname of resource */
          off_t          sr_start;/* offset to start of swap area */
          off_t          sr_length;/* length of swap area */

     sr_start and sr_length are specified in 512-byte blocks.
     When SC_LIST is specified, arg is a pointer to a swaptable
     structure containing the following members:
          int  swt_n;         /* number of swapents following */
          struct              swapent swt_ent[];/* array of swt_n swapents */

     A swapent structure contains the following members:
          char *ste_path;/* name of the swap file */
          off_t          ste_start;/* starting block for swapping */
          off_t          ste_length;/* length of swap area */
          long ste_pages;/* number of pages for swapping */
          long ste_free; /* number of ste_pages free */
          long ste_flags;/* ST_INDEL bit set if swap file */
                         /* is now being deleted */

     SC_LIST causes swapctl to return at most swt_n entries.  The
     return value of swapctl is the number actually returned.
     The ST_INDEL bit is turned on in ste_flags if the swap file
     is in the process of being deleted.  When SC_GETNSWP is
     specified, swapctl returns as its value the number of swap
     resources in use.  arg is ignored for this operation.  The
     SC_ADD and SC_REMOVE 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 SC_ADD or SC_REMOVE, the number of struct
     swapent entries actually returned for SC_LIST, or the number
     of swap resources in use for SC_GETNSWP. Upon failure, the



                        Printed 11/19/92                   Page 1




SWAPCTL(2-SVR4)     RISC/os Reference Manual      SWAPCTL(2-SVR4)



     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:

     EEXIST      Part of the range specified by sr_start and
                 sr_length is already being used for swapping on
                 the specified resource (SC_ADD).

     EFAULT      arg, sr_name, or ste_path points outside the
                 allocated address space.

     EINVAL      The specified function value is not valid, the
                 path specified is not a swap resource
                 (SC_REMOVE), part of the range specified by
                 sr_start and sr_length lies outside the resource
                 specified (SC_ADD), or the specified swap area
                 is less than one page (SC_ADD).

     EISDIR      The path specified for SC_ADD is a directory.

     ELOOP       Too many symbolic links were encountered in
                 translating the pathname provided to SC_ADD or
                 SC_REMOVE.

     ENAMETOOLONGThe length of a component of the path specified
                 for SC_ADD or SC_REMOVE exceeds {NAME_MAX} char-
                 acters or the length of the path exceeds
                 {PATH_MAX} characters and {_POSIX_NO_TRUNC} is
                 in effect.

     ENOENT      The pathname specified for SC_ADD or SC_REMOVE
                 does not exist.

     ENOMEM      An insufficient number of struct swapent struc-
                 tures were provided to SC_LIST, or there were
                 insufficient system storage resources available
                 during an SC_ADD or SC_REMOVE, or the system
                 would not have enough swap space after an
                 SC_REMOVE.

     ENOSYS      The pathname specified for SC_ADD or SC_REMOVE
                 is not a file or block special device.

     ENOTDIR     Pathname provided to SC_ADD or SC_REMOVE con-
                 tained a component in the path prefix that was
                 not a directory.

     EPERM       The process does not have appropriate
                 privileges.



 Page 2                 Printed 11/19/92





SWAPCTL(2-SVR4)     RISC/os Reference Manual      SWAPCTL(2-SVR4)



     EROFS       The pathname specified for SC_ADD is a read-only
                 file system.





















































                        Printed 11/19/92                   Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026