T-Box Basic dev
Loading...
Searching...
No Matches
list.h File Reference

侵入式链表工具宏与内联函数 More...

#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  list_node
 双向循环链表节点。 More...
struct  hlist_head
 hlist 链表头。 More...
struct  hlist_node
 hlist 节点。 More...

Macros

#define tbox_typeof(x)
#define LIST_POISON1   ((void*)0x00100100)
 链表删除后的 next poison 值。
#define LIST_POISON2   ((void*)0x00200200)
 链表删除后的 prev/pprev poison 值。
#define DLIST_HEAD_IN_STRUCT_INIT(field)
 初始化结构体字段形式的链表头。
#define DLIST_HEAD_INIT(name)
 静态初始化独立链表头。
#define DLIST_HEAD(name)
 定义并初始化一个独立链表头变量。
#define container_of(ptr, type, member)
 根据成员指针取得宿主结构体指针。
#define list_entry(ptr, type, member)
 根据 list_node 成员指针取得宿主结构体指针。
#define list_for_each(pos, head)
 遍历双向循环链表节点。
#define list_for_each_entry(pos, head, member)
 按宿主结构体类型遍历双向循环链表。
#define list_for_each_entry_safe(pos, n, head, member)
 按宿主结构体类型安全遍历双向循环链表。
#define HLIST_HEAD_INIT   {.first = NULL}
 静态初始化 hlist 链表头。
#define HLIST_HEAD(name)
 定义并初始化一个独立 hlist 链表头变量。
#define INIT_HLIST_HEAD(ptr)
 初始化 hlist 链表头为空。
#define INIT_HLIST_NODE(ptr)
 初始化 hlist 节点为未挂链状态。
#define hlist_entry(ptr, type, member)
 根据 hlist_node 成员指针取得宿主结构体指针。
#define hlist_for_each(pos, head)
 遍历 hlist 节点。
#define hlist_for_each_safe(pos, n, head)
 安全遍历 hlist 节点。
#define hlist_for_each_entry(tpos, pos, head, member)
 按宿主结构体类型遍历 hlist。
#define hlist_for_each_entry_continue(tpos, pos, member)
 从当前 hlist 节点之后继续按宿主结构体类型遍历。
#define hlist_for_each_entry_from(tpos, pos, member)
 从当前 hlist 节点开始按宿主结构体类型遍历。
#define hlist_for_each_entry_safe(tpos, pos, n, head, member)
 按宿主结构体类型安全遍历 hlist。

Typedefs

typedef struct list_node list_node_t
 双向循环链表节点。

Detailed Description

侵入式链表工具宏与内联函数

Version
1.0.0
Date
2026-07-06

Macro Definition Documentation

◆ tbox_typeof

#define tbox_typeof ( x)
Value:
__typeof__(x)