src/cx/linked_list.h

changeset 1367
6b3d52dd176e
parent 1318
12fa1d37fe48
--- a/src/cx/linked_list.h	Mon Sep 08 22:48:48 2025 +0200
+++ b/src/cx/linked_list.h	Tue Sep 09 22:30:18 2025 +0200
@@ -44,6 +44,38 @@
 #endif
 
 /**
+ * Meta data for a linked list.
+ */
+typedef struct cx_linked_list_s {
+    /** Base members. */
+    struct cx_list_s base;
+    /**
+     * Location of the prev pointer (mandatory).
+     */
+    off_t loc_prev;
+    /**
+     * Location of the next pointer (mandatory).
+     */
+    off_t loc_next;
+    /**
+     * Location of the payload (mandatory).
+     */
+    off_t loc_data;
+    /**
+     * Additional bytes to allocate @em behind the payload (e.g. for metadata).
+     */
+    size_t extra_data_len;
+    /**
+     * Pointer to the first node.
+     */
+    void *begin;
+    /**
+     * Pointer to the last node.
+     */
+    void *end;
+} cx_linked_list;
+
+/**
  * Allocates a linked list for storing elements with @p elem_size bytes each.
  *
  * If @p elem_size is #CX_STORE_POINTERS, the created list stores pointers instead of

mercurial