Find an item in the hwinfo structure
#include <hw/sysinfo.h> unsigned hwi_find_item( unsigned start, ... );
For the initial call, set this argument to HWI_NULL_OFF. If the item found isn't the one that you want, pass the return value from the first call to hwi_find_item() as the start parameter of the next call. This makes the search pick up where it left off. You can repeat this process as many times as required (the return value from the second call going into the start parameter of the third, etc).
Terminate the sequence with a NULL pointer. The last string before the NULL is the bottom-level item name that you're looking for, the string in front of that is the name of the item that owns the bottom-level item, etc.
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
This function is in libc.a, but not in libc.so (in order to save space). |
The hwi_find_item() function finds an item in the hwinfo structure of the system page.
The offset of the item requested, or HWI_NULL_OFF if the item wasn't found.
Find the first occurrence of an item called “foobar”:
item_off = hwi_find_item(HWI_NULL_OFF, "foobar", NULL);
Find the first occurrence of an item called “foobar” that's owned by “sam”:
item_off = hwi_find_item(HWI_NULL_OFF, "sam", "foobar", NULL);
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
hwi_find_tag(), hwi_off2tag(), hwi_tag2off()
“Structure of the system page” in the Customizing Image Startup Programs chapter of Building Embedded Systems