FreeBSD/sys/kern/subr_smp.c
/*
 * Iterate to the next node in the depth-first search of the topology tree,
 * but without descending below the current node.
 */
Iterate to the next node in the depth-first search of the topology tree,
but without descending below the current node.
Iterate to the next node in the depth - first search of the topology tree but without descending below the current node .
struct topo_node *
topo_next_nonchild_node(struct topo_node *top, struct topo_node *node)
{
	struct topo_node *next;
	if ((next = TAILQ_NEXT(node, siblings)) != NULL)
		return (next);
	while ((node = node->parent) != top)
		if ((next = TAILQ_NEXT(node, siblings)) != NULL)
			return (next);
	return (NULL);
}
struct topo_node * topo_next_nonchild_node ( struct topo_node * top , struct topo_node * node ) { struct topo_node * next ; if ( ( next = TAILQ_NEXT ( node , siblings ) ) != NULL ) return ( next ) ; while ( ( node = node -> parent ) != top ) if ( ( next = TAILQ_NEXT ( node , siblings ) ) != NULL ) return ( next ) ; return ( NULL ) ; }
Iterate to the next node in the depth-first search of the topology tree,
 but without descending below the current node.
Iterate to the next node in the depth - first search of the topology tree but without descending below the current node .