xref: /freebsd/lib/libkvm/kvm_getswapinfo.3 (revision 5203edcdc553fda6caa1da8826a89b1a02dad1bf)
1.\" Copyright (c) 1999, Matthew Dillon.  All rights reserved.
2.\"
3.\" Redistribution and use in source and binary forms, with or without
4.\" modification, are permitted provided under the terms of the BSD
5.\" Copyright as found in /usr/src/COPYRIGHT in the FreeBSD source tree.
6.\"
7.\" $FreeBSD$
8.\"
9.Dd January 22, 1999
10.Dt KVM_SWAPINFO 3
11.Os
12.Sh NAME
13.Nm kvm_getswapinfo
14.Nd return swap summary statistics for the system
15.Sh LIBRARY
16.Lb libkvm
17.Sh SYNOPSIS
18.In kvm.h
19.Ft int
20.Fn kvm_getswapinfo "kvm_t *kd" "struct kvm_swap *" "int maxswap" "int flags"
21.Sh DESCRIPTION
22The
23.Fn kvm_getswapinfo
24function fills an array of
25.Vt kvm_swap
26structures with swap summary
27information for each swap device, for up to
28.Fa maxswap
29\- 1 devices.
30The number of devices, up to
31.Fa maxswap
32\- 1, is returned.
33A grand
34total of all swap devices (including any devices that go beyond
35.Fa maxswap
36\- 1) is returned in one additional array entry.
37This
38entry is not counted in the return value.
39Thus, if you specify a
40.Fa maxswap
41value of 1, the function will typically return the
42value 0 and the single
43.Vt kvm_swap
44structure will be filled with
45the grand total over all swap devices.
46The grand total is calculated
47from all available swap devices whether or not you made room
48for them all in the array.
49The grand total is returned.
50.Pp
51The flags argument is currently unused and must be passed as 0.
52.Pp
53If an error occurs, -1 is returned.
54.Pp
55Each swap partition and the grand total is summarized in the
56.Vt kvm_swap
57structure.
58This structure contains the following fields:
59.Pp
60.Bl -item -offset indent -compact
61.It
62.Va char ksw_devname[] ;
63.It
64.Va int ksw_total ;
65.It
66.Va int ksw_used ;
67.It
68.Va int ksw_flags ;
69.El
70.Pp
71Values are in
72.Dv PAGE_SIZE Ns 'd
73chunks (see
74.Xr getpagesize 3 ) .
75.Va ksw_flags
76contains
77a copy of the swap device flags.
78.Sh CACHING
79This function caches the nlist values for various kernel variables which
80it reuses in successive calls.
81You may call the function with
82.Fa kd
83==
84.Dv NULL
85to clear the cache.
86.Sh DIAGNOSTICS
87If the load average was unobtainable, \-1 is returned; otherwise,
88the number of swap devices actually retrieved is returned.
89.Pp
90If the name of the swap device does not fit in the static char buffer
91in the structure, it is truncated.
92The buffer is always zero terminated.
93.Sh SEE ALSO
94.Xr kvm 3
95