X-Git-Url: https://pd.if.org/git/?p=zos;a=blobdiff_plain;f=klib%2Fobjlist.c;fp=klib%2Fobjlist.c;h=ce3bd0dc363ff114b4e3319edb576b6b610700e1;hp=0000000000000000000000000000000000000000;hb=5c0e560e481e2e97b793f7574e849a5882781df9;hpb=e57b692bd3a86ee40fd89416a06fd696f1ff3bf9 diff --git a/klib/objlist.c b/klib/objlist.c new file mode 100644 index 0000000..ce3bd0d --- /dev/null +++ b/klib/objlist.c @@ -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 +}