blob: cebf21e0a03cbc01f017115af98f82d1c249a034 [file] [log] [blame]
#ifndef __J_QUEUE__
#define __J_QUEUE__
#ifdef __cplusplus
extern "C" {
#endif
#define INIT_ROOM_SIZE 64
typedef struct JQueue_s {
unsigned int room_size;
void **rooms;
//point to position for fetch
unsigned int head;
//point to position for fill
unsigned int tail;
//to double check the "element number"
unsigned int element_count;
} JQueue;
int j_queue_is_empty(JQueue* queue);
void* j_queue_pop_head(JQueue* queue);
void *j_queue_peek_head(JQueue* queue);
void j_queue_free(JQueue* queue);
JQueue* j_queue_new();
void j_queue_push_tail(JQueue *queue, void *data);
#ifdef __cplusplus
}
#endif
#endif