/* Comparison function used to order the (GTree *) links * and canvas_links heard on the network */ gint link_id_compare (const link_id_t *a, const link_id_t *b) { int i; g_return_val_if_fail (a != NULL, 1); /* This shouldn't happen. * We arbitrarily passing 1 to * the comparison */ g_return_val_if_fail (b != NULL, 1); i = node_id_compare( &a->src, &b->src); if (i != 0) return i; return node_id_compare( &a->dst, &b->dst); } /* link_id_compare */
static gint canvas_node_compare(const node_id_t *a, const node_id_t *b, gpointer dummy) { g_assert (a != NULL); g_assert (b != NULL); return node_id_compare(a, b); }
/* Comparison function used to order the (GTree *) nodes * and canvas_nodes heard on the network */ static gint traffic_compare (gconstpointer a, gconstpointer b) { node_t *node_a, *node_b; g_assert (a != NULL); g_assert (b != NULL); node_a = (node_t *) a; node_b = (node_t *) b; if (node_a->node_stats.stats.average < node_b->node_stats.stats.average) return 1; if (node_a->node_stats.stats.average > node_b->node_stats.stats.average) return -1; /* If two nodes have the same traffic, we still have * to distinguish them somehow. We use the node_id */ return (node_id_compare (&node_a->node_id, &node_b->node_id)); } /* traffic_compare */
/* nodes catalog compare function */ static gint nodes_catalog_compare(gconstpointer a, gconstpointer b, gpointer dummy) { return node_id_compare( (const node_id_t *)a, (const node_id_t *)b); }