diff options
author | jmallett <jmallett@FreeBSD.org> | 2003-06-09 10:23:43 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2003-06-09 10:23:43 +0000 |
commit | 000dad93ab2548fb069b3997be74991433f00e0c (patch) | |
tree | 8b1fce19da350992acb48d0493fe50c253916bab /usr.bin/uname | |
parent | 6cf3ba132390f49a24daa302ebcecc3c1691f193 (diff) | |
download | FreeBSD-src-000dad93ab2548fb069b3997be74991433f00e0c.zip FreeBSD-src-000dad93ab2548fb069b3997be74991433f00e0c.tar.gz |
Add sysctlbyname(3) support, and use that for uname -i, in preparation for
replacing the committed static OID version with a string-based OID_AUTO
version.
Diffstat (limited to 'usr.bin/uname')
-rw-r--r-- | usr.bin/uname/uname.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/usr.bin/uname/uname.c b/usr.bin/uname/uname.c index b650ebf..d4642ff 100644 --- a/usr.bin/uname/uname.c +++ b/usr.bin/uname/uname.c @@ -191,6 +191,18 @@ native_##var(void) \ &buf, &len, NULL, 0) == -1) \ err(1, "sysctl"); +#define NATIVE_SYSCTLNAME_GET(var,name) \ +void \ +native_##var(void) \ +{ \ + size_t len; \ + static char buf[1024]; \ + char **varp = &(var); \ + \ + if (sysctlbyname(name, &buf, &len, NULL,\ + 0) == -1) \ + err(1, "sysctlbyname"); + #define NATIVE_SET \ *varp = buf; \ return; \ @@ -225,7 +237,7 @@ NATIVE_SYSCTL2_GET(platform, CTL_HW, HW_MACHINE) { NATIVE_SYSCTL2_GET(arch, CTL_HW, HW_MACHINE_ARCH) { } NATIVE_SET; -NATIVE_SYSCTL2_GET(ident, CTL_KERN, KERN_IDENT) { +NATIVE_SYSCTLNAME_GET(ident, "kern.ident") { } NATIVE_SET; void |