40 lines
791 B
C
40 lines
791 B
C
#ifndef _QUEUE_H_
|
|
#define _QUEUE_H_
|
|
|
|
typedef struct
|
|
{
|
|
int* (*function)(void*, void*);
|
|
void *arg;
|
|
void *device;
|
|
}task_t;
|
|
|
|
typedef struct
|
|
{
|
|
task_t* task; //任务
|
|
int head; //队列头
|
|
int tail; //队列尾
|
|
int length; //队列长度
|
|
int capacity; //队列总容量
|
|
int status; //句柄状态
|
|
}queue_t;
|
|
|
|
/*初始化队列*/
|
|
queue_t* queue_init(int capacity);
|
|
|
|
/*销毁队列*/
|
|
void queue_destory(queue_t* queue);
|
|
|
|
/*清空队列*/
|
|
void queue_clear(queue_t* queue);
|
|
|
|
/*获取队列长度*/
|
|
int queue_getlength(queue_t* queue);
|
|
|
|
/*入队*/
|
|
int queue_enqueue(queue_t* queue, int* (*function)(void* arg, void *device), void *arg, void *device);
|
|
|
|
/*出队*/
|
|
int queue_dequeue(queue_t* queue, int* (*function)(void* arg, void *device), void *arg, void *device);
|
|
|
|
#endif
|