chiark / gitweb /
keymap: More Asus module variants
[elogind.git] / udev / udevadm-control.c
index 69da86563de6fb4f2038d2d47bbbde6ccb66f702..130a71b3d0db6e9d17e65f5f54eb65a2b9767f45 100644 (file)
@@ -41,7 +41,7 @@ static void print_help(void)
                "  --help                   print this help text\n\n");
 }
 
-int udevadm_control(struct udev *udev, int argc, char *argv[])
+static int adm_control(struct udev *udev, int argc, char *argv[])
 {
        struct udev_ctrl *uctrl = NULL;
        int timeout = 60;
@@ -66,7 +66,7 @@ int udevadm_control(struct udev *udev, int argc, char *argv[])
                return 1;
        }
 
-       uctrl = udev_ctrl_new_from_socket(udev, UDEV_CTRL_SOCK_PATH);
+       uctrl = udev_ctrl_new(udev);
        if (uctrl == NULL)
                return 2;
 
@@ -157,7 +157,18 @@ int udevadm_control(struct udev *udev, int argc, char *argv[])
                        break;
                }
        }
+
+       if (argv[optind] != NULL)
+               fprintf(stderr, "unknown option\n");
+       else if (optind == 1)
+               fprintf(stderr, "missing option\n");
 out:
        udev_ctrl_unref(uctrl);
        return rc;
 }
+
+const struct udevadm_cmd udevadm_control = {
+       .name = "control",
+       .cmd = adm_control,
+       .help = "control the udev daemon",
+};