170 #define __attribute__( x ) 180 #define __table( type, name ) ( type, name ) 188 #define __table_type( table ) __table_extract_type table 189 #define __table_extract_type( type, name ) type 197 #define __table_name( table ) __table_extract_name table 198 #define __table_extract_name( type, name ) name 207 #define __table_section( table, idx ) \ 208 ".tbl." __table_name ( table ) "." __table_str ( idx ) 209 #define __table_str( x ) #x 217 #define __table_alignment( table ) __alignof__ ( __table_type ( table ) ) 239 #define __table_entry( table, idx ) \ 240 __attribute__ (( __section__ ( __table_section ( table, idx ) ),\ 241 __aligned__ ( __table_alignment ( table ) ) )) 250 #define __table_entries( table, idx ) ( { \ 251 static __table_type ( table ) __table_entries[0] \ 252 __table_entry ( table, idx ) \ 253 __attribute__ (( unused )); \ 263 #define __TABLE_ENTRIES( entries, table, idx ) \ 264 __table_type ( table ) entries[0] \ 265 __table_entry ( table, idx ) 283 #define table_start( table ) __table_entries ( table, 00 ) 291 #define TABLE_START( start, table ) __TABLE_ENTRIES ( start, table, 00 ) 309 #define table_end( table ) __table_entries ( table, 99 ) 317 #define TABLE_END( end, table ) __TABLE_ENTRIES ( end, table, 99 ) 336 #define table_num_entries( table ) \ 337 ( ( unsigned int ) ( table_end ( table ) - \ 338 table_start ( table ) ) ) 362 #define table_index( table, entry ) \ 363 ( ( unsigned int ) ( (entry) - table_start ( table ) ) ) 386 #define for_each_table_entry( pointer, table ) \ 387 for ( (pointer) = table_start ( table ) ; \ 388 (pointer) < table_end ( table ) ; \ 415 #define for_each_table_entry_continue( pointer, table ) \ 416 for ( (pointer)++ ; \ 417 (pointer) < table_end ( table ) ; \ 441 #define for_each_table_entry_reverse( pointer, table ) \ 442 for ( (pointer) = ( table_end ( table ) - 1 ) ; \ 443 (pointer) >= table_start ( table ) ; \ 470 #define for_each_table_entry_continue_reverse( pointer, table ) \ 471 for ( (pointer)-- ; \ 472 (pointer) >= table_start ( table ) ; \ FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)