Initial import from FreeBSD RELENG_4:
[games.git] / lib / libkvm / kvm_getswapinfo.3
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: src/lib/libkvm/kvm_getswapinfo.3,v 1.5.2.6 2001/12/17 10:08:30 ru Exp $
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
22 The
23 .Fn kvm_getswapinfo
24 function fills an array of
25 .Vt kvm_swap
26 structures with swap summary
27 information for each swap device, for up to
28 .Fa maxswap
29 \- 1 devices.
30 The number of devices, up to
31 .Fa maxswap
32 \- 1, is returned.  A grand
33 total of all swap devices (including any devices that go beyond
34 .Fa maxswap
35 \- 1) is returned in one additional array entry.  This
36 entry is not counted in the return value.
37 Thus, if you specify a
38 .Fa maxswap
39 value of 1, the function will typically return the
40 value 0 and the single
41 .Vt kvm_swap
42 structure will be filled with
43 the grand total over all swap devices.  The grand total is calculated
44 from all available swap devices whether or not you made room
45 for them all in the array.
46 The grand total is returned.
47 .Pp
48 The flags argument is currently unused and must be passed as 0.
49 .Pp
50 If an error occurs, -1 is returned.
51 .Pp
52 Each swap partition and the grand total is summarized in the
53 .Vt kvm_swap
54 structure.  This structure contains the following fields:
55 .Pp
56 .Bl -item -offset indent -compact
57 .It
58 .Va char ksw_devname[] ;
59 .It
60 .Va int ksw_total ;
61 .It
62 .Va int ksw_used ;
63 .It
64 .Va int ksw_flags ;
65 .El
66 .Pp
67 Values are in
68 .Dv PAGE_SIZE Ns 'd
69 chunks (see
70 .Xr getpagesize 3 ) .
71 .Va ksw_flags
72 contains
73 a copy of the swap device flags.
74 .Sh CACHING
75 This function caches the nlist values for various kernel variables which
76 it reuses in successive calls.
77 You may call the function with
78 .Fa kd
79 ==
80 .Dv NULL
81 to clear the cache.
82 .Sh DIAGNOSTICS
83 If the load average was unobtainable, \-1 is returned; otherwise,
84 the number of swap devices actually retrieved is returned.
85 .Pp
86 If the name of the swap device does not fit in the static char buffer
87 in the structure, it is truncated.  The buffer is always zero terminated.
88 .Sh SEE ALSO
89 .Xr kvm 3