udev_monitor 549 src/core/device.c if (m->udev_monitor) { udev_monitor 550 src/core/device.c udev_monitor_unref(m->udev_monitor); udev_monitor 551 src/core/device.c m->udev_monitor = NULL; udev_monitor 565 src/core/device.c if (!m->udev_monitor) { udev_monitor 566 src/core/device.c m->udev_monitor = udev_monitor_new_from_netlink(m->udev, "udev"); udev_monitor 567 src/core/device.c if (!m->udev_monitor) { udev_monitor 575 src/core/device.c udev_monitor_set_receive_buffer_size(m->udev_monitor, 128*1024*1024); udev_monitor 577 src/core/device.c r = udev_monitor_filter_add_match_tag(m->udev_monitor, "systemd"); udev_monitor 581 src/core/device.c r = udev_monitor_enable_receiving(m->udev_monitor); udev_monitor 585 src/core/device.c r = sd_event_add_io(m->event, &m->udev_event_source, udev_monitor_get_fd(m->udev_monitor), EPOLLIN, device_dispatch_io, m); udev_monitor 640 src/core/device.c dev = udev_monitor_receive_device(m->udev_monitor); udev_monitor 178 src/core/manager.h struct udev_monitor* udev_monitor; udev_monitor 95 src/libudev/libudev-monitor.c static struct udev_monitor *udev_monitor_new(struct udev *udev) udev_monitor 97 src/libudev/libudev-monitor.c struct udev_monitor *udev_monitor; udev_monitor 99 src/libudev/libudev-monitor.c udev_monitor = new0(struct udev_monitor, 1); udev_monitor 100 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 102 src/libudev/libudev-monitor.c udev_monitor->refcount = 1; udev_monitor 103 src/libudev/libudev-monitor.c udev_monitor->udev = udev; udev_monitor 104 src/libudev/libudev-monitor.c udev_list_init(udev, &udev_monitor->filter_subsystem_list, false); udev_monitor 105 src/libudev/libudev-monitor.c udev_list_init(udev, &udev_monitor->filter_tag_list, true); udev_monitor 106 src/libudev/libudev-monitor.c return udev_monitor; udev_monitor 153 src/libudev/libudev-monitor.c struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) udev_monitor 155 src/libudev/libudev-monitor.c struct udev_monitor *udev_monitor; udev_monitor 186 src/libudev/libudev-monitor.c udev_monitor = udev_monitor_new(udev); udev_monitor 187 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 191 src/libudev/libudev-monitor.c udev_monitor->sock = socket(PF_NETLINK, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, NETLINK_KOBJECT_UEVENT); udev_monitor 192 src/libudev/libudev-monitor.c if (udev_monitor->sock == -1) { udev_monitor 194 src/libudev/libudev-monitor.c free(udev_monitor); udev_monitor 198 src/libudev/libudev-monitor.c udev_monitor->bound = true; udev_monitor 199 src/libudev/libudev-monitor.c udev_monitor->sock = fd; udev_monitor 202 src/libudev/libudev-monitor.c udev_monitor->snl.nl.nl_family = AF_NETLINK; udev_monitor 203 src/libudev/libudev-monitor.c udev_monitor->snl.nl.nl_groups = group; udev_monitor 206 src/libudev/libudev-monitor.c udev_monitor->snl_destination.nl.nl_family = AF_NETLINK; udev_monitor 207 src/libudev/libudev-monitor.c udev_monitor->snl_destination.nl.nl_groups = UDEV_MONITOR_UDEV; udev_monitor 209 src/libudev/libudev-monitor.c return udev_monitor; udev_monitor 234 src/libudev/libudev-monitor.c _public_ struct udev_monitor *udev_monitor_new_from_netlink(struct udev *udev, const char *name) udev_monitor 271 src/libudev/libudev-monitor.c _public_ int udev_monitor_filter_update(struct udev_monitor *udev_monitor) udev_monitor 279 src/libudev/libudev-monitor.c if (udev_list_get_entry(&udev_monitor->filter_subsystem_list) == NULL && udev_monitor 280 src/libudev/libudev-monitor.c udev_list_get_entry(&udev_monitor->filter_tag_list) == NULL) udev_monitor 293 src/libudev/libudev-monitor.c if (udev_list_get_entry(&udev_monitor->filter_tag_list) != NULL) { udev_monitor 298 src/libudev/libudev-monitor.c udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_monitor->filter_tag_list)) udev_monitor 302 src/libudev/libudev-monitor.c udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_monitor->filter_tag_list)) { udev_monitor 328 src/libudev/libudev-monitor.c if (udev_list_get_entry(&udev_monitor->filter_subsystem_list) != NULL) { udev_monitor 329 src/libudev/libudev-monitor.c udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_monitor->filter_subsystem_list)) { udev_monitor 366 src/libudev/libudev-monitor.c err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)); udev_monitor 370 src/libudev/libudev-monitor.c int udev_monitor_allow_unicast_sender(struct udev_monitor *udev_monitor, struct udev_monitor *sender) udev_monitor 372 src/libudev/libudev-monitor.c udev_monitor->snl_trusted_sender.nl.nl_pid = sender->snl.nl.nl_pid; udev_monitor 383 src/libudev/libudev-monitor.c _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) udev_monitor 388 src/libudev/libudev-monitor.c udev_monitor_filter_update(udev_monitor); udev_monitor 390 src/libudev/libudev-monitor.c if (!udev_monitor->bound) { udev_monitor 391 src/libudev/libudev-monitor.c err = bind(udev_monitor->sock, udev_monitor 392 src/libudev/libudev-monitor.c &udev_monitor->snl.sa, sizeof(struct sockaddr_nl)); udev_monitor 394 src/libudev/libudev-monitor.c udev_monitor->bound = true; udev_monitor 406 src/libudev/libudev-monitor.c err = getsockname(udev_monitor->sock, &snl.sa, &addrlen); udev_monitor 408 src/libudev/libudev-monitor.c udev_monitor->snl.nl.nl_pid = snl.nl.nl_pid; udev_monitor 410 src/libudev/libudev-monitor.c udev_err(udev_monitor->udev, "bind failed: %m\n"); udev_monitor 415 src/libudev/libudev-monitor.c err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); udev_monitor 417 src/libudev/libudev-monitor.c udev_err(udev_monitor->udev, "setting SO_PASSCRED failed: %m\n"); udev_monitor 432 src/libudev/libudev-monitor.c _public_ int udev_monitor_set_receive_buffer_size(struct udev_monitor *udev_monitor, int size) udev_monitor 434 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 436 src/libudev/libudev-monitor.c return setsockopt(udev_monitor->sock, SOL_SOCKET, SO_RCVBUFFORCE, &size, sizeof(size)); udev_monitor 439 src/libudev/libudev-monitor.c int udev_monitor_disconnect(struct udev_monitor *udev_monitor) udev_monitor 443 src/libudev/libudev-monitor.c err = close(udev_monitor->sock); udev_monitor 444 src/libudev/libudev-monitor.c udev_monitor->sock = -1; udev_monitor 456 src/libudev/libudev-monitor.c _public_ struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor) udev_monitor 458 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 460 src/libudev/libudev-monitor.c udev_monitor->refcount++; udev_monitor 461 src/libudev/libudev-monitor.c return udev_monitor; udev_monitor 474 src/libudev/libudev-monitor.c _public_ struct udev_monitor *udev_monitor_unref(struct udev_monitor *udev_monitor) udev_monitor 476 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 478 src/libudev/libudev-monitor.c udev_monitor->refcount--; udev_monitor 479 src/libudev/libudev-monitor.c if (udev_monitor->refcount > 0) udev_monitor 481 src/libudev/libudev-monitor.c if (udev_monitor->sock >= 0) udev_monitor 482 src/libudev/libudev-monitor.c close(udev_monitor->sock); udev_monitor 483 src/libudev/libudev-monitor.c udev_list_cleanup(&udev_monitor->filter_subsystem_list); udev_monitor 484 src/libudev/libudev-monitor.c udev_list_cleanup(&udev_monitor->filter_tag_list); udev_monitor 485 src/libudev/libudev-monitor.c free(udev_monitor); udev_monitor 497 src/libudev/libudev-monitor.c _public_ struct udev *udev_monitor_get_udev(struct udev_monitor *udev_monitor) udev_monitor 499 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 501 src/libudev/libudev-monitor.c return udev_monitor->udev; udev_monitor 512 src/libudev/libudev-monitor.c _public_ int udev_monitor_get_fd(struct udev_monitor *udev_monitor) udev_monitor 514 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 516 src/libudev/libudev-monitor.c return udev_monitor->sock; udev_monitor 519 src/libudev/libudev-monitor.c static int passes_filter(struct udev_monitor *udev_monitor, struct udev_device *udev_device) udev_monitor 523 src/libudev/libudev-monitor.c if (udev_list_get_entry(&udev_monitor->filter_subsystem_list) == NULL) udev_monitor 525 src/libudev/libudev-monitor.c udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_monitor->filter_subsystem_list)) { udev_monitor 546 src/libudev/libudev-monitor.c if (udev_list_get_entry(&udev_monitor->filter_tag_list) == NULL) udev_monitor 548 src/libudev/libudev-monitor.c udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_monitor->filter_tag_list)) { udev_monitor 576 src/libudev/libudev-monitor.c _public_ struct udev_device *udev_monitor_receive_device(struct udev_monitor *udev_monitor) udev_monitor 590 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 602 src/libudev/libudev-monitor.c buflen = recvmsg(udev_monitor->sock, &smsg, 0); udev_monitor 605 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "unable to receive message\n"); udev_monitor 610 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "invalid message length\n"); udev_monitor 616 src/libudev/libudev-monitor.c if (udev_monitor->snl_trusted_sender.nl.nl_pid == 0 || udev_monitor 617 src/libudev/libudev-monitor.c snl.nl.nl_pid != udev_monitor->snl_trusted_sender.nl.nl_pid) { udev_monitor 618 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "unicast netlink message ignored\n"); udev_monitor 623 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "multicast kernel netlink message from pid %d ignored\n", udev_monitor 631 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "no sender credentials received, message ignored\n"); udev_monitor 637 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "sender uid=%d, message ignored\n", cred->uid); udev_monitor 641 src/libudev/libudev-monitor.c udev_device = udev_device_new(udev_monitor->udev); udev_monitor 651 src/libudev/libudev-monitor.c udev_err(udev_monitor->udev, "unrecognized message signature (%x != %x)\n", udev_monitor 669 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "invalid message length\n"); udev_monitor 676 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "unrecognized message header\n"); udev_monitor 697 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "missing values, invalid device\n"); udev_monitor 703 src/libudev/libudev-monitor.c if (!passes_filter(udev_monitor, udev_device)) { udev_monitor 710 src/libudev/libudev-monitor.c pfd[0].fd = udev_monitor->sock; udev_monitor 721 src/libudev/libudev-monitor.c int udev_monitor_send_device(struct udev_monitor *udev_monitor, udev_monitor 722 src/libudev/libudev-monitor.c struct udev_monitor *destination, struct udev_device *udev_device) udev_monitor 778 src/libudev/libudev-monitor.c smsg.msg_name = &udev_monitor->snl_destination; udev_monitor 780 src/libudev/libudev-monitor.c count = sendmsg(udev_monitor->sock, &smsg, 0); udev_monitor 781 src/libudev/libudev-monitor.c udev_dbg(udev_monitor->udev, "passed %zi bytes to netlink monitor %p\n", count, udev_monitor); udev_monitor 798 src/libudev/libudev-monitor.c _public_ int udev_monitor_filter_add_match_subsystem_devtype(struct udev_monitor *udev_monitor, const char *subsystem, const char *devtype) udev_monitor 800 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 804 src/libudev/libudev-monitor.c if (udev_list_entry_add(&udev_monitor->filter_subsystem_list, subsystem, devtype) == NULL) udev_monitor 821 src/libudev/libudev-monitor.c _public_ int udev_monitor_filter_add_match_tag(struct udev_monitor *udev_monitor, const char *tag) udev_monitor 823 src/libudev/libudev-monitor.c if (udev_monitor == NULL) udev_monitor 827 src/libudev/libudev-monitor.c if (udev_list_entry_add(&udev_monitor->filter_tag_list, tag, NULL) == NULL) udev_monitor 840 src/libudev/libudev-monitor.c _public_ int udev_monitor_filter_remove(struct udev_monitor *udev_monitor) udev_monitor 844 src/libudev/libudev-monitor.c udev_list_cleanup(&udev_monitor->filter_subsystem_list); udev_monitor 845 src/libudev/libudev-monitor.c return setsockopt(udev_monitor->sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter)); udev_monitor 96 src/libudev/libudev-private.h int udev_monitor_disconnect(struct udev_monitor *udev_monitor); udev_monitor 97 src/libudev/libudev-private.h int udev_monitor_allow_unicast_sender(struct udev_monitor *udev_monitor, struct udev_monitor *sender); udev_monitor 98 src/libudev/libudev-private.h int udev_monitor_send_device(struct udev_monitor *udev_monitor, udev_monitor 99 src/libudev/libudev-private.h struct udev_monitor *destination, struct udev_device *udev_device); udev_monitor 100 src/libudev/libudev-private.h struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd); udev_monitor 66 src/login/logind.h struct udev_monitor *udev_seat_monitor, *udev_device_monitor, *udev_vcsa_monitor, *udev_button_monitor; udev_monitor 113 src/network/networkd-manager.c m->udev_monitor = udev_monitor_new_from_netlink(m->udev, "udev"); udev_monitor 114 src/network/networkd-manager.c if (!m->udev_monitor) udev_monitor 145 src/network/networkd-manager.c udev_monitor_unref(m->udev_monitor); udev_monitor 332 src/network/networkd-manager.c struct udev_monitor *monitor = m->udev_monitor; udev_monitor 349 src/network/networkd-manager.c assert(m->udev_monitor); udev_monitor 351 src/network/networkd-manager.c r = udev_monitor_filter_add_match_subsystem_devtype(m->udev_monitor, "net", NULL); udev_monitor 357 src/network/networkd-manager.c r = udev_monitor_enable_receiving(m->udev_monitor); udev_monitor 365 src/network/networkd-manager.c udev_monitor_get_fd(m->udev_monitor), udev_monitor 175 src/network/networkd.h struct udev_monitor *udev_monitor; udev_monitor 33 src/shared/udev-util.h DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_monitor*, udev_monitor_unref); udev_monitor 84 src/udev/udevadm-monitor.c _cleanup_udev_monitor_unref_ struct udev_monitor *udev_monitor = NULL; udev_monitor 85 src/udev/udevadm-monitor.c _cleanup_udev_monitor_unref_ struct udev_monitor *kernel_monitor = NULL; udev_monitor 166 src/udev/udevadm-monitor.c udev_monitor = udev_monitor_new_from_netlink(udev, "udev"); udev_monitor 167 src/udev/udevadm-monitor.c if (udev_monitor == NULL) { udev_monitor 171 src/udev/udevadm-monitor.c udev_monitor_set_receive_buffer_size(udev_monitor, 128*1024*1024); udev_monitor 172 src/udev/udevadm-monitor.c fd_udev = udev_monitor_get_fd(udev_monitor); udev_monitor 178 src/udev/udevadm-monitor.c if (udev_monitor_filter_add_match_subsystem_devtype(udev_monitor, subsys, devtype) < 0) udev_monitor 185 src/udev/udevadm-monitor.c if (udev_monitor_filter_add_match_tag(udev_monitor, tag) < 0) udev_monitor 189 src/udev/udevadm-monitor.c if (udev_monitor_enable_receiving(udev_monitor) < 0) { udev_monitor 264 src/udev/udevadm-monitor.c device = udev_monitor_receive_device(udev_monitor); udev_monitor 65 src/udev/udevd.c static struct udev_monitor *monitor; udev_monitor 126 src/udev/udevd.c struct udev_monitor *monitor; udev_monitor 182 src/udev/udevd.c struct udev_monitor *worker_monitor;