hop-2012/experiments/cmsg/dataq.h

22 lines
475 B
C

/* Copyright (C) 2010, 2011 Tony Garnock-Jones. All rights reserved. */
#ifndef cmsg_dataq_h
#define cmsg_dataq_h
typedef struct queue_t_ {
size_t link_offset;
int count;
void *head;
void *tail;
} queue_t;
#define EMPTY_QUEUE(element_t, link_field_name) \
((queue_t) { offsetof(element_t, link_field_name), 0, NULL, NULL })
extern void enqueue(queue_t *q, void *x);
extern void *dequeue(queue_t *q);
extern void queue_append(queue_t *q1, queue_t *q2);
#endif