Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ swapctl(2) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



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





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