Mi10Pro_ISP568_FHD_BC/src/common/tau_queue.h

55 lines
1.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*******************************************************************************
*
*
* File: tau_queue.h
* Description tau 队列操作
* Version V0.1
* Date 2021-02-25
* Author lzy
*******************************************************************************/
#ifndef _TAU_QUEUE_H
#define _TAU_QUEUE_H
#include <stdio.h>
#include <stdlib.h>
typedef struct node_t
{
void *data;
struct node_t *next;
} node_t;
typedef node_t node;
typedef struct
{
node *next;
node *tail;
int count;
int max_size;
} tau_queue_t;
//申请node
node *tau_new_node(void *data);
//释放node
void tau_free_node(node *qn);
//申请队列
tau_queue_t *tau_new_queue(int max_size);
//释放队列
void tau_free_queue(tau_queue_t *q);
//入列 返回0 为失败1为成功
int tau_queue_push(tau_queue_t *q, void *data);
//出列
void *tau_queue_pop(tau_queue_t *q);
//获取队列size
int tau_queue_size(tau_queue_t *q);
//检查队列是否为空
int tau_queue_empty(tau_queue_t *q);
//检查队列是否满了
int tau_queue_full(tau_queue_t *q);
#endif