📄 queue.h
字号:
/* queue.h */
/*********************************/
/* Definitions */
/*********************************/
#define QUEUE_MAGIC 0xBADD
/*********************************/
/* Structure Definitions */
/*********************************/
typedef struct {
void *next; // Next element
void *prev; // Previous element
void *data; // Data
} Element_t;
typedef struct {
Element_t *elem; // Next element to be returned
} Iter_t;
typedef struct {
int magic; // Magic number
Element_t *head; // Head of queue
Element_t *tail; // End of queue
long count; // Number of entries
long mark; // Watermark
} Queue_t;
/*********************************/
/* Function Definitions */
/*********************************/
Element_t *elementAlloc();
void elementFree(Element_t *element);
void queueInit (Queue_t *queue);
Element_t *queueAdd (Queue_t *queue, Element_t *element);
Element_t *queueRemove (Queue_t *queue, Element_t *element);
void queueFree (Queue_t *queue);
void iterInit (Queue_t *queue, Iter_t *iter);
Element_t *queueIterate (Iter_t *iter);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -