lists.h
来自「嵌入式ARM的一些源代码」· C头文件 代码 · 共 41 行
H
41 行
/*
* lists.h: Simple list macros for Linux
*/
#define DLNODE(ptype) \
struct { \
ptype * dl_prev; \
ptype * dl_next; \
}
#define DNODE_SINGLE(node) {(node),(node)}
#define DNODE_NULL {0,0}
#define DLIST_INIT(listnam) \
(listnam).dl_prev = &(listnam); \
(listnam).dl_last = &(listnam);
#define DLIST_NEXT(listnam) listnam.dl_next
#define DLIST_PREV(listnam) listnam.dl_prev
#define DLIST_INSERT_AFTER(node, new, listnam) do { \
(new)->listnam.dl_prev = (node); \
(new)->listnam.dl_next = (node)->listnam.dl_next; \
(node)->listnam.dl_next->listnam.dl_prev = (new); \
(node)->listnam.dl_next = (new); \
} while (0)
#define DLIST_INSERT_BEFORE(node, new, listnam) do { \
(new)->listnam.dl_next = (node); \
(new)->listnam.dl_prev = (node)->listnam.dl_prev; \
(node)->listnam.dl_prev->listnam.dl_next = (new); \
(node)->listnam.dl_prev = (new); \
} while (0)
#define DLIST_DELETE(node, listnam) do { \
node->listnam.dl_prev->listnam.dl_next = \
node->listnam.dl_next; \
node->listnam.dl_next->listnam.dl_prev = \
node->listnam.dl_prev; \
} while (0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?