Re: sysctl(3) interface
- From: Daniel Rudy <dr2867@xxxxxxxxxxx>
- Date: Thu, 01 Feb 2007 21:45:36 -0800
At about the time of 1/31/2007 2:10 AM, Dag-Erling Smørgrav stated the
following:
Daniel Rudy <dr2867@xxxxxxxxxxx> 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@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: sysctl(3) interface
- From: Dag-Erling Smørgrav
- Re: sysctl(3) interface
- Prev by Date: Re: unique hardware identification
- Next by Date: Re: unique hardware identification
- Previous by thread: Re: sysctl(3) interface
- Next by thread: Re: sysctl(3) interface
- Index(es):
Relevant Pages
|
|