summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_xxx.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-10-11 22:04:16 +0000
committerpeter <peter@FreeBSD.org>2004-10-11 22:04:16 +0000
commit09964b7499a5ae22028b46962764b78d5e698410 (patch)
tree1829b174800facf808eb5d32c6e9b155f798a0f6 /sys/kern/kern_xxx.c
parent89db558372e0f70245194eceebce5e8c90ee25dc (diff)
downloadFreeBSD-src-09964b7499a5ae22028b46962764b78d5e698410.zip
FreeBSD-src-09964b7499a5ae22028b46962764b78d5e698410.tar.gz
Put on my peril sensitive sunglasses and add a flags field to the internal
sysctl routines and state. Add some code to use it for signalling the need to downconvert a data structure to 32 bits on a 64 bit OS when requested by a 32 bit app. I tried to do this in a generic abi wrapper that intercepted the sysctl oid's, or looked up the format string etc, but it was a real can of worms that turned into a fragile mess before I even got it partially working. With this, we can now run 'sysctl -a' on a 32 bit sysctl binary and have it not abort. Things like netstat, ps, etc have a long way to go. This also fixes a bug in the kern.ps_strings and kern.usrstack hacks. These do matter very much because they are used by libc_r and other things.
Diffstat (limited to 'sys/kern/kern_xxx.c')
-rw-r--r--sys/kern/kern_xxx.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c
index 6840e64..fdf6e27 100644
--- a/sys/kern/kern_xxx.c
+++ b/sys/kern/kern_xxx.c
@@ -192,7 +192,7 @@ uname(td, uap)
len = sizeof (uap->name->sysname);
mtx_lock(&Giant);
error = userland_sysctl(td, name, 2, uap->name->sysname, &len,
- 1, 0, 0, 0);
+ 1, 0, 0, 0, 0);
if (error)
goto done2;
subyte( uap->name->sysname + sizeof(uap->name->sysname) - 1, 0);
@@ -200,7 +200,7 @@ uname(td, uap)
name[1] = KERN_HOSTNAME;
len = sizeof uap->name->nodename;
error = userland_sysctl(td, name, 2, uap->name->nodename, &len,
- 1, 0, 0, 0);
+ 1, 0, 0, 0, 0);
if (error)
goto done2;
subyte( uap->name->nodename + sizeof(uap->name->nodename) - 1, 0);
@@ -208,7 +208,7 @@ uname(td, uap)
name[1] = KERN_OSRELEASE;
len = sizeof uap->name->release;
error = userland_sysctl(td, name, 2, uap->name->release, &len,
- 1, 0, 0, 0);
+ 1, 0, 0, 0, 0);
if (error)
goto done2;
subyte( uap->name->release + sizeof(uap->name->release) - 1, 0);
@@ -217,7 +217,7 @@ uname(td, uap)
name = KERN_VERSION;
len = sizeof uap->name->version;
error = userland_sysctl(td, name, 2, uap->name->version, &len,
- 1, 0, 0, 0);
+ 1, 0, 0, 0, 0);
if (error)
goto done2;
subyte( uap->name->version + sizeof(uap->name->version) - 1, 0);
@@ -241,7 +241,7 @@ uname(td, uap)
name[1] = HW_MACHINE;
len = sizeof uap->name->machine;
error = userland_sysctl(td, name, 2, uap->name->machine, &len,
- 1, 0, 0, 0);
+ 1, 0, 0, 0, 0);
if (error)
goto done2;
subyte( uap->name->machine + sizeof(uap->name->machine) - 1, 0);
OpenPOWER on IntegriCloud