X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Fudevadm-monitor.c;h=43c1cc1163421a518a2279dd8987557aa1b88716;hb=116254097ad3c07d9f7ed06042dbec7ba4f0f4fd;hp=d5992ceb6c5cc7fc522a7672b5bde5078958456b;hpb=659353f5a9a52336c41cf595d933311b8dc48937;p=elogind.git diff --git a/udev/udevadm-monitor.c b/udev/udevadm-monitor.c index d5992ceb6..43c1cc116 100644 --- a/udev/udevadm-monitor.c +++ b/udev/udevadm-monitor.c @@ -77,10 +77,10 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) int rc = 0; static const struct option options[] = { - { "environment", 0, NULL, 'e' }, - { "kernel", 0, NULL, 'k' }, - { "udev", 0, NULL, 'u' }, - { "help", 0, NULL, 'h' }, + { "environment", no_argument, NULL, 'e' }, + { "kernel", no_argument, NULL, 'k' }, + { "udev", no_argument, NULL, 'u' }, + { "help", no_argument, NULL, 'h' }, {} }; @@ -104,7 +104,7 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) " --env print the whole event environment\n" " --kernel print kernel uevents\n" " --udev print udev events\n" - " --help print this help text\n\n"); + " --help\n\n"); default: goto out; } @@ -115,11 +115,6 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) print_udev =1; } - if (getuid() != 0 && print_kernel) { - fprintf(stderr, "root privileges needed to subscribe to kernel events\n"); - goto out; - } - /* set signal handlers */ memset(&act, 0x00, sizeof(struct sigaction)); act.sa_handler = (void (*)(int)) sig_handler; @@ -130,7 +125,7 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) printf("monitor will print the received events for:\n"); if (print_udev) { - udev_monitor = udev_monitor_new_from_socket(udev, "@/org/kernel/udev/monitor"); + udev_monitor = udev_monitor_new_from_netlink(udev, UDEV_MONITOR_UDEV); if (udev_monitor == NULL) { rc = 1; goto out; @@ -139,11 +134,12 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) rc = 2; goto out; } - printf("UDEV the event which udev sends out after rule processing\n"); + printf("UDEV - the event which udev sends out after rule processing\n"); } if (print_kernel) { - kernel_monitor = udev_monitor_new_from_netlink(udev); + kernel_monitor = udev_monitor_new_from_netlink(udev, UDEV_MONITOR_KERNEL); if (kernel_monitor == NULL) { + fprintf(stderr, "unable to subscribe to kernel events\n"); rc = 3; goto out; } @@ -151,7 +147,7 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) rc = 4; goto out; } - printf("UEVENT the kernel uevent\n"); + printf("UEVENT - the kernel uevent\n"); } printf("\n");