Commit Graph

326 Commits

Author SHA1 Message Date
christos
e12ce13bc6 cast for tdev. 2008-12-29 01:48:19 +00:00
lukem
98e5374ccb Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
2008-07-21 14:19:20 +00:00
dholland
16e3bec279 Clarify how one is supposed to use the pointers returned by getutentries()
(the utmpentry.c code), specifically with respect to who owns them and
when to free them. Now they're owned by utmpentry.c, only. Abolish the
freeutentries() function, which was the wrong abstraction; add instead
endutentries(), which flushes out the internally managed memory.

Update callers as necessary. Some (e.g. talkd) had been leaking memory;
others (e.g. syslogd) had been accidentally freeing and reloading utmp
more often than necessary. There are a couple untidy bits in users and
rwhod that someone should look after sometime, maybe.

Fixes PR bin/35131, which was about talkd's memory leak.
2008-07-13 20:07:48 +00:00
mrg
04f2afbef7 convert the rest of my licenses to 2-clause, extracting myself out
from a group as necessary.

bozohttpd remains, but it will get fixed next time i update it.
2008-05-30 02:29:37 +00:00
martin
3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
thorpej
caf49ea572 Make IPSEC and FAST_IPSEC stats per-cpu. Use <net/net_stats.h> and
netstat_sysctl().
2008-04-23 06:09:04 +00:00
thorpej
8fc3977bed Don't even bother initializing the namelist if we're not going to use it. 2008-04-10 17:16:39 +00:00
thorpej
f2bff8adc3 Use sysctl to fetch network statistics unless a memory file is specified
on the command line.
2008-04-10 17:14:25 +00:00
thorpej
3f466bce48 Change IPv6 stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old ip6stat structure; old netstat
binaries will continue to work properly.
2008-04-08 23:37:43 +00:00
thorpej
f5c68c0b9f Change TCP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old tcpstat structure; old netstat
binaries will continue to work properly.
2008-04-08 01:03:58 +00:00
thorpej
88d65e9212 Change IP stats from a structure to an array of uint64_t's.
Note: This is ABI-compatible with the old ipstat structure; old netstat
binaries will continue to work properly.
2008-04-07 06:31:27 +00:00
thorpej
cca37a84ef Update for ICMP and UDP stats changes. 2008-04-07 05:18:25 +00:00
dyoung
4ef6fc056a #include <sys/evcnt.h> instead of <sys/device.h>, since the former
is sufficient, anyway.  Do not needlessly #include <sys/device.h>.

Note well: device_t is not part of the kernel ABI.
2008-02-11 03:51:17 +00:00
ad
703069c0e9 specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.
2008-01-24 17:32:52 +00:00
christos
5665eef11f don't call curses from a signal handler! 2007-12-31 00:22:13 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
dsl
eebb2036b8 Document 'systat syscall'. 2007-02-18 17:29:26 +00:00
dsl
49c5f0e9e5 Include code to display per system call counts and times. 2007-02-18 17:00:08 +00:00
pavel
f5e7ca2447 Revert the changes done after newlock2 merge, except for the removal of
the now unused LSDEAD state. The current kernel headers are now
source-compatible with pre-newlock2 kernel headers again.

Approved by Andrew Doran.
2007-02-17 22:49:56 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
christos
8a3920f2c8 use c99 initializers
consistently terminate nlist arrays with NULL not ""
2006-10-22 16:43:24 +00:00
dsl
35fde98d40 Reduce the field widths for the summary line of traps, system calls
and interrupts so that the numbers don't all run into one.
2006-05-21 20:22:34 +00:00
dsl
ded5cac581 Checkpoint this as 'WIP' before I break it again!
(Not complied by default.)
2006-05-20 20:07:35 +00:00
christos
abcf3383b8 Gcc 4 needs to have the enum declaration in scope to determine the enum size. 2006-05-14 02:56:27 +00:00
yamt
ee458ef97e include errno.h directly rather than via user.h. 2006-05-11 12:01:33 +00:00
mrg
084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
blymn
e48af18bc5 Update to use new kernel io statistics. 2006-04-14 13:14:06 +00:00
dsl
7ee2912cf6 free() intrnamebuf, intrname and intrloc on entry so we don't leak them
every time initvmstat() is called.
Change intrnamebuf to be static so this works.
Inspired by Coverty CID 2072 (incorrectly) reporting that the memory assigned
to intrnamebuf wasn't being freed.
2006-03-20 20:36:38 +00:00
dsl
1655d9a820 Code to display per-system call counts.
Very useful to help identify which code is doing 1000s of system calls.
Not built because no one else has a kernel yet, and I need to make
the kernel side configurable.  But I don't want to lose this code....
2006-03-18 20:31:45 +00:00
dsl
efc0bc90c3 Count both read bytes and write bytes when we are not showing separate read
and write statistics.  Discovered by go.
Since I broke in in rev 1.31, I guess I'll fix it first!
2006-03-18 16:48:44 +00:00
dsl
bee1c2beb6 Make the functions that display the top 8 lines externally visible so
they can be used to head other pages (not ready to commit yet...).
Use puthumanint() for oversize numbers when display_mode is RUN or BOOT (when
very big numbers are to be expected).
Allow an extra column for Csw..Flt.
Adjust some #defines to avoid use of global s & s1.
2006-03-18 14:58:49 +00:00
dsl
f9603a44ea Coverty 7449: Remove splurious check for 'sep == NULL'. 2006-03-18 11:02:48 +00:00
kleink
2d52a8c98a Print system processes' command names in square brackets, like ps(1) does. 2006-02-13 16:01:58 +00:00
dsl
0283f98333 Match changes to vmstat.c (splitting of dkreadstats).
Read tape stats if there are no disks found - is this possible?
2006-02-05 09:58:39 +00:00
dsl
228802f437 Split dkreadstats() into dkreadstats(), tkreadstats() and cpureadstats().
Similarly for dkswap().
Allows code to only call one of these.
Rename struct _disk to _vminfo to be nearer its contents.
Change 'systat vm' so that it always shows the 'current' cpu times, even
after ':run' or ':boot' commands. The code in vmstat.c doesn't support :run.
2006-02-05 09:54:50 +00:00
dsl
a6843277e3 Rename 'cur' to 'name' to avoid aliasing a global - this code has some
horrid globals...
2006-02-05 08:51:03 +00:00
matt
d5eba984e9 Appease gcc 4.x 2005-12-24 21:14:50 +00:00
blymn
132bb1fe89 Add tape statistics. 2005-08-07 12:32:38 +00:00
xtraeme
5057789f26 Don't show ptyfs in the display, it's useless. 2005-08-01 02:38:03 +00:00
chs
d5b80101e7 do not rely on the pre-evcnt interrupt counter kernel symbols being present.
if they do not exist, then interrupt stats are all in evcnts.
2005-05-22 14:00:59 +00:00
dsl
f62ff76f8b Add an extra digit to the kBps column - now overflows at 100MB/s 2005-02-26 22:28:23 +00:00
dsl
019733f61e WARNS=3 2005-02-26 22:12:33 +00:00
dsl
ff927e7098 Fix field widths for 'numbers' display, and allow it without 'secs'. 2005-02-26 22:11:06 +00:00
dsl
5af2964703 Always treat ^h and ^? as erase chars (as well as stty erase).
Make the ':' erasable.
Fix typo in unviewable help message.
No point in having 'else' after 'return'...
2005-02-26 19:01:09 +00:00
dsl
4583d5361a Refresh labels and display after changing displayed disks 2005-02-26 18:58:45 +00:00
christos
b74b94a591 PR/29505: Nicolas Joly: Increase width of csw value in systat vmstat. 2005-02-22 15:13:57 +00:00
wiz
0d1974308b Sort SEE ALSO (hi hubert! First by section, then by name.) 2005-02-20 21:18:27 +00:00
wiz
320e63ae50 Drop trailing whitespace. 2005-02-20 21:16:38 +00:00
hubertf
756c7041c0 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
2005-02-16 03:45:41 +00:00
christos
29e8340e26 PR/29213: Nicolas Joly: sysstat(1) vmstat cannot display large memory values 2005-02-03 16:16:00 +00:00
lukem
7157011597 Only compile in IPv6 support if ${USE_INET6} != "no"
MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
2005-01-10 02:58:58 +00:00
christos
fcda42cd46 - remove left over debugging code.
- centralize pointer to the head of the list casts by introducing a new var.
2005-01-09 01:27:47 +00:00
simonb
e38c2f36ba Show more information about page types in use, and free pages. 2004-11-23 03:11:33 +00:00
dsl
cf09d2b1ce Add (unsigned char) cast to ctype functions
Although, IIRC, there is another PR on all commands being converted to
lower case.
2004-11-04 07:18:47 +00:00
mycroft
f702e25494 Whoops, make "all" work again. 2004-07-03 19:00:25 +00:00
mycroft
eb8fd502d1 Using timeout() to control refresh gets rid of a whole pile of signal-related
lossage.
Making ungetch() signal-safe, as ncurses seems to, would be better, though.
2004-07-03 18:54:47 +00:00
mycroft
30aaa9067a Use KEY_RESIZE. Might as well have something in our source tree that does. 2004-07-03 18:31:36 +00:00
mycroft
b00b298ce8 Fix a display glitch when blanking out drive columns. 2004-06-13 08:56:21 +00:00
martin
00b23860a0 "bufmem" is unsigned long inside the kernel, so don't try to grovel it out
of kmem as a unsigned int.
Also avoid overrunning VCACHE_SIZE, thus scribling over unrelated memory.
Fixes PR port-sparc64/25537.
2004-05-11 21:56:20 +00:00
martin
9df8f56ac0 A __attribute__((__noreturn__)) function better be void - gcc correctly
complains at >= -O3 otherwise.
2004-03-27 00:53:59 +00:00
atatat
caea20e952 Add PTRTOUINT64() and UINT64TOPTR() macros to sys/sysctl.h for use by
kern.proc, kern.proc2, kern.lwp, and kern.buf.

Define more MIB for kern.buf so that specific buffers can be selected
(only all/all is supported right now), and use a 32/64 bit agnostic
structure for communcating buffer information to userland.

Convert systat to the new kern.buf method.

Clean up the vm.buf* handling a little.  There's no actual need to
record the dynamically assigned OIDs, since sysctl_data can tell us
what we're looking at.

Oh, and fix a typo in a comment.
2004-02-19 03:56:30 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
jdolecek
bd4dbe8139 g/c SDEAD handling 2004-01-11 19:15:50 +00:00
pk
498839ae5e Adapt to kernel buffer cache memort allocation changes.
Since the buffer headers do no longer exist as an array in the kernel anymore,
use the new CTL_KERN.KERN_BUF mib to fetch them from kernel space.

Also look at a vnode's specinfo field to properly associate an opened
block device special file with a mounted filesystem.
2003-12-30 12:52:48 +00:00
christos
6a02b7be66 - avoid coredump by returning NULL when read fails and don't keep following
the list.
- avoid zerodivide.
XXX: still does not work, but at least it does not core-dump.
2003-12-07 07:28:05 +00:00
christos
676abde787 be more descriptive about what failed by printing the errno and the
variable we were trying to fetch.
2003-12-07 07:27:09 +00:00
agc
b2b49933f4 Move Matt Green's code from a 4-clause to a 3-clause licence by removing
the advertising clause. Diffs provided in PR 22396 by Joel Baker, the changes
were confirmed to the board by Matt Green.
2003-10-13 14:22:20 +00:00
itojun
407df6861c realloc pedant 2003-09-19 07:08:50 +00:00
wiz
99612f8f60 Bump date for previous, reword a sentence. 2003-09-15 13:17:24 +00:00
mycroft
0e1a71bba5 WRT disk commands, make the man page consistent with the program, and add the
feature I expected.
2003-09-12 17:32:29 +00:00
mycroft
a84dcb3095 Allow lower case 'q' to quit. 2003-09-12 17:31:26 +00:00
itojun
0162be23d0 synchronize w/ inpcb/in6pcb change 2003-09-04 09:23:35 +00:00
dsl
99135be3ff Use correct size when copying interrupt counters.
Fixes second part of bin/10095 (first part fixed in rev 1.25)
2003-08-30 12:57:03 +00:00
dsl
df54a17886 Bring description of vmstat page closer to reality. 2003-08-30 12:27:26 +00:00
dsl
55a20c5130 Correct boundary conditions for drive table for 'systat io num'.
Correct fix for bin/18823 (which was incomplete and wrong!)
2003-08-12 17:16:53 +00:00
agc
89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
grant
c330a8c5ed Discs->Disks 2003-08-05 20:01:25 +00:00
jdolecek
ecb9302c7f if kvm_nlist() fails, nlisterr() would be called before the screen
curses context would be initialized; just use errx() instead in this case
this fixes coredump for cases like 'systat -N /netbsd.gz', reported by Walt
on port-i386

in nlisterr(), wait a while (5 seconds currently) before exiting, so that
it would be actually possible to actually see the error
2003-08-03 12:14:58 +00:00
jdolecek
37870ec770 mark nlisterr() as 'noreturn' 2003-08-03 11:56:57 +00:00
dsl
aaba6e7d29 No need to resizeterm() if size not changed.
On 'fg' just restore old screen contents.
2003-07-05 08:05:51 +00:00
dsl
5ae48961f9 Redraw addresses after screen refresh 2003-07-05 06:48:52 +00:00
wiz
ba22178ad0 Quote question mark. Change width argument in a table to line up 2003-06-27 09:38:58 +00:00
drochner
96b62d8a69 no need to #include <sys/dkstat.h> 2003-06-11 17:26:31 +00:00
dsl
31cb6aba03 Reinstate our STOP handler before curses installs its one.
Ensures that both handlers are executed on subsequent stops.
2003-05-28 20:17:14 +00:00
itojun
0e1bb4cd82 use strlcat/strlcpy 2003-05-17 21:03:21 +00:00
itojun
5bce78caa7 use strlcpy 2003-05-15 01:00:07 +00:00
perry
da63de702d refreshs->refreshes
reactived->reactivated
intransit->in-transit
from Igor Sobrado, PR misc/19700
2003-03-31 02:16:37 +00:00
wiz
990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
dsl
9f46bb077a Create subwins that end one line from the bottom of the screen even
after the window is resized.
2003-02-24 10:10:00 +00:00
dsl
34e0475375 Pivot the disk stats into extra lines if they run out of columns
(approved by christos)
2003-02-18 14:55:05 +00:00
dsl
c4ccc4eaf4 Fiddle with screen layout to generate room for longer labels on the
interrupt count fields.
(approved by christos)
2003-02-17 19:30:33 +00:00
dsl
c22a42ecd8 Avoid displaying "intr" for all interrupt counter titles
(approved by christos)
2003-02-13 08:09:33 +00:00
dsl
d616c663f8 Resize windows on SIGWINCH and restart from SIGTSTP
(approved by christos)
2003-02-10 23:59:48 +00:00
dsl
b3467bbf38 When disk activity exceeds 100kB/s divide length of bar by 10s and report
factor on RHS screen.
(approved by christos)
2003-02-01 19:12:30 +00:00
dsl
85ed0bb278 Make kernel address arg of kvm_ckread() const void * so caller doesn't
need a cast.
(approved by christos)
2003-01-20 18:24:03 +00:00
christos
8e448c92b9 kill warns. 2003-01-18 21:18:18 +00:00
dsl
24ec5512d1 pull interrupt stats from event counts
fix disk xfer byte count
fix absolute counts - were divided by time interval
2003-01-18 21:02:35 +00:00
thorpej
3fdac2b8c5 Merge the nathanw_sa branch. 2003-01-18 10:52:16 +00:00
wiz
7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00