]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - linkedlist.h
Add instructions
[dragonblocks_alpha.git] / linkedlist.h
index a2169892ad8f05de9e7450d4b97c23fd4f68338a..a3604c2e7e12cf345ab0d9c0fee76e8f3d5f0473 100644 (file)
@@ -1,13 +1,15 @@
 #ifndef _LINKEDLIST_H_
 #define _LINKEDLIST_H_
 
-#define ITERATE_LINKEDLIST(list, pair) for (LinkedListPair *pair = list->first; pair != NULL; pair = pair->next)
+#include <stdbool.h>
+
+#define ITERATE_LINKEDLIST(list, pair) for (LinkedListPair *pair = (list)->first; pair != NULL; pair = pair->next)
 
 typedef struct LinkedListPair
 {
        struct LinkedListPair *next;
        const char *key;
-       const char *value;
+       void *value;
 } LinkedListPair;
 
 typedef struct
@@ -18,9 +20,10 @@ typedef struct
 LinkedList linked_list_create();
 void linked_list_clear(LinkedList *list);
 
-void linked_list_put(LinkedList *list, const char *key, const char *value); // ToDo
-void linked_list_get(LinkedList *list, const char *key); // ToDo
-void linked_list_delete(LinkedList *list, const char *key); // ToDo
+bool linked_list_put(LinkedList *list, const char *key, void *value);
+void linked_list_set(LinkedList *list, const char *key, void *value);
+void *linked_list_get(LinkedList *list, const char *key);
+void linked_list_delete(LinkedList *list, const char *key);
 
 void linked_list_serialize(int fd); // ToDo
 void linked_list_deserialize(int fd, LinkedList *); // ToDo