History log of /netbsd-current/usr.bin/systat/extern.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.49 28-Oct-2022 ozaki-r

Adjust userland commands for struct inpcb integration

Only kvm users are affected.


# 1.48 21-Aug-2021 christos

PR/56331: Paul Goyette: Add -z option to display 0 instead of ' ' in vmstat.


Revision tags: netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127
# 1.47 25-Jan-2019 christos

PR/53906: Paul Ripke: systat(1) vmstat & syscall get
"alternate system clock has died" on terminal resize (SIGWINCH)


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.46 22-Oct-2016 christos

branches: 1.46.6; 1.46.12; 1.46.14;
allow fractional intervals


Revision tags: localcount-20160914 pgoyette-localcount-20160806
# 1.45 02-Aug-2016 scole

PR bin/51204

Add ifstat command to systat.

Imported from FreeBSD


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.44 23-Aug-2015 mrg

branches: 1.44.2;
if you change display types, the "Showing %s, refresh every %d seconds."
message is retained, and you can't get rid of it. since it's dispalyed
in inverse, it feels like there's always an error happening (which is
really what the code has -- the above string is displayed via the error()
function.) for several types of key press that largely are just "redraw"
operation (space, ^L, etc.), clear the error string as well.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.43 03-Jun-2014 joerg

Always use_sysctl in preparation of removing all kvm code.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.42 06-Jan-2012 drochner

branches: 1.42.6; 1.42.16;
kill ipsec support which hasn't been working for a long time
(neither for KAME nor for FAST_IPSEC)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.41 06-Sep-2011 joerg

branches: 1.41.2;
Consistently use __dead and __printflike.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base
# 1.40 10-Apr-2008 thorpej

Use sysctl to fetch network statistics unless a memory file is specified
on the command line.


# 1.39 07-Apr-2008 thorpej

Update for ICMP and UDP stats changes.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
# 1.38 31-Dec-2007 christos

don't call curses from a signal handler!


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.37 18-Feb-2007 dsl

branches: 1.37.4;
Include code to display per system call counts and times.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.36 26-Feb-2005 dsl

branches: 1.36.12; 1.36.14;
WARNS=3


# 1.35 16-Feb-2005 hubertf

Add "df" display to give information about filesystems, available diskspace
and used disk capacity, similar to df(1):

Filesystem Avail Capacity
/0% /10% /20% /30% /40% /50% /60% /70% /80% /90% /100%
/ 359M |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/tmp 180M |
/home 146G |XXXXXXXXXXXXXXXX


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 27-Mar-2004 martin

A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.


# 1.33 07-Dec-2003 christos

be more descriptive about what failed by printing the errno and the
variable we were trying to fetch.


# 1.32 12-Sep-2003 mycroft

WRT disk commands, make the man page consistent with the program, and add the
feature I expected.


# 1.31 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.


# 1.30 03-Aug-2003 jdolecek

mark nlisterr() as 'noreturn'


# 1.29 20-Jan-2003 dsl

Make kernel address arg of kvm_ckread() const void * so caller doesn't
need a cast.
(approved by christos)


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.28 01-Nov-2002 mrg

iostat(8) and systat(8) support for separate read/write disk statistics.
"iostat -x" now shows these (ala linux/solaris), but this is only splitting
the read/write bytes/transactions, not adding any new metrics. "systat
iostat" now has two new commands to switch between combined/separate mode
for both it's numbers & bar modes.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.27 14-Jul-2001 matt

branches: 1.27.2;
Fetch maxslp from the kernel. Only use USPACE if it's defined.


# 1.26 01-Dec-2000 simonb

Remove extern variables and functions now declared in dkstats.h.
While here, remove 77 (!) unneed #includes.


# 1.25 11-Oct-2000 is

More format string cleanup by sommerfeld.


# 1.24 25-Aug-2000 hubertf

Add "all" mode to systat to cycle between all modes,
sort of like VMS' "MONITOR ALL"-command.

Code was submitted by Jarkko Teppo <jate@uwasa.fi> in PR 10851,
cleaned up and added 'turns' handling by me.


# 1.23 05-Jul-2000 ad

- Add `boot', `run', `time' and `zero' commands to all IP displays. These work
as in the `vmstat' display mode. The default mode is now `time', not `boot'.
- ANSIfy.
- s@kre\(@vmstat\(@.
- __RCSID() police.
- Tweak inet.icmp display visual a little.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.22 04-Jun-2000 thorpej

branches: 1.22.2;
Use kern.cp_time to fetch cp_time[]. Don't support fetching it from
crash dumps yet, as that requires determining which CPU we should fetch
it from, etc.


Revision tags: minoura-xpg4dl-base
# 1.21 08-Jan-2000 itojun

branches: 1.21.2;
- implement layered help.
Suggested by: Andy Doran <ad@mr-magoo.sports.gov.uk>
- inet6.ip6 and ipsec menu
- u_quad_t printing fix
- #ifdefs to allow compilation on 1.4.x


# 1.20 07-Jan-2000 itojun

add command line -n flag, which is same as "netstat numbers".
without it, we can't disable name resolution before the resolution starts.


# 1.19 05-Jan-2000 itojun

support IPv6. commands under "netstat" are IPv6 ready.
IPv6 is supported by filters (":ignore ssh") as well.
TODO: do something about line truncation?
TODO: inet6.icmp6? ":help" will not fit into single line...


# 1.18 25-Dec-1999 jwise

GC now-spurious prototype


# 1.17 22-Dec-1999 kleink

* Fix a display buglet: if the process list is exhausted before the window's
bottom is reached, clear the remaining lines, lest there be stale process
entries if the process list shrinks.
* Implement a top(1)-like `user' command in the ps display.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base
# 1.16 20-Dec-1999 jwise

G/C function used in old command parsing


# 1.15 20-Dec-1999 jwise

Two things:

1.) fix a bug which caused coredumps when starting with no mode arguments
2.) move to table-lookup for mode-specific command parsing as well.
all command matching is now table-driven.


# 1.14 16-Dec-1999 jwise

End special-casing of `start' and `interval' global commands.
Vastly simplify handling of mode switches, and short-syntax interval
changes. Substring matching of mode names and commands will come
shortly, however the previous method of substring matching modes (it was
not available for commands) is currently not working.

TODO: implement table lookups for mode-specific commands.


# 1.13 16-Dec-1999 jwise

Handle arguments to global commands. Note that the `interval' and
`start' global commands are still special cased, which will change


# 1.12 16-Dec-1999 jwise

Rototill global command matching -- switch from ad-hoc tomfoolery to a
table lookup. This will make prefix matching and so on easier.

Expect a similar change for mode-specific commands before too long.

While there, rename some structures with misleading names.

Watch this space for more changes soon.


# 1.11 15-Nov-1999 simonb

- Add `bufcache' display which shows buffer cache usage per filesystem,
ala the monitor(1) command for Ultrix.
- Allow `h' or `?' to show the command list (same as `:help').
- Sort commands in cmdtab.c and systat.1


Revision tags: comdex-fall-1999-base
# 1.10 30-May-1999 ad

branches: 1.10.4;
Add 4 new modes: ip, icmp, tcp, tcpsyn. XXX still some work to be done
on aesthetics and update modes.


# 1.9 24-Apr-1999 ross

Kill incorrect const in previous.


# 1.8 24-Apr-1999 ross

Functional LP64 and type sanity fixes.


Revision tags: netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.7 21-Feb-1999 jwise

branches: 1.7.2;
Add a new `ps' view to systat, which shows process information. This
view is identical to the output of `ps aux' except that a.) the RSS and VSZ
fields are one character wider and b.) it shows a zero value for the RSS
and %MEM columns of processes which report a negative RSS.


# 1.6 19-Jul-1998 drochner

Fix handling of privileges - the gid was given up before dkinit()
was called.
Pass the gid to use for KVM access explicitely to dkinit(), the caller
decides whether to call setgid(getgid()) or not.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.5 21-Jul-1997 mrg

- some KNF.
- use __RCSID().
- WARNS=1


# 1.4 13-Dec-1996 scottr

Freshen up a bit:

- Replace deprecated sigblock() with sigprocmask()
- Redraw the current display if SIGWINCH is caught
- Style police


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.3 10-May-1996 thorpej

New userland code to read the statistics kept by the NetBSD generic
disk framework, from John M. Vinopal <banshee@gabriella.resort.com>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.2 20-Jan-1995 jtc

Changed to conform to NetBSD's new RCS Id convention.


# 1.1 20-Jan-1995 jtc

branches: 1.1.1;
Initial revision


# 1.48 21-Aug-2021 christos

PR/56331: Paul Goyette: Add -z option to display 0 instead of ' ' in vmstat.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127
# 1.47 25-Jan-2019 christos

PR/53906: Paul Ripke: systat(1) vmstat & syscall get
"alternate system clock has died" on terminal resize (SIGWINCH)


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.46 22-Oct-2016 christos

branches: 1.46.6; 1.46.12; 1.46.14;
allow fractional intervals


Revision tags: localcount-20160914 pgoyette-localcount-20160806
# 1.45 02-Aug-2016 scole

PR bin/51204

Add ifstat command to systat.

Imported from FreeBSD


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.44 23-Aug-2015 mrg

branches: 1.44.2;
if you change display types, the "Showing %s, refresh every %d seconds."
message is retained, and you can't get rid of it. since it's dispalyed
in inverse, it feels like there's always an error happening (which is
really what the code has -- the above string is displayed via the error()
function.) for several types of key press that largely are just "redraw"
operation (space, ^L, etc.), clear the error string as well.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.43 03-Jun-2014 joerg

Always use_sysctl in preparation of removing all kvm code.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.42 06-Jan-2012 drochner

branches: 1.42.6; 1.42.16;
kill ipsec support which hasn't been working for a long time
(neither for KAME nor for FAST_IPSEC)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.41 06-Sep-2011 joerg

branches: 1.41.2;
Consistently use __dead and __printflike.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base
# 1.40 10-Apr-2008 thorpej

Use sysctl to fetch network statistics unless a memory file is specified
on the command line.


# 1.39 07-Apr-2008 thorpej

Update for ICMP and UDP stats changes.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
# 1.38 31-Dec-2007 christos

don't call curses from a signal handler!


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.37 18-Feb-2007 dsl

branches: 1.37.4;
Include code to display per system call counts and times.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.36 26-Feb-2005 dsl

branches: 1.36.12; 1.36.14;
WARNS=3


# 1.35 16-Feb-2005 hubertf

Add "df" display to give information about filesystems, available diskspace
and used disk capacity, similar to df(1):

Filesystem Avail Capacity
/0% /10% /20% /30% /40% /50% /60% /70% /80% /90% /100%
/ 359M |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/tmp 180M |
/home 146G |XXXXXXXXXXXXXXXX


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 27-Mar-2004 martin

A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.


# 1.33 07-Dec-2003 christos

be more descriptive about what failed by printing the errno and the
variable we were trying to fetch.


# 1.32 12-Sep-2003 mycroft

WRT disk commands, make the man page consistent with the program, and add the
feature I expected.


# 1.31 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.


# 1.30 03-Aug-2003 jdolecek

mark nlisterr() as 'noreturn'


# 1.29 20-Jan-2003 dsl

Make kernel address arg of kvm_ckread() const void * so caller doesn't
need a cast.
(approved by christos)


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.28 01-Nov-2002 mrg

iostat(8) and systat(8) support for separate read/write disk statistics.
"iostat -x" now shows these (ala linux/solaris), but this is only splitting
the read/write bytes/transactions, not adding any new metrics. "systat
iostat" now has two new commands to switch between combined/separate mode
for both it's numbers & bar modes.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.27 14-Jul-2001 matt

branches: 1.27.2;
Fetch maxslp from the kernel. Only use USPACE if it's defined.


# 1.26 01-Dec-2000 simonb

Remove extern variables and functions now declared in dkstats.h.
While here, remove 77 (!) unneed #includes.


# 1.25 11-Oct-2000 is

More format string cleanup by sommerfeld.


# 1.24 25-Aug-2000 hubertf

Add "all" mode to systat to cycle between all modes,
sort of like VMS' "MONITOR ALL"-command.

Code was submitted by Jarkko Teppo <jate@uwasa.fi> in PR 10851,
cleaned up and added 'turns' handling by me.


# 1.23 05-Jul-2000 ad

- Add `boot', `run', `time' and `zero' commands to all IP displays. These work
as in the `vmstat' display mode. The default mode is now `time', not `boot'.
- ANSIfy.
- s@kre\(@vmstat\(@.
- __RCSID() police.
- Tweak inet.icmp display visual a little.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.22 04-Jun-2000 thorpej

branches: 1.22.2;
Use kern.cp_time to fetch cp_time[]. Don't support fetching it from
crash dumps yet, as that requires determining which CPU we should fetch
it from, etc.


Revision tags: minoura-xpg4dl-base
# 1.21 08-Jan-2000 itojun

branches: 1.21.2;
- implement layered help.
Suggested by: Andy Doran <ad@mr-magoo.sports.gov.uk>
- inet6.ip6 and ipsec menu
- u_quad_t printing fix
- #ifdefs to allow compilation on 1.4.x


# 1.20 07-Jan-2000 itojun

add command line -n flag, which is same as "netstat numbers".
without it, we can't disable name resolution before the resolution starts.


# 1.19 05-Jan-2000 itojun

support IPv6. commands under "netstat" are IPv6 ready.
IPv6 is supported by filters (":ignore ssh") as well.
TODO: do something about line truncation?
TODO: inet6.icmp6? ":help" will not fit into single line...


# 1.18 25-Dec-1999 jwise

GC now-spurious prototype


# 1.17 22-Dec-1999 kleink

* Fix a display buglet: if the process list is exhausted before the window's
bottom is reached, clear the remaining lines, lest there be stale process
entries if the process list shrinks.
* Implement a top(1)-like `user' command in the ps display.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base
# 1.16 20-Dec-1999 jwise

G/C function used in old command parsing


# 1.15 20-Dec-1999 jwise

Two things:

1.) fix a bug which caused coredumps when starting with no mode arguments
2.) move to table-lookup for mode-specific command parsing as well.
all command matching is now table-driven.


# 1.14 16-Dec-1999 jwise

End special-casing of `start' and `interval' global commands.
Vastly simplify handling of mode switches, and short-syntax interval
changes. Substring matching of mode names and commands will come
shortly, however the previous method of substring matching modes (it was
not available for commands) is currently not working.

TODO: implement table lookups for mode-specific commands.


# 1.13 16-Dec-1999 jwise

Handle arguments to global commands. Note that the `interval' and
`start' global commands are still special cased, which will change


# 1.12 16-Dec-1999 jwise

Rototill global command matching -- switch from ad-hoc tomfoolery to a
table lookup. This will make prefix matching and so on easier.

Expect a similar change for mode-specific commands before too long.

While there, rename some structures with misleading names.

Watch this space for more changes soon.


# 1.11 15-Nov-1999 simonb

- Add `bufcache' display which shows buffer cache usage per filesystem,
ala the monitor(1) command for Ultrix.
- Allow `h' or `?' to show the command list (same as `:help').
- Sort commands in cmdtab.c and systat.1


Revision tags: comdex-fall-1999-base
# 1.10 30-May-1999 ad

branches: 1.10.4;
Add 4 new modes: ip, icmp, tcp, tcpsyn. XXX still some work to be done
on aesthetics and update modes.


# 1.9 24-Apr-1999 ross

Kill incorrect const in previous.


# 1.8 24-Apr-1999 ross

Functional LP64 and type sanity fixes.


Revision tags: netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.7 21-Feb-1999 jwise

branches: 1.7.2;
Add a new `ps' view to systat, which shows process information. This
view is identical to the output of `ps aux' except that a.) the RSS and VSZ
fields are one character wider and b.) it shows a zero value for the RSS
and %MEM columns of processes which report a negative RSS.


# 1.6 19-Jul-1998 drochner

Fix handling of privileges - the gid was given up before dkinit()
was called.
Pass the gid to use for KVM access explicitely to dkinit(), the caller
decides whether to call setgid(getgid()) or not.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.5 21-Jul-1997 mrg

- some KNF.
- use __RCSID().
- WARNS=1


# 1.4 13-Dec-1996 scottr

Freshen up a bit:

- Replace deprecated sigblock() with sigprocmask()
- Redraw the current display if SIGWINCH is caught
- Style police


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.3 10-May-1996 thorpej

New userland code to read the statistics kept by the NetBSD generic
disk framework, from John M. Vinopal <banshee@gabriella.resort.com>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.2 20-Jan-1995 jtc

Changed to conform to NetBSD's new RCS Id convention.


# 1.1 20-Jan-1995 jtc

branches: 1.1.1;
Initial revision


Revision tags: pgoyette-compat-20190127
# 1.47 25-Jan-2019 christos

PR/53906: Paul Ripke: systat(1) vmstat & syscall get
"alternate system clock has died" on terminal resize (SIGWINCH)


Revision tags: pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.46 22-Oct-2016 christos

branches: 1.46.6; 1.46.12;
allow fractional intervals


Revision tags: localcount-20160914 pgoyette-localcount-20160806
# 1.45 02-Aug-2016 scole

PR bin/51204

Add ifstat command to systat.

Imported from FreeBSD


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.44 23-Aug-2015 mrg

branches: 1.44.2;
if you change display types, the "Showing %s, refresh every %d seconds."
message is retained, and you can't get rid of it. since it's dispalyed
in inverse, it feels like there's always an error happening (which is
really what the code has -- the above string is displayed via the error()
function.) for several types of key press that largely are just "redraw"
operation (space, ^L, etc.), clear the error string as well.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.43 03-Jun-2014 joerg

Always use_sysctl in preparation of removing all kvm code.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.42 06-Jan-2012 drochner

branches: 1.42.6; 1.42.16;
kill ipsec support which hasn't been working for a long time
(neither for KAME nor for FAST_IPSEC)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.41 06-Sep-2011 joerg

branches: 1.41.2;
Consistently use __dead and __printflike.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base
# 1.40 10-Apr-2008 thorpej

Use sysctl to fetch network statistics unless a memory file is specified
on the command line.


# 1.39 07-Apr-2008 thorpej

Update for ICMP and UDP stats changes.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
# 1.38 31-Dec-2007 christos

don't call curses from a signal handler!


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.37 18-Feb-2007 dsl

branches: 1.37.4;
Include code to display per system call counts and times.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.36 26-Feb-2005 dsl

branches: 1.36.12; 1.36.14;
WARNS=3


# 1.35 16-Feb-2005 hubertf

Add "df" display to give information about filesystems, available diskspace
and used disk capacity, similar to df(1):

Filesystem Avail Capacity
/0% /10% /20% /30% /40% /50% /60% /70% /80% /90% /100%
/ 359M |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/tmp 180M |
/home 146G |XXXXXXXXXXXXXXXX


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 27-Mar-2004 martin

A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.


# 1.33 07-Dec-2003 christos

be more descriptive about what failed by printing the errno and the
variable we were trying to fetch.


# 1.32 12-Sep-2003 mycroft

WRT disk commands, make the man page consistent with the program, and add the
feature I expected.


# 1.31 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.


# 1.30 03-Aug-2003 jdolecek

mark nlisterr() as 'noreturn'


# 1.29 20-Jan-2003 dsl

Make kernel address arg of kvm_ckread() const void * so caller doesn't
need a cast.
(approved by christos)


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.28 01-Nov-2002 mrg

iostat(8) and systat(8) support for separate read/write disk statistics.
"iostat -x" now shows these (ala linux/solaris), but this is only splitting
the read/write bytes/transactions, not adding any new metrics. "systat
iostat" now has two new commands to switch between combined/separate mode
for both it's numbers & bar modes.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.27 14-Jul-2001 matt

branches: 1.27.2;
Fetch maxslp from the kernel. Only use USPACE if it's defined.


# 1.26 01-Dec-2000 simonb

Remove extern variables and functions now declared in dkstats.h.
While here, remove 77 (!) unneed #includes.


# 1.25 11-Oct-2000 is

More format string cleanup by sommerfeld.


# 1.24 25-Aug-2000 hubertf

Add "all" mode to systat to cycle between all modes,
sort of like VMS' "MONITOR ALL"-command.

Code was submitted by Jarkko Teppo <jate@uwasa.fi> in PR 10851,
cleaned up and added 'turns' handling by me.


# 1.23 05-Jul-2000 ad

- Add `boot', `run', `time' and `zero' commands to all IP displays. These work
as in the `vmstat' display mode. The default mode is now `time', not `boot'.
- ANSIfy.
- s@kre\(@vmstat\(@.
- __RCSID() police.
- Tweak inet.icmp display visual a little.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.22 04-Jun-2000 thorpej

branches: 1.22.2;
Use kern.cp_time to fetch cp_time[]. Don't support fetching it from
crash dumps yet, as that requires determining which CPU we should fetch
it from, etc.


Revision tags: minoura-xpg4dl-base
# 1.21 08-Jan-2000 itojun

branches: 1.21.2;
- implement layered help.
Suggested by: Andy Doran <ad@mr-magoo.sports.gov.uk>
- inet6.ip6 and ipsec menu
- u_quad_t printing fix
- #ifdefs to allow compilation on 1.4.x


# 1.20 07-Jan-2000 itojun

add command line -n flag, which is same as "netstat numbers".
without it, we can't disable name resolution before the resolution starts.


# 1.19 05-Jan-2000 itojun

support IPv6. commands under "netstat" are IPv6 ready.
IPv6 is supported by filters (":ignore ssh") as well.
TODO: do something about line truncation?
TODO: inet6.icmp6? ":help" will not fit into single line...


# 1.18 25-Dec-1999 jwise

GC now-spurious prototype


# 1.17 22-Dec-1999 kleink

* Fix a display buglet: if the process list is exhausted before the window's
bottom is reached, clear the remaining lines, lest there be stale process
entries if the process list shrinks.
* Implement a top(1)-like `user' command in the ps display.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base
# 1.16 20-Dec-1999 jwise

G/C function used in old command parsing


# 1.15 20-Dec-1999 jwise

Two things:

1.) fix a bug which caused coredumps when starting with no mode arguments
2.) move to table-lookup for mode-specific command parsing as well.
all command matching is now table-driven.


# 1.14 16-Dec-1999 jwise

End special-casing of `start' and `interval' global commands.
Vastly simplify handling of mode switches, and short-syntax interval
changes. Substring matching of mode names and commands will come
shortly, however the previous method of substring matching modes (it was
not available for commands) is currently not working.

TODO: implement table lookups for mode-specific commands.


# 1.13 16-Dec-1999 jwise

Handle arguments to global commands. Note that the `interval' and
`start' global commands are still special cased, which will change


# 1.12 16-Dec-1999 jwise

Rototill global command matching -- switch from ad-hoc tomfoolery to a
table lookup. This will make prefix matching and so on easier.

Expect a similar change for mode-specific commands before too long.

While there, rename some structures with misleading names.

Watch this space for more changes soon.


# 1.11 15-Nov-1999 simonb

- Add `bufcache' display which shows buffer cache usage per filesystem,
ala the monitor(1) command for Ultrix.
- Allow `h' or `?' to show the command list (same as `:help').
- Sort commands in cmdtab.c and systat.1


Revision tags: comdex-fall-1999-base
# 1.10 30-May-1999 ad

branches: 1.10.4;
Add 4 new modes: ip, icmp, tcp, tcpsyn. XXX still some work to be done
on aesthetics and update modes.


# 1.9 24-Apr-1999 ross

Kill incorrect const in previous.


# 1.8 24-Apr-1999 ross

Functional LP64 and type sanity fixes.


Revision tags: netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.7 21-Feb-1999 jwise

branches: 1.7.2;
Add a new `ps' view to systat, which shows process information. This
view is identical to the output of `ps aux' except that a.) the RSS and VSZ
fields are one character wider and b.) it shows a zero value for the RSS
and %MEM columns of processes which report a negative RSS.


# 1.6 19-Jul-1998 drochner

Fix handling of privileges - the gid was given up before dkinit()
was called.
Pass the gid to use for KVM access explicitely to dkinit(), the caller
decides whether to call setgid(getgid()) or not.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.5 21-Jul-1997 mrg

- some KNF.
- use __RCSID().
- WARNS=1


# 1.4 13-Dec-1996 scottr

Freshen up a bit:

- Replace deprecated sigblock() with sigprocmask()
- Redraw the current display if SIGWINCH is caught
- Style police


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.3 10-May-1996 thorpej

New userland code to read the statistics kept by the NetBSD generic
disk framework, from John M. Vinopal <banshee@gabriella.resort.com>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.2 20-Jan-1995 jtc

Changed to conform to NetBSD's new RCS Id convention.


# 1.1 20-Jan-1995 jtc

branches: 1.1.1;
Initial revision


Revision tags: pgoyette-localcount-20161104
# 1.46 22-Oct-2016 christos

allow fractional intervals


Revision tags: localcount-20160914 pgoyette-localcount-20160806
# 1.45 02-Aug-2016 scole

PR bin/51204

Add ifstat command to systat.

Imported from FreeBSD


Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.44 23-Aug-2015 mrg

branches: 1.44.2;
if you change display types, the "Showing %s, refresh every %d seconds."
message is retained, and you can't get rid of it. since it's dispalyed
in inverse, it feels like there's always an error happening (which is
really what the code has -- the above string is displayed via the error()
function.) for several types of key press that largely are just "redraw"
operation (space, ^L, etc.), clear the error string as well.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.43 03-Jun-2014 joerg

Always use_sysctl in preparation of removing all kvm code.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.42 06-Jan-2012 drochner

branches: 1.42.6; 1.42.16;
kill ipsec support which hasn't been working for a long time
(neither for KAME nor for FAST_IPSEC)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.41 06-Sep-2011 joerg

branches: 1.41.2;
Consistently use __dead and __printflike.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base
# 1.40 10-Apr-2008 thorpej

Use sysctl to fetch network statistics unless a memory file is specified
on the command line.


# 1.39 07-Apr-2008 thorpej

Update for ICMP and UDP stats changes.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase matt-armv6-base hpcarm-cleanup-base
# 1.38 31-Dec-2007 christos

don't call curses from a signal handler!


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.37 18-Feb-2007 dsl

branches: 1.37.4;
Include code to display per system call counts and times.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base chap-midi-nbase netbsd-3-0-1-RELEASE chap-midi-base netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.36 26-Feb-2005 dsl

branches: 1.36.12; 1.36.14;
WARNS=3


# 1.35 16-Feb-2005 hubertf

Add "df" display to give information about filesystems, available diskspace
and used disk capacity, similar to df(1):

Filesystem Avail Capacity
/0% /10% /20% /30% /40% /50% /60% /70% /80% /90% /100%
/ 359M |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/tmp 180M |
/home 146G |XXXXXXXXXXXXXXXX


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 27-Mar-2004 martin

A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.


# 1.33 07-Dec-2003 christos

be more descriptive about what failed by printing the errno and the
variable we were trying to fetch.


# 1.32 12-Sep-2003 mycroft

WRT disk commands, make the man page consistent with the program, and add the
feature I expected.


# 1.31 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.


# 1.30 03-Aug-2003 jdolecek

mark nlisterr() as 'noreturn'


# 1.29 20-Jan-2003 dsl

Make kernel address arg of kvm_ckread() const void * so caller doesn't
need a cast.
(approved by christos)


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.28 01-Nov-2002 mrg

iostat(8) and systat(8) support for separate read/write disk statistics.
"iostat -x" now shows these (ala linux/solaris), but this is only splitting
the read/write bytes/transactions, not adding any new metrics. "systat
iostat" now has two new commands to switch between combined/separate mode
for both it's numbers & bar modes.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.27 14-Jul-2001 matt

branches: 1.27.2;
Fetch maxslp from the kernel. Only use USPACE if it's defined.


# 1.26 01-Dec-2000 simonb

Remove extern variables and functions now declared in dkstats.h.
While here, remove 77 (!) unneed #includes.


# 1.25 11-Oct-2000 is

More format string cleanup by sommerfeld.


# 1.24 25-Aug-2000 hubertf

Add "all" mode to systat to cycle between all modes,
sort of like VMS' "MONITOR ALL"-command.

Code was submitted by Jarkko Teppo <jate@uwasa.fi> in PR 10851,
cleaned up and added 'turns' handling by me.


# 1.23 05-Jul-2000 ad

- Add `boot', `run', `time' and `zero' commands to all IP displays. These work
as in the `vmstat' display mode. The default mode is now `time', not `boot'.
- ANSIfy.
- s@kre\(@vmstat\(@.
- __RCSID() police.
- Tweak inet.icmp display visual a little.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.22 04-Jun-2000 thorpej

branches: 1.22.2;
Use kern.cp_time to fetch cp_time[]. Don't support fetching it from
crash dumps yet, as that requires determining which CPU we should fetch
it from, etc.


Revision tags: minoura-xpg4dl-base
# 1.21 08-Jan-2000 itojun

branches: 1.21.2;
- implement layered help.
Suggested by: Andy Doran <ad@mr-magoo.sports.gov.uk>
- inet6.ip6 and ipsec menu
- u_quad_t printing fix
- #ifdefs to allow compilation on 1.4.x


# 1.20 07-Jan-2000 itojun

add command line -n flag, which is same as "netstat numbers".
without it, we can't disable name resolution before the resolution starts.


# 1.19 05-Jan-2000 itojun

support IPv6. commands under "netstat" are IPv6 ready.
IPv6 is supported by filters (":ignore ssh") as well.
TODO: do something about line truncation?
TODO: inet6.icmp6? ":help" will not fit into single line...


# 1.18 25-Dec-1999 jwise

GC now-spurious prototype


# 1.17 22-Dec-1999 kleink

* Fix a display buglet: if the process list is exhausted before the window's
bottom is reached, clear the remaining lines, lest there be stale process
entries if the process list shrinks.
* Implement a top(1)-like `user' command in the ps display.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base
# 1.16 20-Dec-1999 jwise

G/C function used in old command parsing


# 1.15 20-Dec-1999 jwise

Two things:

1.) fix a bug which caused coredumps when starting with no mode arguments
2.) move to table-lookup for mode-specific command parsing as well.
all command matching is now table-driven.


# 1.14 16-Dec-1999 jwise

End special-casing of `start' and `interval' global commands.
Vastly simplify handling of mode switches, and short-syntax interval
changes. Substring matching of mode names and commands will come
shortly, however the previous method of substring matching modes (it was
not available for commands) is currently not working.

TODO: implement table lookups for mode-specific commands.


# 1.13 16-Dec-1999 jwise

Handle arguments to global commands. Note that the `interval' and
`start' global commands are still special cased, which will change


# 1.12 16-Dec-1999 jwise

Rototill global command matching -- switch from ad-hoc tomfoolery to a
table lookup. This will make prefix matching and so on easier.

Expect a similar change for mode-specific commands before too long.

While there, rename some structures with misleading names.

Watch this space for more changes soon.


# 1.11 15-Nov-1999 simonb

- Add `bufcache' display which shows buffer cache usage per filesystem,
ala the monitor(1) command for Ultrix.
- Allow `h' or `?' to show the command list (same as `:help').
- Sort commands in cmdtab.c and systat.1


Revision tags: comdex-fall-1999-base
# 1.10 30-May-1999 ad

branches: 1.10.4;
Add 4 new modes: ip, icmp, tcp, tcpsyn. XXX still some work to be done
on aesthetics and update modes.


# 1.9 24-Apr-1999 ross

Kill incorrect const in previous.


# 1.8 24-Apr-1999 ross

Functional LP64 and type sanity fixes.


Revision tags: netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.7 21-Feb-1999 jwise

branches: 1.7.2;
Add a new `ps' view to systat, which shows process information. This
view is identical to the output of `ps aux' except that a.) the RSS and VSZ
fields are one character wider and b.) it shows a zero value for the RSS
and %MEM columns of processes which report a negative RSS.


# 1.6 19-Jul-1998 drochner

Fix handling of privileges - the gid was given up before dkinit()
was called.
Pass the gid to use for KVM access explicitely to dkinit(), the caller
decides whether to call setgid(getgid()) or not.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.5 21-Jul-1997 mrg

- some KNF.
- use __RCSID().
- WARNS=1


# 1.4 13-Dec-1996 scottr

Freshen up a bit:

- Replace deprecated sigblock() with sigprocmask()
- Redraw the current display if SIGWINCH is caught
- Style police


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.3 10-May-1996 thorpej

New userland code to read the statistics kept by the NetBSD generic
disk framework, from John M. Vinopal <banshee@gabriella.resort.com>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.2 20-Jan-1995 jtc

Changed to conform to NetBSD's new RCS Id convention.


# 1.1 20-Jan-1995 jtc

branches: 1.1.1;
Initial revision