At about the time of 1/31/2007 2:10 AM, Dag-Erling Smørgrav stated the following: > Daniel Rudy <[EMAIL PROTECTED]> writes: >> I've been taking apart and analyzing the sysctl(8) program to gain a >> better insight into how to use the sysctl(3) interface. [...] >> It's using an oid of 0 and 2 to get something, then it comes up with 440 >> and then a sequence of numbers that are incrementing in a peculiar >> pattern. > > sysctl(8) uses undocumented interfaces to a) enumerate the nodes in > the sysctl tree and b) obtain the name of a node, given its OID. > >> So, my question is, how do I walk the tree to get the PnP info for all >> the devices in the system? > > man 3 devinfo > > DES
A little too late since I already hacked the source for sysctl(8) and figured out how it works. Here's what I have: mib[0] = 0; Unused according to sys/sysctl.h. So, 0,1 - get name from oid. 0,2 - get first sysctl node/leaf? (I haven't used this one yet) 0,3 - get oid from name. 0,4 - get format for oid? (I haven't used this one yet either) At least that's that I have. I wrote a program based on that and it does work, quite well in fact. I am not concerned about portability since the software that I'm writing will run ONLY on FreeBSD and maybe some of the variants. -- Daniel Rudy _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"