From: Alan T. DeKok Date: Wed, 14 Dec 2016 20:27:45 +0000 (-0500) Subject: added FR_DLIST_INSERT_HEAD X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cb284ae3c164be7543ecbd75d0dac35ebc8a797;p=thirdparty%2Ffreeradius-server.git added FR_DLIST_INSERT_HEAD --- diff --git a/src/util/time.h b/src/util/time.h index 74d093b2af2..51270e24bf4 100644 --- a/src/util/time.h +++ b/src/util/time.h @@ -81,6 +81,7 @@ typedef struct fr_time_tracking_t { * Macros to manage a doubly linked list. */ #define FR_DLIST_INIT(head) do { head.prev = head.next = &head; } while (0) +#define FR_DLIST_INSERT_HEAD(head, entry) do { entry.next = head.next; entry.prev = &head; head.next->prev = &entry; head.next = &entry; } while (0) #define FR_DLIST_INSERT_TAIL(head, entry) do { entry.prev = head.prev; entry.next = &head; head.prev->next = &entry; head.prev = &entry; } while (0) #define FR_DLIST_INSERT_TAIL_PTR(p_head, entry) do { entry.prev = p_head->prev; entry.next = p_head; p_head->prev->next = &entry; p_head->prev = &entry; } while (0) #define FR_DLIST_REMOVE(entry) do { entry.prev->next = entry.next; entry.next->prev = entry.prev; FR_DLIST_INIT(entry); } while (0)