enhance coherence.
This commit is contained in:
@@ -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_ */
|
||||||
|
|||||||
Reference in New Issue
Block a user