- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#rd168395]
#backlinks
*説明 [#yea7af67]
-パス: [[linux-2.6.33/arch/x86/include/asm/bitops.h]]
-unsigned long 値の指定されたビット位置に
ビットが立っているかどうかテストする。
**引数 [#p7b325ae]
-int nr
--ビット位置
-const volatile unsigned long *addr
--評価対象の unsigned long 値のポインタ
**返り値 [#fb855be0]
-int
--ビットがセットされている場合 0 以外、ビットがセットされていない場合 0
**参考 [#jf6e96ce]
*実装 [#i1f88f02]
#if 0 /* Fool kernel-doc since it doesn't do macros yet */
/**
* test_bit - Determine whether a bit is set
* @nr: bit number to test
* @addr: Address to start counting from
*/
static int test_bit(int nr, const volatile unsigned long *addr);
#endif
#define test_bit(nr, addr) \
(__builtin_constant_p((nr)) \
? constant_test_bit((nr), (addr)) \
: variable_test_bit((nr), (addr)))
-nr が定数ならば、定数用のテスト関数(constant_test_bit)を呼び、
そうでなければ汎用のテスト関数(variable_test_bit)を呼ぶ。
--[[linux-2.6.33/__builtin_constant_p()]]
--[[linux-2.6.33/constant_test_bit()(x86)]]
--[[linux-2.6.33/variable_test_bit()(x86)]]
*コメント [#x23f856c]