diff --git a/src/shared/queue.c b/src/shared/queue.c
index a5155e7..ccf2f07 100644
--- a/src/shared/queue.c
+++ b/src/shared/queue.c
#include "src/shared/util.h"
#include "src/shared/queue.h"
-struct queue_entry {
- int ref_count;
- void *data;
- struct queue_entry *next;
-};
-
struct queue {
int ref_count;
struct queue_entry *head;
return count;
}
+const struct queue_entry *queue_get_entries(struct queue *queue)
+{
+ if (!queue)
+ return NULL;
+
+ return queue->head;
+}
+
unsigned int queue_length(struct queue *queue)
{
if (!queue)
diff --git a/src/shared/queue.h b/src/shared/queue.h
index 602b0ce..0d5a9a5 100644
--- a/src/shared/queue.h
+++ b/src/shared/queue.h
struct queue;
+struct queue_entry {
+ int ref_count;
+ void *data;
+ struct queue_entry *next;
+};
+
struct queue *queue_new(void);
void queue_destroy(struct queue *queue, queue_destroy_func_t destroy);
unsigned int queue_remove_all(struct queue *queue, queue_match_func_t function,
void *user_data, queue_destroy_func_t destroy);
+const struct queue_entry *queue_get_entries(struct queue *queue);
+
unsigned int queue_length(struct queue *queue);
bool queue_isempty(struct queue *queue);