+#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
+}