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.
This commit is contained in:
parent
e78ea9f724
commit
8ec0090099
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=116088
@ -191,6 +191,18 @@ native_##var(void) \
|
|||||||
&buf, &len, NULL, 0) == -1) \
|
&buf, &len, NULL, 0) == -1) \
|
||||||
err(1, "sysctl");
|
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 \
|
#define NATIVE_SET \
|
||||||
*varp = buf; \
|
*varp = buf; \
|
||||||
return; \
|
return; \
|
||||||
@ -225,7 +237,7 @@ NATIVE_SYSCTL2_GET(platform, CTL_HW, HW_MACHINE) {
|
|||||||
NATIVE_SYSCTL2_GET(arch, CTL_HW, HW_MACHINE_ARCH) {
|
NATIVE_SYSCTL2_GET(arch, CTL_HW, HW_MACHINE_ARCH) {
|
||||||
} NATIVE_SET;
|
} NATIVE_SET;
|
||||||
|
|
||||||
NATIVE_SYSCTL2_GET(ident, CTL_KERN, KERN_IDENT) {
|
NATIVE_SYSCTLNAME_GET(ident, "kern.ident") {
|
||||||
} NATIVE_SET;
|
} NATIVE_SET;
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user