linux-5.15/list_first_entry_or_null()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#p6102cb6]
#backlinks
*説明 [#qea901e7]
-パス: [[linux-5.15/include/linux/list.h]]
-リストの先頭、リストを含む構造体のポインタを取得するマク...
**引数 [#te6c25a2]
-struct list_head *ptr
--構造体内のリスト先頭へのポインタを指定する。
--struct list_head *以外の型を指定してもコンパイルエラー...
--[[linux-5.15/list_head]]
-type
--ptr に指定したポインタが指すメンバ、これを含む「構造体...
-member
--ptr に指定したポインタが指す「メンバ名」を指定する。
--type に指定した型は member に指定した名前のメンバを持っ...
**返り値 [#n5479653]
-type *
--例えばlist_first_entry_or_null(a, struct hogehoge, b)と...
--list_entry()と同じ仕様。
--[[linux-5.15/list_entry()]]
**参考 [#pba35294]
*実装 [#tbbfed97]
/**
* list_first_entry_or_null - get the first element from...
* @ptr: the list head to take the element from.
* @type: the type of the struct this is embedded in.
* @member: the name of the list_head within the struct.
*
* Note that if the list is empty, it returns NULL.
*/
#define list_first_entry_or_null(ptr, type, member) ({ \
struct list_head *head__ = (ptr); \
-ptrを一度だけ評価するため一旦変数に代入する。マクロの場...
struct list_head *pos__ = READ_ONCE(head__->next); \
pos__ != head__ ? list_entry(pos__, type, member) : NUL...
})
-nextが自分を指している(つまりリストが空)場合はNULL、そ...
--[[linux-5.15/list_head]]
--[[linux-5.15/READ_ONCE()]]
--[[linux-5.15/list_entry()]]
*コメント [#a9e17acf]
終了行:
*参照元 [#p6102cb6]
#backlinks
*説明 [#qea901e7]
-パス: [[linux-5.15/include/linux/list.h]]
-リストの先頭、リストを含む構造体のポインタを取得するマク...
**引数 [#te6c25a2]
-struct list_head *ptr
--構造体内のリスト先頭へのポインタを指定する。
--struct list_head *以外の型を指定してもコンパイルエラー...
--[[linux-5.15/list_head]]
-type
--ptr に指定したポインタが指すメンバ、これを含む「構造体...
-member
--ptr に指定したポインタが指す「メンバ名」を指定する。
--type に指定した型は member に指定した名前のメンバを持っ...
**返り値 [#n5479653]
-type *
--例えばlist_first_entry_or_null(a, struct hogehoge, b)と...
--list_entry()と同じ仕様。
--[[linux-5.15/list_entry()]]
**参考 [#pba35294]
*実装 [#tbbfed97]
/**
* list_first_entry_or_null - get the first element from...
* @ptr: the list head to take the element from.
* @type: the type of the struct this is embedded in.
* @member: the name of the list_head within the struct.
*
* Note that if the list is empty, it returns NULL.
*/
#define list_first_entry_or_null(ptr, type, member) ({ \
struct list_head *head__ = (ptr); \
-ptrを一度だけ評価するため一旦変数に代入する。マクロの場...
struct list_head *pos__ = READ_ONCE(head__->next); \
pos__ != head__ ? list_entry(pos__, type, member) : NUL...
})
-nextが自分を指している(つまりリストが空)場合はNULL、そ...
--[[linux-5.15/list_head]]
--[[linux-5.15/READ_ONCE()]]
--[[linux-5.15/list_entry()]]
*コメント [#a9e17acf]
ページ名: