]> pd.if.org Git - zos/blobdiff - klib/objlist.c
klib and makefile
[zos] / klib / objlist.c
diff --git a/klib/objlist.c b/klib/objlist.c
new file mode 100644 (file)
index 0000000..ce3bd0d
--- /dev/null
@@ -0,0 +1,52 @@
+#include "objlist.h"
+
+#include "mem.h"
+
+/*
+ * how to have an empty list
+ */
+struct kobj_list *list_init() {
+       struct kobj_list *list;
+       list = koalloc(sizeof *list);
+       list->next = 0;
+       list->prev = 0;
+       list->flags = 0;
+       return list;
+}
+
+/* add an object pointer to the end of the list */
+void list_push(struct kobj_list *list, void *obj) {
+       
+}
+
+void *list_pop(struct kobj_list *list, void *obj) {
+       return 0;
+}
+
+void *list_shift(struct kobj_list *list, void *obj) {
+       return 0;
+}
+
+void list_unshift(struct kobj_list *list, void *obj) {
+}
+
+void list_free(struct kobj_list *list, void *obj) {
+}
+
+#if 0
+for (cur = list; cur != list; cur = cur->next) {
+       
+}
+#endif
+void *list_elem(struct kobj_list *list, uint64_t elem) {
+       return 0;
+#if 0
+       if (elem > list->elements) return 0;
+
+       while (elem > KOLIST_MAX_INDEX) {
+               list = list->next;
+               elem -= KOLIST_MAX_INDEX+1;
+       }
+       return list->obj[elem];
+#endif
+}