Mi10Pro_ISP568_FHD_BC/src/common/tau_queue.h

55 lines
1.0 KiB
C
Raw Normal View History

/*******************************************************************************
*
*
* File: tau_queue.h
* Description tau <EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
* 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;
//<2F><><EFBFBD><EFBFBD>node
node *tau_new_node(void *data);
//<2F>ͷ<EFBFBD>node
void tau_free_node(node *qn);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tau_queue_t *tau_new_queue(int max_size);
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
void tau_free_queue(tau_queue_t *q);
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>0 Ϊʧ<CEAA>ܣ<EFBFBD><31>ɹ<EFBFBD>
int tau_queue_push(tau_queue_t *q, void *data);
//<2F><><EFBFBD><EFBFBD>
void *tau_queue_pop(tau_queue_t *q);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>size
int tau_queue_size(tau_queue_t *q);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>
int tau_queue_empty(tau_queue_t *q);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
int tau_queue_full(tau_queue_t *q);
#endif