+# Declaration
+
+* LIST\\_HEAD(head);
+* Embed a struct list\\_head in your structure
+* Use a struct list\\_head pointer to iterate
+
+# Initialization
+
+* INIT\\_LIST\\_HEAD - receives a pointer to the embedded list head
+
+# Operations
+
+* list\\_add - receives a pointer to the element and a head
+* list\\_add\\_tail
+* list\\_del - receives only the pointer to the element
+* list\\_empty
+
+# Access
+
+* list\\_entry(entry, type, member); -- uses container\\_of
+* list\\_first\\_entry(head, type, member);
+
+# Iteration macros
+
+* list\\_for\\_each(lhptr, head);
+* list\\_for\\_each\\_entry(iptr, head, member)
+* list\\_for\\_each\\_safe(lhptr, head);
+