enhance coherence.

This commit is contained in:
Gatsby Van
2023-12-21 23:10:51 +08:00
parent a2de2d5855
commit 329abdfca3
+22 -25
View File
@@ -24,6 +24,7 @@
#include "linklayer814_types.h" #include "linklayer814_types.h"
#include "geometry/coord.h" #include "geometry/coord.h"
#include "../util/util.h" #include "../util/util.h"
#include "../util/list.h"
/************************** Constant Definitions *****************************/ /************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/ /***************** Macros (Inline Functions) Definitions *********************/
@@ -32,36 +33,32 @@ typedef struct NODE_LIST_ENTRY {
L2_NODE_INFO nodeInfo; L2_NODE_INFO nodeInfo;
uint32_t ttlCnt; uint32_t ttlCnt;
int32_t timeDevi; int32_t timeDevi;
struct NODE_LIST_ENTRY *nextNode;
struct NODE_LIST_ENTRY *preNode;
} NODE_ENTRY; } NODE_ENTRY;
typedef struct { typedef list_t NODE_LIST;
uint32_t nodeNum;
NODE_ENTRY *head;
} NODE_LIST;
/************************** Variable Definitions *****************************/ /************************** Variable Definitions *****************************/
/************************** Function Prototypes ******************************/ /************************** Function Prototypes ******************************/
int32_t NodeList_Init(NODE_LIST **list); int32_t L2_NodeList_Init(NODE_LIST **list);
void NodeList_Clear(NODE_LIST *list); void L2_NodeList_Clear(NODE_LIST *list);
void NodeList_Destroy(NODE_LIST *list); void L2_NodeList_Destroy(NODE_LIST *list);
NODE_ENTRY *GetNode(NODE_LIST *list, uint32_t nodeId); uint32_t L2_GetNodeListLen(NODE_LIST *list);
int32_t AppendNode(NODE_LIST *list, uint8_t nodeId, L2_NODE_TYPE nodeType); NODE_ENTRY* L2_GetNodeById(NODE_LIST *list, uint8_t nodeId);
int32_t DeletNode(NODE_LIST *list, uint8_t nodeId); NODE_ENTRY* L2_AppendNode(NODE_LIST *list, uint8_t nodeId, L2_NODE_TYPE nodeType);
int32_t UpdateNodePos(NODE_LIST *list, uint8_t nodeId, const COORD *newPos); int32_t L2_DeleteNode(NODE_LIST *list, uint8_t nodeId);
int32_t GetNodePos(NODE_LIST *list, uint8_t nodeId, COORD *newPos); int32_t L2_UpdateNodePos(NODE_LIST *list, uint8_t nodeId, const COORD *newPos);
int32_t UpdateNodeSpeed(NODE_LIST *list, uint8_t nodeId, const COORD *newSpeed); int32_t L2_GetNodePos(NODE_LIST *list, uint8_t nodeId, COORD *newPos);
int32_t GetNodeSpeed(NODE_LIST *list, uint8_t nodeId, COORD *speed); int32_t L2_UpdateNodeSpeed(NODE_LIST *list, uint8_t nodeId, const COORD *newSpeed);
int32_t UpdateNodeTimeDeviation(NODE_LIST *list, uint8_t nodeId, int32_t devi); int32_t L2_GetNodeSpeed(NODE_LIST *list, uint8_t nodeId, COORD *speed);
int32_t GetDistance(NODE_LIST *list, COORD myCoord, uint8_t nodeId, double* dst); int32_t L2_UpdateNodeTimeDeviation(NODE_LIST *list, uint8_t nodeId, int32_t devi);
int32_t GetNodeNum(NODE_LIST *list); int32_t L2_GetDistance(NODE_LIST *list, COORD myCoord, uint8_t nodeId, double* dst);
int32_t RstNodeTTL(NODE_LIST *list, uint8_t nodeId); int32_t L2_GetNodeNum(NODE_LIST *list);
int32_t IncNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t inc); int32_t L2_RstNodeTTL(NODE_LIST *list, uint8_t nodeId);
int32_t GetNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t *ttl); int32_t L2_IncNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t inc);
bool IsNodeInList(NODE_LIST *list, uint8_t nodeId); int32_t L2_GetNodeTTL(NODE_LIST *list, uint8_t nodeId, uint32_t *ttl);
int32_t IterEditNode(NODE_LIST *list, const void *param, int32_t (*operation)(NODE_ENTRY*, const void*)); bool L2_IsNodeInList(NODE_LIST *list, uint8_t nodeId);
int32_t IterDeleteNode(NODE_LIST *list, bool (*condition)(NODE_ENTRY *)); 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_ */ #endif /* NODE_LIST_H_ */