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 [EMAIL PROTECTED] _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"