#define _____________________________(pnode ,head, entry, n, type, member) / for(entry=list_entry((pnode)->next, type, member),/ n = list_entry(entry->member.next, type, member) ;/ n==NULL?0:/ (&entry->member == (head)?( ((head) != (pnode)) ? / entry = list_entry((head)->next, type, member),/ n = list_entry(entry->node.next, type, member):0) / : (&entry->member == (pnode) ?(n=NULL,2) : 1) );/ n==NULL?:/ (((head)->next == (head)->pre && (head)->next != (head))?(n=NULL,3): / (entry = n, n = list_entry(entry->member.next, type, member)),/ (&entry->member == (head) ?( ((head) != (pnode))?/ entry = list_entry((head)->next, type, member),/ n = list_entry(entry->member.next, type, member) :/ (n = NULL,1) ):2) ))