代码拉取完成,页面将自动刷新
#ifndef __QUEUE_H_
#define __QUEUE_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <common.h>
#include <list.h>
typedef struct QUEUE
{
LIST_NODE list;
U32 length;
} QUEUE;
typedef LIST_NODE QUEUE_NODE;
// 获取队列节点首地址
#define QUEUE_NODE(ptr, type, member) container_of(ptr, type, member)
/******************************************************************************
* 函数名称: void QueueInit(QUEUE* queue)
* 功能说明: 队列初始化
* 输入参数: QUEUE* queue --队列
* 输出参数: 无
* 函数返回: 无
* 其它说明: 无
******************************************************************************/
void QueueInit(QUEUE* queue);
/******************************************************************************
* 函数名称: void QueueAdd(QUEUE* queue, QUEUE_NODE* node)
* 功能说明: 在队列尾插入一个节点
* 输入参数: QUEUE* queue --队列
QUEUE_NODE* node --节点
* 输出参数: 无
* 函数返回: 无
* 其它说明: 无
******************************************************************************/
void QueueAdd(QUEUE* queue, QUEUE_NODE* node);
/******************************************************************************
* 函数名称: void QueueHeadAdd(QUEUE* queue, QUEUE_NODE* node)
* 功能说明: 在队列头插入一个节点
* 输入参数: QUEUE* queue --队列
QUEUE_NODE* node --节点
* 输出参数: 无
* 函数返回: 无
* 其它说明: 无
******************************************************************************/
void QueueHeadAdd(QUEUE* queue, QUEUE_NODE* node);
/******************************************************************************
* 函数名称: QUEUE_NODE* QueueRemove(QUEUE* queue)
* 功能说明: 从队列头取出一个节点
* 输入参数: QUEUE* queue --队列
* 输出参数: 无
* 函数返回: 取出的节点
* 其它说明: 无
******************************************************************************/
QUEUE_NODE* QueueRemove(QUEUE* queue);
/******************************************************************************
* 函数名称: QUEUE_NODE* QueueTailRemove(QUEUE* queue)
* 功能说明: 从队列尾取出一个节点
* 输入参数: QUEUE* queue --队列
* 输出参数: 无
* 函数返回: 取出的节点
* 其它说明: 无
******************************************************************************/
QUEUE_NODE* QueueTailRemove(QUEUE* queue);
/******************************************************************************
* 函数名称: BOOL QueueIsEmpty(QUEUE* queue)
* 功能说明: 队列是否为空
* 输入参数: QUEUE* queue --队列
* 输出参数: 无
* 函数返回: 0:否; 1:是
* 其它说明: 无
******************************************************************************/
BOOL QueueIsEmpty(QUEUE* queue);
/******************************************************************************
* 函数名称: U32 QueueLength(QUEUE* queue)
* 功能说明: 获取队列长度
* 输入参数: QUEUE* queue --队列
* 输出参数: 无
* 函数返回: 队列长度
* 其它说明: 无
******************************************************************************/
U32 QueueLength(QUEUE* queue);
#ifdef __cplusplus
}
#endif
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。