Commit Graph

73 Commits

Author SHA1 Message Date
jdolecek
0154132fed constify handlers[] 2004-10-17 11:04:39 +00:00
atatat
605d2000dd When converting a string to a number, also make sure that you didn't
convert an empty string to a zero.

Follow on to PR bin/25115 in private email.
2004-04-25 05:36:49 +00:00
atatat
a929f1c4f7 Allocate adjusted size, not fixed size. 2004-04-23 12:03:39 +00:00
atatat
d528f2f477 Some lint cleaning, strip leading (and sometimes trailing) whitespace
from values to be assigned when processing a file.  Clean up error
reporting (print the name of the file and the line number), and tidy
some numeric conversions.  Continue after most "errors" when
processing a -f argument.

Addresses PR bin/25115.
2004-04-22 03:56:31 +00:00
atatat
de37b59396 If the node was specifically requested but has no description, print
the "no description" message instead of skipping (as happens when
recursing into a subtree).  This does not apply to non-node-type
nodes.
2004-04-14 05:13:50 +00:00
atatat
67f14f8fff Don't copy the size that sysctl gave back directly, copy the size of
the description.  *thwap*
2004-04-08 06:49:03 +00:00
atatat
610ed0d02a Don't copy the size that sysctl gave back directly, copy the size of
the description.
2004-04-08 06:12:43 +00:00
atatat
4f406ff76d Do nothing else for nodes with no children if -d is used (dflag is
set).  Otherwise, some nodes (those with "printers") will also print
the "use foo ..." message.
2004-04-08 04:00:33 +00:00
atatat
fcc6bb1735 Add -d flag to usage message(s). 2004-04-06 19:39:44 +00:00
he
4af725d078 Make this too gcc2-compileable. 2004-03-26 23:55:45 +00:00
atatat
29e15c7932 Move sysctlbyname(), sysctlnametomib(), and sysctlgetmibinfo() from
sysctl(8) into libc, making the minor number jump.  Add prototypes to
sys/sysctl.h, fix sets, modify man pages, etc.  That oughta cover it.
2004-03-25 19:36:26 +00:00
atatat
38c4183b04 Implement sysctl descriptions. Now all that remains is actually to
write them.
2004-03-24 18:11:09 +00:00
atatat
19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
atatat
299501e0d7 A little syntactic sugar 2004-03-20 05:22:41 +00:00
atatat
f99654532c Make this:
% sysctl -A kern.cp_time

(and also "sysctl -A" without the kern.cp_time argument) print this:

	kern.cp_time: user = 851648, nice = 683496, sys = 69383, ...
	kern.cp_time.0: user = 85648, nice = 68496, sys = 6983, ...
	...

instead of just:

	kern.cp_time.0: user = 85648, nice = 68496, sys = 6983, ...
	...
2004-02-20 05:27:39 +00:00
atatat
589a080332 More better display of kern.cp_time for MP machines. Now we use one
sysctl() call to query for each of three different display modes:

(1) sum across all cpus

	% sysctl kern.cp_time
	kern.cp_time: user = 93240, nice = 1507, sys = 17252, ...

(2) data for just cpu 0

	% sysctl kern.cp_time.0
	kern.cp_time.0: user = 93282, nice = 1507, sys = 17264, ...

(3) each cpu individually up to hw.ncpu

	% sysctl -A kern.cp_time
	kern.cp_time.0: user = 93349, nice = 1507, sys = 17280, ...
	kern.cp_time.1: user = 93403, nice = 1507, sys = 17291, ...
	...
2004-02-19 06:51:11 +00:00
atatat
5e111b3c0a Miscellaneous display bugfixes. 2004-02-19 06:44:18 +00:00
atatat
a44f68529b Rename sysctlnametomib() to sysctlgetmibinfo() and add FreeBSD
compatible sysctlnametomib() and sysctlbyname() functions.

These are intended to move to libc real soon now.
2004-02-19 06:40:14 +00:00
jmmv
b635f565e7 Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
2004-01-05 23:23:32 +00:00
atatat
ea73edd395 sysctlnametomib() is a private function for the moment. 2003-12-04 20:07:59 +00:00
atatat
c915b3168c New sysctl(8) binary. Performs auto-discovery and can add/remove
nodes from the tree.  Never needs to be recompiled again.
2003-12-04 19:49:39 +00:00
jonathan
88ba77e705 Make per-protocol network input queue stats visible to userland via
sysctl. Add a protocol-independent sysctl handler to show the per-protocol
"struct ifq' statistics. Add IP(v4) specific call to the handler.
Other protocols can show their per-protocol input statistics by
allocating a sysclt node and calling sysctl_ifq() with their own struct ifq *.

As posted to tech-kern plus improvements/cleanup suggested by Andrew Brown.
2003-11-10 20:03:29 +00:00
wiz
0ba80f40e8 Combine multiple single-letter options. 2003-09-21 15:23:55 +00:00
grant
76036fea3c add -e flag to set the separator to '=' where the default is ' = '.
this allows sysctl output to fed back into itself. inspired by
FreeBSD's sysctl(8).

ok'd by atatat.
2003-09-20 17:02:17 +00:00
agc
276d62f603 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22308, verified by myself.
2003-08-07 10:04:22 +00:00
simonb
7eb2ec40b2 Remove the KERN_DRIVERS case handler (prototype code?). 2003-06-17 03:34:23 +00:00
dsl
f8f6959024 Print hw.cnmagic as escaped hex bytes (unless -n given).
Change 'special' to be a numeral not a bit, it isn't ever used as a bit
and I can't see why it should ever be used that way.
2003-06-16 21:52:58 +00:00
thorpej
56962fed64 Avoid a strict-alias warning in gcc 3.3. 2003-05-31 23:42:23 +00:00
itojun
8138cbd1bf simplify more 2003-05-18 02:07:20 +00:00
itojun
ebf587df1a simplify by strlcpy/cat 2003-05-18 02:06:28 +00:00
lukem
ea56af7b9d Tweak behaviour introduced in rev 1.50;
*	by default, warning messages go to stderr
    *	if -A or -a is used, send warning messages to stdout instead.

The behaviour in 1.50 meant that
	somevar=`sysctl -n machdep.booted_kernel 2>/dev/null`
could end up with $somevar="machdep.booted_kernel: the value is not available"
rather than the more useful $somevar="".

(This way, "sysctl -A | grep ..." is still useful.)
2003-04-06 05:19:03 +00:00
fvdl
74cc14e0d0 Quell formwat warning for LP64 for the diskinfo printf. 2003-03-07 00:42:04 +00:00
dsl
2ac00e9169 display machdep.diskinfo for i386 and x86_84
(agreed by christos)
2003-01-22 17:12:41 +00:00
manu
41bfbd28fe On Darwin, mach_init is the system bootstrap process. It is responsible
for forking the traditional UNIX init(8) and it does the Mach port naming
service. We need mach_init for the naming service, but unfortunately, it
will only act as such if its PID is 1. We introduce a sysctl
(emul.darwin.init_pid) to fool a given process into thinking its PID is 1.
That way we can get mach_init into behaving as the name server.

Typical use:
/sbin/sysctl -w emul.darwin.init_pid=$$ ; exec /emul/darwin/sbin/mach_init
2002-12-24 12:15:45 +00:00
lukem
d348d3d723 tweaks for fparseln(3) move from libutil to libc:
- remove #include <util.h> if nothing else needed it
- remove LDFLAGS+=-lutil if nothing else needed it
2002-11-30 03:10:53 +00:00
manu
99bc517790 Added sysctl to change all IRIX kernel values reported by uname and systeminfo:
OS name, hw name, kernel version, and so forth.
2002-11-09 09:03:56 +00:00
simonb
f8c2d639ce When printing out nodes of type "string", don't print anything if
sysctl() reports that 0 bytes were returned.

Reported by Matt Green with "sysctl hw.disknames" on a system with no
disks.
2002-11-03 07:06:06 +00:00
sommerfeld
1803fb93a9 Add -q flag, for use with -w and -f, which suppresses output after a set. 2002-03-24 00:11:00 +00:00
christos
412e9e63d4 remove debugging line. 2002-03-20 00:29:24 +00:00
christos
58d461858a handle new emulation sysctls, and cleanup function duplication. 2002-03-20 00:23:23 +00:00
christos
373820b6f3 fix inconsistencies with USEAPP; centralize the flags check so that we
don't have to deal with it in the future.
2002-01-31 20:15:14 +00:00
simonb
3860ddc415 Descend into kern.tkstat. 2002-01-28 02:07:40 +00:00
simonb
750526acc6 ANSIfy. 2002-01-28 01:37:17 +00:00
simonb
8e6a975576 Fix a tyop in a comment. 2002-01-27 23:50:36 +00:00
simonb
93f270352c Teach sysctl(8) that hw.diskstats is a structure. 2002-01-27 12:47:37 +00:00
lukem
6de0e99d81 change a lot of the "error" messages to display to stdout instead of
stderr, so that "sysctl -A" output is actually usable.  requested by perry
2001-12-24 01:30:38 +00:00
itojun
153665ad26 show net.inet6.tcp6.* as mirror image of net.inet.tcp. better for future
INET-less kernels.
2001-07-27 04:22:09 +00:00
jdolecek
0fe5bf8257 pipe sysctl stuff is now in <sys/pipe.h> 2001-07-02 20:55:16 +00:00
jdolecek
ee882e3a09 Add port of high performance pipe implementation written by John S. Dyson
for FreeBSD project. Besides huge speed boost compared with socketpair-based
pipes, this implementation also uses pagable kernel memory instead of mbufs.

Significant differences to FreeBSD version:
* uses uvm_loan() facility for direct write
* async/SIGIO handling correct also for sync writer, async reader
* limits settable via sysctl, amountpipekva and nbigpipes available via sysctl
* pipes are unidirectional - this is enforced on file descriptor level
	for now only, the code would be updated to take advantage of it
	eventually
* uses lockmgr(9)-based locks instead of home brew variant
* scatter-gather write is handled correctly for direct write case, data
  is transferred by PIPE_DIRECT_CHUNK bytes maximum, to avoid running out of kva

All FreeBSD/NetBSD specific code is within appropriate #ifdef, in preparation
to feed changes back to FreeBSD tree.

This pipe implementation is optional for now, add 'options NEW_PIPE'
to your kernel config to use it.
2001-06-16 12:00:02 +00:00
chs
83d071a318 add UBC memory-usage balancing. we track the number of pages in use for
each of the basic types (anonymous data, executable image, cached files)
and prevent the pagedaemon from reusing a given page if that would reduce
the count of that type of page below a sysctl-setable minimum threshold.
the thresholds are controlled via three new sysctl tunables:
vm.anonmin, vm.vnodemin, and vm.vtextmin.  these tunables are the
percentages of pageable memory reserved for each usage, and we do not allow
the sum of the minimums to be more than 95% so that there's always some
memory that can be reused.
2001-03-09 01:02:10 +00:00