Re: sysctl(3) and sysctl(8) discrepancies
- From: Dan Nelson <dnelson@xxxxxxxxxxxxxxx>
- Date: Wed, 19 Apr 2006 14:46:53 -0500
In the last episode (Apr 19), Mathieu Prevot said:
Hello,
I have FreeBSD 6.1-RC #27: Wed Apr 19 02:08:00 CEST 2006 amd64 and I have 3
different outputs about hw.ncpu:
`sysctl hw.ncpu` gives me:
'hw.ncpu: 2'
and I have:
hw.ncpu = 6
hw.ncpu = 3
with:
#include <stdlib.h>
#include <sys/types.h>
#include <sys/sysctl.h>
main()
{
int ncpu[1];
size_t len;
len=sizeof(int);
sysctlnametomib("hw.ncpu",ncpu,&len);
You want sysctlbyname() here instead. sysctlnametomib() returns a
pointer to a mib array that you can pass to the sysctl() function
later. Saves having to parse the string every time if you are looking
up the same sysctl repeatedly.
sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0);
HW_NCPU is the mib number for hw.ncpu if you want to build the mib
array manually.
--
Dan Nelson
dnelson@xxxxxxxxxxxxxxx
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"
- References:
- sysctl(3) and sysctl(8) discrepancies
- From: Mathieu Prevot
- sysctl(3) and sysctl(8) discrepancies
- Prev by Date: Re: Kernel Fatal Trap 12
- Next by Date: Re: [PATCH] Fancy rc startup style RFC
- Previous by thread: sysctl(3) and sysctl(8) discrepancies
- Next by thread: Kernel Fatal Trap 12
- Index(es):
Relevant Pages
|
|