rem: list->link.next = list->link.prev = (list_link *)list;
add: list->link.next = list->link.prev = &list->link;
context: list_init_etc(struct list *list, int32 offset){	list->link.next = list->link.prev = (list_link *)list;	list->offset = offset;}