2015-12-02 10:22:11 -05:00
|
|
|
/*
|
2013-12-31 15:44:44 -05:00
|
|
|
* Copyright 2013 (c) Anna Schumaker.
|
|
|
|
*/
|
2014-06-05 10:19:22 -04:00
|
|
|
#include <core/queue.h>
|
2015-01-29 08:27:25 -05:00
|
|
|
#include <core/string.h>
|
2015-12-02 10:22:11 -05:00
|
|
|
#include <stdlib.h>
|
2014-01-22 21:17:51 -05:00
|
|
|
|
2013-12-31 15:44:44 -05:00
|
|
|
|
2016-05-02 07:52:18 -04:00
|
|
|
static inline void *__queue_init(struct queue *queue, void *data)
|
2016-01-12 08:02:28 -05:00
|
|
|
{
|
|
|
|
if (queue->q_ops)
|
2016-05-02 07:52:18 -04:00
|
|
|
return queue->q_ops->qop_init(queue, data);
|
2016-01-12 08:02:28 -05:00
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2016-09-19 10:55:29 -04:00
|
|
|
void queue_init(struct queue *queue, const struct queue_ops *ops, void *data)
|
2015-11-23 08:36:29 -05:00
|
|
|
{
|
|
|
|
queue->q_ops = ops;
|
2016-05-02 07:52:18 -04:00
|
|
|
queue->q_private = __queue_init(queue, data);
|
2015-11-23 08:36:29 -05:00
|
|
|
}
|