参照元†
- unsigned long 値の指定されたビット位置に
ビットが立っているかどうかテストする。
- int nr
- const volatile unsigned long *addr
- 評価対象の unsigned long 値のポインタ
返り値†
- int
- ビットがセットされている場合 0 以外、ビットがセットされていない場合 0
#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)を呼ぶ。
コメント†