From 000dad93ab2548fb069b3997be74991433f00e0c Mon Sep 17 00:00:00 2001 From: jmallett Date: Mon, 9 Jun 2003 10:23:43 +0000 Subject: 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. --- usr.bin/uname/uname.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'usr.bin/uname/uname.c') 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 -- cgit v1.1