+ } else if(!strcasecmp(buf, "who")) {
+ if(!arg) {
+ nodes = meshlink_get_all_nodes(mesh, nodes, &nnodes);
+
+ if(!nnodes) {
+ fprintf(stderr, "Could not get list of nodes: %s\n", meshlink_strerror(meshlink_errno));
+ } else {
+ printf("%zu known nodes:", nnodes);
+
+ for(int i = 0; i < nnodes; i++) {
+ printf(" %s", nodes[i]->name);
+ }
+
+ printf("\n");
+ }
+ } else {
+ meshlink_node_t *node = meshlink_get_node(mesh, arg);
+
+ if(!node) {
+ fprintf(stderr, "Error looking up '%s': %s\n", arg, meshlink_strerror(meshlink_errno));
+ } else {
+ printf("Node %s found\n", arg);
+ }
+ }