]> git.meshlink.io Git - catta/blobdiff - avahi-core/prioq.h
* strip glib from avahi-core
[catta] / avahi-core / prioq.h
index e6105d8ffd3812de297e758672b6df3e623d2ba3..ace92f632bafb1be3e50549ab8684023a14b59a8 100644 (file)
   USA.
 ***/
 
-#include <glib.h>
-
 typedef struct AvahiPrioQueue AvahiPrioQueue;
-
 typedef struct AvahiPrioQueueNode AvahiPrioQueueNode;
 
+typedef int (*AvahiPQCompareFunc)(const void* a, const void* b);
+
 struct AvahiPrioQueue {
     AvahiPrioQueueNode *root, *last;
-    
-    guint n_nodes;
-    gint (*compare) (gconstpointer a, gconstpointer b);
+    unsigned n_nodes;
+    AvahiPQCompareFunc compare;
 };
 
 struct AvahiPrioQueueNode {
     AvahiPrioQueue *queue;
-    gpointer data;
-    guint x, y;
-
+    void* data;
+    unsigned x, y;
     AvahiPrioQueueNode *left, *right, *parent, *next, *prev;
 };
 
-AvahiPrioQueue* avahi_prio_queue_new(gint (*compare) (gconstpointer a, gconstpointer b));
+AvahiPrioQueue* avahi_prio_queue_new(AvahiPQCompareFunc compare);
 void avahi_prio_queue_free(AvahiPrioQueue *q);
 
-AvahiPrioQueueNode* avahi_prio_queue_put(AvahiPrioQueue *q, gpointer data);
+AvahiPrioQueueNode* avahi_prio_queue_put(AvahiPrioQueue *q, void* data);
 void avahi_prio_queue_remove(AvahiPrioQueue *q, AvahiPrioQueueNode *n);
 
 void avahi_prio_queue_shuffle(AvahiPrioQueue *q, AvahiPrioQueueNode *n);