+ return TRUE;
+}
+
+/****f* silcutil/SilcDList/silc_dlist_insert
+ *
+ * SYNOPSIS
+ *
+ * static inline
+ * SilcBool silc_dlist_insert(SilcDList list, void *context);
+ *
+ * DESCRIPTION
+ *
+ * Insert new entry to the list between current and previous entry.
+ * If list is at the start this adds the entry at head of the list.
+ * Use silc_dlist_add to add at the end of the list.
+ *
+ ***/
+
+static inline
+SilcBool silc_dlist_insert(SilcDList list, void *context)
+{
+ SilcDListEntry e = (SilcDListEntry)silc_smalloc(list->stack, sizeof(*e));
+ if (silc_unlikely(!e))
+ return FALSE;
+ e->context = context;
+ silc_list_insert(list->list, list->prev, e);
+ return TRUE;