#include "linked_list.h"
|
#include "stdlib.h"
|
|
|
ALARM_NODE_T * pList_head = NULL;
|
uint8_t alarm_list_cnt = 0;
|
|
///*Á´±íÍ·Êý¾Ý¹¹Ôì*/
|
//ALARM_NODE_T * Alarm_List_Node_HeadCreated(ALARM_NODE_T * pHead,SYS_ALARM_VALVE_T alarm_id)
|
//{
|
// if(pHead->list_data == AV_NORMAL && pHead->alarm_list_next == NULL)
|
// {
|
// pHead->list_data = alarm_id;
|
// }
|
// return pHead;
|
//}
|
/*ÉêÇ붯̬Á´±í¿Õ¼ä*/
|
ALARM_NODE_T * Alarm_List_Node_Add(SYS_ALARM_VALVE_T alarm_id)
|
{
|
ALARM_NODE_T * ptr = (ALARM_NODE_T * )malloc(ALARM_LIST_NODE_LEN);
|
if(ptr != NULL)
|
{
|
ptr->list_data = alarm_id;
|
ptr->alarm_list_next = NULL;
|
return ptr;
|
}
|
return NULL;
|
}
|
//µ¥Á´±íβ²å
|
//Ë«ÖØÖ¸Õ룺ָÏòÖ¸ÕëµÄÖ¸Õ룬Èç¹ûÐè¸Ä±äÖ¸ÕëµØÖ·µÄÖµ£¬Ôò¿ÉÓÃË«ÖØÖ¸Õë
|
void Alarm_List_Node_PushBack(ALARM_NODE_T ** ppList,SYS_ALARM_VALVE_T alarm_id)
|
{
|
// ALARM_NODE_T * tail, * now_ptr;
|
//
|
// if(alarm_id != ALARM_ID_NORMAL)
|
// {
|
// alarm_list_cnt++;
|
// if(*ppList == NULL)
|
// {
|
// *ppList = Alarm_List_Node_Add(alarm_id);
|
// }
|
// else
|
// {
|
// //ÅжÏÁ´±íÖÐÊÇ·ñÒѾ´æÔڸñ¨¾¯id£¬ÒѾ´æÔÚ²»ÔÙ²åÈëÁ´±í
|
// do{
|
// if(now_ptr->list_data == alarm_id){
|
// return;
|
// }else{
|
// now_ptr = now_ptr->alarm_list_next;
|
// }
|
//
|
// }while(now_ptr != NULL);
|
//
|
// tail = *ppList;
|
// while(tail->alarm_list_next)
|
// tail = tail->alarm_list_next;
|
// tail->alarm_list_next = Alarm_List_Node_Add(alarm_id);
|
// }
|
// }
|
}
|
//µ¥Á´±íµÄβɾ
|
void Alarm_List_Node_PopBack(ALARM_NODE_T ** ppList)
|
{
|
ALARM_NODE_T * tail = *ppList;
|
while (tail->alarm_list_next->alarm_list_next)
|
{
|
tail = tail->alarm_list_next;
|
}
|
free(tail->alarm_list_next);
|
tail->alarm_list_next = NULL;
|
}
|
////µ¥Á´±í²éÕÒ
|
//ALARM_NODE_T * Alarm_List_Node_Find(ALARM_NODE_T * pList,SYS_ALARM_VALVE_T alarm_id)
|
//{
|
// ALARM_NODE_T * cur_ptr = pList;
|
// while(cur_ptr)
|
// {
|
// if(cur_ptr->list_data == alarm_id)
|
// return cur_ptr;
|
// cur_ptr = cur_ptr->alarm_list_next;
|
// }
|
// return NULL;
|
//}
|
//µ¥Á´±íÖмäɾ³ý
|
void Alarm_List_Node_Deleted(ALARM_NODE_T ** ppHeadList,SYS_ALARM_VALVE_T alarm_id)
|
{
|
// if(alarm_id != ALARM_ID_NORMAL)
|
// {
|
// ALARM_NODE_T * last_ptr,* now_ptr;
|
// if(*ppHeadList == NULL)
|
// return;
|
// else
|
// {
|
// now_ptr = *ppHeadList;
|
// while(now_ptr->alarm_list_next != NULL && now_ptr->list_data != alarm_id)
|
// {
|
// last_ptr = now_ptr;
|
// now_ptr = now_ptr->alarm_list_next;
|
// }
|
// if(now_ptr->list_data == alarm_id)
|
// {
|
// alarm_list_cnt--;
|
// if(now_ptr == *ppHeadList)
|
// *ppHeadList = now_ptr->alarm_list_next;
|
// else
|
// last_ptr->alarm_list_next = now_ptr->alarm_list_next;
|
// free(now_ptr);
|
// now_ptr = NULL;
|
// }
|
// }
|
// }
|
}
|