1 Star 1 Fork 0

GuanGuan/tOS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
tList.h 1.09 KB
一键复制 编辑 原始数据 按行查看 历史
GuanGuan 提交于 2022-08-09 03:16 . 核心文件
#ifndef _TLIST_H
#define _TLIST_H
#include <stdint.h>
#include <stdbool.h>
#define CORE_NULL (void*)0
typedef struct _tNode {
struct _tNode *preNode; /**< 前一结点 */
struct _tNode *nextNode; /**< 后一结点 */
} tNode;
void tNodeInit (tNode *node);
// tinyOS链表类型
typedef struct _tList {
tNode headNode;
uint32_t nodeCount;
} tList;
#define firstNode headNode.nextNode
#define lastNode headNode.preNode
#define tNodeParent(node, parent, name) (parent *)((uint32_t)node - (uint32_t)&((parent *)0)->name)
void tListInit (tList *list) ;
uint32_t tListCount (tList *list);
tNode *tListFirst (tList *list) ;
tNode *tListLast (tList *list);
tNode *tListPre (tList *list, tNode *node) ;
tNode *tListNext (tList *list, tNode *node);
void tListRemoveAll (tList *list) ;
void tListAddFirst (tList *list, tNode *node);
void tListAddLast (tList *list, tNode *node);
tNode *tListRemoveFirst (tList *list);
void tListInsertAfter (tList *list, tNode *nodeAfter, tNode *nodeToInsert);
void tListRemove (tList *list, tNode *node);
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/guanmingweiabc/t-os.git
git@gitee.com:guanmingweiabc/t-os.git
guanmingweiabc
t-os
tOS
master

搜索帮助