参照元

説明

list_for_each_entry() の内部で使うのが本来の用途だと思われるが、こんな風に使うこともできるはず。

struct hoge {
    int data_foo;
    struct list_head node;
    int data_bar;
};
struct hoge hoge_1;
struct hoge hoge_2;

/* list_head は次の要素の list_head を指しているものとする、本当は list_add を使う */
hoge_1.node.next = &hoge_2.node;

/* リストの途中の要素を指すポインタがわかっているとする */
struct hoge *hoge_list_entry1 = &hoge_1;

/* リストの途中の要素を指すポインタから、次の要素を指すポインタを取得できる */
struct hoge *hoge_list_entry2 = list_next_entry(hoge_list_entry1, node);

引数

返り値

参考

実装

/**
 * list_next_entry - get the next element in list
 * @pos:        the type * to cursor
 * @member:     the name of the list_head within the struct.
 */
#define list_next_entry(pos, member) \
        list_entry((pos)->member.next, typeof(*(pos)), member)

コメント


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-07 (木) 13:53:40