david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[tables] Add table_index()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2010-07-26 13:26:34 +01:00
parent 0329673833
commit da123eada4
1 changed files with 25 additions and 0 deletions

View File

@ -308,6 +308,31 @@ FILE_LICENCE ( GPL2_OR_LATER );
( ( unsigned int ) ( table_end ( table ) - \
table_start ( table ) ) )
/**
* Get index of entry within linker table
*
* @v table Linker table
* @v entry Table entry
*
* Example usage:
*
* @code
*
* #define FROBNICATORS __table ( struct frobnicator, "frobnicators" )
*
* #define __frobnicator __table_entry ( FROBNICATORS, 01 )
*
* struct frobnicator my_frob __frobnicator = {
* ...
* };
*
* unsigned int my_frob_idx = table_index ( FROBNICATORS, &my_frob );
*
* @endcode
*/
#define table_index( table, entry ) \
( ( unsigned int ) ( (entry) - table_start ( table ) ) )
/**
* Iterate through all entries within a linker table
*