/* Return the first urb_link in a list with a distinguished head "hd", or NULL if the list is empty. This will also work as a predicate, returning NULL if empty, and non-NULL otherwise.  */
urb_link* first_urb_link(urb_link *hd)
/* Return the first urb_link in a list with a distinguished head "hd", or NULL if the list is empty. This will also work as a predicate, returning NULL if empty, and non-NULL otherwise.  */
urb_link* first_urb_link(urb_link *hd)
{
	urb_link *nx;
	if (NULL != hd && NULL != (nx = hd->next) && nx != hd) {
		return (nx);
	}
	return (NULL);
}