169 #define __attribute__( x ) 179 #define __table( type, name ) ( type, name ) 187 #define __table_type( table ) __table_extract_type table 188 #define __table_extract_type( type, name ) type 196 #define __table_name( table ) __table_extract_name table 197 #define __table_extract_name( type, name ) name 206 #define __table_section( table, idx ) \ 207 ".tbl." __table_name ( table ) "." __table_str ( idx ) 208 #define __table_str( x ) #x 216 #define __table_alignment( table ) __alignof__ ( __table_type ( table ) ) 238 #define __table_entry( table, idx ) \ 239 __attribute__ (( __section__ ( __table_section ( table, idx ) ),\ 240 __aligned__ ( __table_alignment ( table ) ) )) 249 #define __table_entries( table, idx ) ( { \ 250 static __table_type ( table ) __table_entries[0] \ 251 __table_entry ( table, idx ) \ 252 __attribute__ (( unused )); \ 262 #define __TABLE_ENTRIES( entries, table, idx ) \ 263 __table_type ( table ) entries[0] \ 264 __table_entry ( table, idx ) 282 #define table_start( table ) __table_entries ( table, 00 ) 290 #define TABLE_START( start, table ) __TABLE_ENTRIES ( start, table, 00 ) 308 #define table_end( table ) __table_entries ( table, 99 ) 316 #define TABLE_END( end, table ) __TABLE_ENTRIES ( end, table, 99 ) 335 #define table_num_entries( table ) \ 336 ( ( unsigned int ) ( table_end ( table ) - \ 337 table_start ( table ) ) ) 361 #define table_index( table, entry ) \ 362 ( ( unsigned int ) ( (entry) - table_start ( table ) ) ) 385 #define for_each_table_entry( pointer, table ) \ 386 for ( (pointer) = table_start ( table ) ; \ 387 (pointer) < table_end ( table ) ; \ 414 #define for_each_table_entry_continue( pointer, table ) \ 415 for ( (pointer)++ ; \ 416 (pointer) < table_end ( table ) ; \ 440 #define for_each_table_entry_reverse( pointer, table ) \ 441 for ( (pointer) = ( table_end ( table ) - 1 ) ; \ 442 (pointer) >= table_start ( table ) ; \ 469 #define for_each_table_entry_continue_reverse( pointer, table ) \ 470 for ( (pointer)-- ; \ 471 (pointer) >= table_start ( table ) ; \ FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)