From 329abdfca324c58979853f2f6f3c74ad21f688d4 Mon Sep 17 00:00:00 2001 From: Gatsby Van Date: Thu, 21 Dec 2023 23:10:51 +0800 Subject: [PATCH] enhance coherence. --- datalink814_ge/src/linklayer/node_list.h | 47 +++++++++++------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/datalink814_ge/src/linklayer/node_list.h b/datalink814_ge/src/linklayer/node_list.h index 8aaa367..fd27d24 100644 --- a/datalink814_ge/src/linklayer/node_list.h +++ b/datalink814_ge/src/linklayer/node_list.h @@ -24,6 +24,7 @@ #include "linklayer814_types.h" #include "geometry/coord.h" #include "../util/util.h" +#include "../util/list.h" /************************** Constant Definitions *****************************/ /***************** Macros (Inline Functions) Definitions *********************/ @@ -32,36 +33,32 @@ typedef struct NODE_LIST_ENTRY { L2_NODE_INFO nodeInfo; uint32_t ttlCnt; int32_t timeDevi; - struct NODE_LIST_ENTRY *nextNode; - struct NODE_LIST_ENTRY *preNode; } NODE_ENTRY; -typedef struct { - uint32_t nodeNum; - NODE_ENTRY *head; -} NODE_LIST; +typedef list_t NODE_LIST; /************************** Variable Definitions *****************************/ /************************** Function Prototypes ******************************/ -int32_t NodeList_Init(NODE_LIST **list); -void NodeList_Clear(NODE_LIST *list); -void NodeList_Destroy(NODE_LIST *list); -NODE_ENTRY *GetNode(NODE_LIST *list, uint32_t nodeId); -int32_t AppendNode(NODE_LIST *list, uint8_t nodeId, L2_NODE_TYPE nodeType); -int32_t DeletNode(NODE_LIST *list, uint8_t nodeId); -int32_t UpdateNodePos(NODE_LIST *list, uint8_t nodeId, const COORD *newPos); -int32_t GetNodePos(NODE_LIST *list, uint8_t nodeId, COORD *newPos); -int32_t UpdateNodeSpeed(NODE_LIST *list, uint8_t nodeId, const COORD *newSpeed); -int32_t GetNodeSpeed(NODE_LIST *list, uint8_t nodeId, COORD *speed); -int32_t UpdateNodeTimeDeviation(NODE_LIST *list, uint8_t nodeId, int32_t devi); -int32_t GetDistance(NODE_LIST *list, COORD myCoord, uint8_t nodeId, double* dst); -int32_t GetNodeNum(NODE_LIST *list); -int32_t RstNodeTTL(NODE_LIST *list, uint8_t nodeId); -int32_t IncNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t inc); -int32_t GetNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t *ttl); -bool IsNodeInList(NODE_LIST *list, uint8_t nodeId); -int32_t IterEditNode(NODE_LIST *list, const void *param, int32_t (*operation)(NODE_ENTRY*, const void*)); -int32_t IterDeleteNode(NODE_LIST *list, bool (*condition)(NODE_ENTRY *)); +int32_t L2_NodeList_Init(NODE_LIST **list); +void L2_NodeList_Clear(NODE_LIST *list); +void L2_NodeList_Destroy(NODE_LIST *list); +uint32_t L2_GetNodeListLen(NODE_LIST *list); +NODE_ENTRY* L2_GetNodeById(NODE_LIST *list, uint8_t nodeId); +NODE_ENTRY* L2_AppendNode(NODE_LIST *list, uint8_t nodeId, L2_NODE_TYPE nodeType); +int32_t L2_DeleteNode(NODE_LIST *list, uint8_t nodeId); +int32_t L2_UpdateNodePos(NODE_LIST *list, uint8_t nodeId, const COORD *newPos); +int32_t L2_GetNodePos(NODE_LIST *list, uint8_t nodeId, COORD *newPos); +int32_t L2_UpdateNodeSpeed(NODE_LIST *list, uint8_t nodeId, const COORD *newSpeed); +int32_t L2_GetNodeSpeed(NODE_LIST *list, uint8_t nodeId, COORD *speed); +int32_t L2_UpdateNodeTimeDeviation(NODE_LIST *list, uint8_t nodeId, int32_t devi); +int32_t L2_GetDistance(NODE_LIST *list, COORD myCoord, uint8_t nodeId, double* dst); +int32_t L2_GetNodeNum(NODE_LIST *list); +int32_t L2_RstNodeTTL(NODE_LIST *list, uint8_t nodeId); +int32_t L2_IncNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t inc); +int32_t L2_GetNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t *ttl); +bool L2_IsNodeInList(NODE_LIST *list, uint8_t nodeId); +int32_t L2_IterEditNode(NODE_LIST *list, const void *param, int32_t (*operation)(NODE_ENTRY*, const void*)); +int32_t L2_IterDeleteNode(NODE_LIST *list, bool (*condition)(NODE_ENTRY *)); #endif /* NODE_LIST_H_ */