Index: trunk/Ohana/src/opihi/pcontrol/host.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/host.c	(revision 3187)
+++ trunk/Ohana/src/opihi/pcontrol/host.c	(revision 3189)
@@ -39,27 +39,31 @@
 
   if (On) {
-    host = FindHost (argv[1], PCONTROL_HOST_OFF);
-    if (host == NULL) {
+    N = FindNamedHost (argv[1], PCONTROL_HOST_OFF);
+    if (N < 0) {
       fprintf (stderr, "host %s is not OFF\n", argv[1]);
       return (FALSE);
     }
-    DownHost (host);
+    host = GetHost (PCONTROL_HOST_OFF, N);
+    PutHost (host, PCONTROL_HOST_DOWN, QUEUE_BOTTOM);
     return (TRUE);
   }
 
   if (Off) {
-    host = FindHost (argv[1], PCONTROL_HOST_IDLE);
-    if (host != NULL) {
-      OffHost (host);
+    N = FindNamedHost (argv[1], PCONTROL_HOST_IDLE);
+    if (N >= 0) {
+      host = GetHost (PCONTROL_HOST_OFF, N);
+      PutHost (host, PCONTROL_HOST_OFF, QUEUE_BOTTOM);
       return (TRUE);
     }
-    host = FindHost (argv[1], PCONTROL_HOST_DOWN);
-    if (host != NULL) {
-      OffHost (host);
+    N = FindNamedHost (argv[1], PCONTROL_HOST_DOWN);
+    if (N >= 0) {
+      host = GetHost (PCONTROL_HOST_OFF, N);
+      PutHost (host, PCONTROL_HOST_OFF, QUEUE_BOTTOM);
       return (TRUE);
     }
-    host = FindHost (argv[1], PCONTROL_HOST_BUSY);
-    if (host != NULL) {
-      MarkOffHost (host);
+    N = FindNamedHost (argv[1], PCONTROL_HOST_BUSY);
+    if (N >= 0) {
+      host = GetHost (PCONTROL_HOST_OFF, N);
+      PutHost (host, PCONTROL_HOST_OFF, QUEUE_BOTTOM);
       return (TRUE);
     }
