#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