📄 list.h
字号:
#ifndef _list_h_#define _list_h_#include <fairysky/stddefs.h>struct list_head{ struct list_head *next, *prev;};#define INIT_LIST_HEAD(ptr) \do { \ (ptr)->next = (ptr); \ (ptr)->prev = (ptr); \} while (0)#define list_add(new_node, prev_node, next_node) do {\ (next_node)->prev = (new_node); \ (new_node)->next = (next_node); \ (new_node)->prev = (prev_node); \ (prev_node)->next = (new_node); \} while (0)#define list_del(entry) do { \ (entry)->next->prev = (entry)->prev; \ (entry)->prev->next = (entry)->next; \} while (0)#define TASK_EACH(task_head, tmp) \ for ((tmp) = (task_struct_t *)(task_head)->list.next; (task_head) != (tmp); (tmp) = (task_struct_t *)(tmp)->list.next) #define list_entry(ptr, type, member) \ ((type *)((char **)(ptr) - (unsigned long)(&((type *)0)->(member))))/*//#define list_entry(ptr, type, member) \// container_of(ptr, type, member)//#define container_of(ptr, type, member) ( { \// const typeof( ((type *)0->member) *__mptr = (ptr); \// (type *)( (char *)__mptr - offsetof(type, member) ); })*/#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -