You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.5 KiB
C++

2 years ago
/************************************************************************
*
* Copyright (C) 2003-2004
* Shenzhen SCADA Control Technology Co., Ltd.
* All rights reserved.
*
*
2 years ago
*
* : 2004/01/10
2 years ago
*
* $Id: list_entry.cpp,v 1.1.1.1 2006/07/05 07:31:43 jehu Exp $
*
***********************************************************************/
#include <sys/types.h>
#include "list_entry.h"
/*
*
2 years ago
*/
void Initialize_list_head ( list_entry_t * plist_head )
{
plist_head->flink = plist_head->blink = plist_head;
}
/*
*
2 years ago
*
* \retval 0
* \retval 0
2 years ago
*/
int is_list_empty ( list_entry_t * plist_head )
{
return (int)(plist_head->flink == plist_head);
}
/*
* --
2 years ago
*/
list_entry_t * remove_head_list ( list_entry_t * plist_head )
{
list_entry_t * pHeadEntry = plist_head->flink;
remove_entry_list ( plist_head->flink );
return pHeadEntry;
}
/*
* --
2 years ago
*/
list_entry_t * remove_tail_list ( list_entry_t * plist_head )
{
list_entry_t * pHeadEntry = plist_head->blink;
remove_entry_list ( plist_head->blink );
return pHeadEntry;
}
/*
* --
2 years ago
*/
void remove_entry_list ( list_entry_t * pEntry )
{
list_entry_t * _EX_Blink = (list_entry_t *)0;
list_entry_t * _EX_Flink = (list_entry_t *)0;
_EX_Flink = pEntry->flink;
_EX_Blink = pEntry->blink;
_EX_Blink->flink = _EX_Flink;
_EX_Flink->blink = _EX_Blink;
}
/*
*
2 years ago
*/
void insert_tail_list ( list_entry_t * plist_head, list_entry_t * pEntry )
{
list_entry_t * _EX_Blink = (list_entry_t *)0;
list_entry_t * _EX_ListHead = (list_entry_t *)0;
_EX_ListHead = plist_head;
_EX_Blink = _EX_ListHead->blink;
pEntry->flink = _EX_ListHead;
pEntry->blink = _EX_Blink;
_EX_Blink->flink = pEntry;
_EX_ListHead->blink = pEntry;
}
/*
*
2 years ago
*/
void insert_head_list ( list_entry_t * plist_head, list_entry_t * pEntry)
{
list_entry_t * _EX_Flink = (list_entry_t *)0;
list_entry_t * _EX_ListHead = (list_entry_t *)0;
_EX_ListHead = plist_head;
_EX_Flink = _EX_ListHead->flink;
pEntry->flink = _EX_Flink;
pEntry->blink = _EX_ListHead;
_EX_Flink->blink = pEntry;
_EX_ListHead->flink = pEntry;
}