Hi,
I was looking the hlist's implementation in the linux kernel (linux/include/linux/list.h). The description of hlist_node is:
struct hlist_node {
struct hlist_node *next, **pprev;
};
I don't understand why there is a pointer to a pointer (**pprev) for the previous node instead of a simple pointer (*pprev). I quickly look the general functions in list.h who use this structure and I don't see something particular which can explain why we use a pointer to a pointer. Can someone explain it to me?
Thanks