1999-01-22 10:36:04 +00:00
|
|
|
.\" Copyright (c) 1999, Matthew Dillon. All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided under the terms of the BSD
|
|
|
|
.\" Copyright as found in /usr/src/COPYRIGHT in the FreeBSD source tree.
|
|
|
|
.\"
|
1999-08-28 00:22:10 +00:00
|
|
|
.\" $FreeBSD$
|
1999-01-22 10:36:04 +00:00
|
|
|
.\"
|
|
|
|
.Dd January 22, 1999
|
|
|
|
.Dt KVM_SWAPINFO 3
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
1999-01-22 11:03:55 +00:00
|
|
|
.Nm kvm_getswapinfo
|
1999-01-22 10:36:04 +00:00
|
|
|
.Nd return swap summary statistics for the system
|
2000-04-22 16:10:12 +00:00
|
|
|
.Sh LIBRARY
|
|
|
|
.Lb libkvm
|
1999-01-22 10:36:04 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Fd #include <kvm.h>
|
|
|
|
.Ft int
|
1999-01-22 11:03:55 +00:00
|
|
|
.Fn kvm_getswapinfo "kvm_t *kd" "struct kvm_swap *" "int maxswap" "int flags"
|
1999-01-22 10:36:04 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
1999-01-22 11:03:55 +00:00
|
|
|
.Fn kvm_getswapinfo
|
2001-02-01 16:38:02 +00:00
|
|
|
function fills an array of
|
|
|
|
.Vt kvm_swap
|
|
|
|
structures with swap summary
|
|
|
|
information for each swap device, for up to
|
|
|
|
.Fa maxswap
|
|
|
|
\- 1 devices.
|
|
|
|
The number of devices, up to
|
|
|
|
.Fa maxswap
|
|
|
|
\- 1, is returned. A grand
|
|
|
|
total of all swap devices (including any devices that go beyond
|
|
|
|
.Fa maxswap
|
|
|
|
\- 1) is returned in one additional array entry. This
|
|
|
|
entry is not counted in the return value.
|
|
|
|
Thus, if you specify a
|
|
|
|
.Fa maxswap
|
|
|
|
value of 1, the function will typically return the
|
|
|
|
value 0 and the single
|
|
|
|
.Vt kvm_swap
|
|
|
|
structure will be filled with
|
1999-01-22 10:36:04 +00:00
|
|
|
the grand total over all swap devices. The grand total is calculated
|
2001-07-15 07:53:42 +00:00
|
|
|
from all available swap devices whether or not you made room
|
1999-01-22 10:36:04 +00:00
|
|
|
for them all in the array.
|
2001-08-10 15:03:10 +00:00
|
|
|
The grand total is returned.
|
1999-01-22 10:36:04 +00:00
|
|
|
.Pp
|
|
|
|
The flags argument is currently unused and must be passed as 0.
|
|
|
|
.Pp
|
|
|
|
If an error occurs, -1 is returned.
|
|
|
|
.Pp
|
2001-02-01 16:38:02 +00:00
|
|
|
Each swap partition and the grand total is summarized in the
|
|
|
|
.Vt kvm_swap
|
1999-01-22 10:36:04 +00:00
|
|
|
structure. This structure contains the following fields:
|
2001-02-01 16:38:02 +00:00
|
|
|
.Pp
|
|
|
|
.Bl -item -offset indent -compact
|
|
|
|
.It
|
|
|
|
.Va char ksw_devname[] ;
|
|
|
|
.It
|
|
|
|
.Va int ksw_total ;
|
|
|
|
.It
|
|
|
|
.Va int ksw_used ;
|
|
|
|
.It
|
|
|
|
.Va int ksw_flags ;
|
1999-01-22 10:36:04 +00:00
|
|
|
.El
|
|
|
|
.Pp
|
2001-02-01 16:38:02 +00:00
|
|
|
Values are in
|
|
|
|
.Dv PAGE_SIZE Ns 'd
|
|
|
|
chunks (see
|
|
|
|
.Xr getpagesize 3 ) .
|
|
|
|
.Va ksw_flags
|
|
|
|
contains
|
1999-01-22 10:36:04 +00:00
|
|
|
a copy of the swap device flags.
|
|
|
|
.Sh CACHING
|
|
|
|
This function caches the nlist values for various kernel variables which
|
2001-02-01 16:38:02 +00:00
|
|
|
it reuses in successive calls.
|
|
|
|
You may call the function with
|
|
|
|
.Fa kd
|
|
|
|
==
|
2001-07-15 07:53:42 +00:00
|
|
|
.Dv NULL
|
1999-01-22 10:36:04 +00:00
|
|
|
to clear the cache.
|
|
|
|
.Sh DIAGNOSTICS
|
|
|
|
If the load average was unobtainable, \-1 is returned; otherwise,
|
|
|
|
the number of swap devices actually retrieved is returned.
|
|
|
|
.Pp
|
|
|
|
If the name of the swap device does not fit in the static char buffer
|
|
|
|
in the structure, it is truncated. The buffer is always zero terminated.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr kvm 3
|