+ * struct element {
+ * int value;
+ * struct lqueue_link link;
+ * };
+ * LQUEUE(struct element, link) my_queue;
+ */
+#define LQUEUE(etype, link) \
+ TCON_WRAP(struct lqueue_, \
+ TCON_CONTAINER(canary, etype, link))
+
+/**
+ * LQUEUE_INIT - initializer for an empty queue
+ *
+ * The LQUEUE_INIT macro returns a suitable initializer for a queue
+ * defined with LQUEUE.
+ *
+ * Example:
+ * struct element {
+ * int value;
+ * struct lqueue_link link;
+ * };
+ * LQUEUE(struct element, link) my_queue = LQUEUE_INIT;