Something went wrong. Try again.
a less like pager but for fun
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#ifndef KK_QUEUE_H_#define KK_QUEUE_H_
#include <stdbool.h>
/* * define the default max size * even afew will be enough as queue cmds * will be consumed right away on most * machines but we dont want unexpected * beheviour on slow machines */#define Q_MAX_SIZE 128
#define __need_NULL#include <stddef.h>
#define Q_NULL NULL#define Q_EMPTY_IDX -1
enum { Q_DONE = 0, Q_FULL};
typedef struct { int front; int rear; void *items[Q_MAX_SIZE];} queue;
extern queue q_new();
extern bool q_is_empty(queue *q);extern bool q_is_full(queue *q);
extern int q_enqueue(queue *q, void *item);extern void *q_dequeue(queue *q);
extern void *q_peek(queue *q);
#ifdef KK_DEBUG_extern void q_print_type_enum(int e);extern void q_debug(queue *q);#endif // KK_DEBUG_
#endif