/* See the end of this file for copyright and license terms. */ #include void clist_init(struct clist *head) { head->next = head; head->prev = head; } void clist_add(struct clist *head, struct clist *new) { head->next->prev = new; new->next = head->next; new->prev = head; head->next = new; } void clist_add_end(struct clist *head, struct clist *new) { head->prev->next = new; new->next = head; new->prev = head->prev; head->prev = new; } void clist_del(struct clist *node) { node->next->prev = node->prev; node->prev->next = node->next; } /* * This file is part of GayBSD. * Copyright (c) 2021 fef . * * GayBSD is nonviolent software: you may only use, redistribute, and/or * modify it under the terms of the Cooperative Nonviolent Public License * (CNPL) as found in the LICENSE file in the source code root directory * or at ; either version 7 * of the license, or (at your option) any later version. * * GayBSD comes with ABSOLUTELY NO WARRANTY, to the extent * permitted by applicable law. See the CNPL for details. */