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