hse macros are for linking and unlininking things in a linked list. The list is basically a singly-linked list, but also references the pointer that is pointing at the current node. This simplifies insert/remove operations, because the specific list that the node is in, is not required. List heads will always be updated correctly.
A few 'tricks' are available, such as a) These are deemed dangerous; and uncomprehendable by anyone but the maintainer. use at your own time and expense required to explain WHY these work.