*参照元 [#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]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS