summaryrefslogtreecommitdiff
path: root/udev/lib/libudev-private.h
AgeCommit message (Collapse)Author
2009-05-04handle devtmpfs nodesKay Sievers
UDev follows the kernel given name, and re-uses the kernel created device node. If the kernel and spcecified udev rules disagree, the udev specified node node is created and the kernel-created on is deleted.
2009-04-26drop "extern" keyword from non-static functionKay Sievers
2009-04-22libudev: monitor - use simpler hashKay Sievers
2009-04-22libudev: monitor - add client socket filter for subsystem valueKay Sievers
Messages send back by the udev daemon to the netlink socket are multiplexed by the kernel and delivered to multiple clients. The clients can upload a socket filter to let the kernel drop messages not belonging to a certain subsystem. This prevent needless wakeups and message processing for users who are only interested in a subset of available events. Recent kernels allow untrusted users to listen to the netlink messages. The messages send by the udev daemon are versioned, to prevent any custom software reading them without libudev. The message wire format may change with any udev version update.
2009-04-06avoid leaking netlink socket fd to external programsAlan Jenkins
The netlink socket is now used by udev event processes. We should take care not to pass it to the programs they execute. This is the same way the inotify fd was handled. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2009-03-26libudev: GPL -> LGPLKay Sievers
2009-03-12udevadm: settle - synchronise with the udev daemonScott James Remnant
There's still a slight race condition when using udevadm settle, if the udev daemon has a pending inotify event but hasn't yet generated the "change" uevent for it, the kernel and udev sequence numbers will match and settle will exit. Now udevadm settle will send a control message to udevd, which will respond by sending SIGUSR1 back to the waiting udevadm settle once it has completed the main loop iteration in which it received the control message. If there were no pending inotify events, this will simply wake up the udev daemon and allow settle to continue. If there are pending inotify events, they are handled first in the main loop so when settle is continued they will have been turned into uevents and the kernel sequence number will have been incremented. Since the inotify event is pending for udevd when the close() system call returns (it's queued as part of the kernel handling for that system call), and since the kernel sequence number is incremented by writing to the uevent file (as udevd does), this solves the race. When the settle continues, if there were pending inotify events that udevd had not read, they are now pending uevents which settle can wait for. Signed-off-by: Scott James Remnant <scott@ubuntu.com>
2009-02-23Allow watch handle to be stored in the udevdb.Scott James Remnant
2009-01-02libudev: device - add devtype supportMarcel Holtmann
2008-11-05unify string replacementKay Sievers
2008-11-05do not import the "uevent" file when we only read the db to get old symlinksKay Sievers
2008-11-05fix cleanup of possible left-over symlinksKay Sievers
2008-11-04fix list handling in enumerate and rules file sortingKay Sievers
2008-10-24libudev: monitor - cache result of monitor send bufferKay Sievers
2008-10-18udev_list_cleanup() -> udev_list_cleanup_entries()Kay Sievers
2008-10-17libudev: make list_node functions availableKay Sievers
2008-10-17libudev: monitor - add set_receive_buffer_size()Kay Sievers
2008-10-17libudev: list - prepend udev_* to all functionsKay Sievers
2008-10-16fix sorting of rules filesKay Sievers
2008-10-16udev-rules-parse: name_list -> udev_listKay Sievers
2008-10-16move udev_device_db to libudevKay Sievers
2008-10-16udevd: use libudevKay Sievers
2008-10-16libudev: add global property listKay Sievers
2008-10-15libudev: update DEVLINKS property when properties are readKay Sievers
2008-10-15libudev: device - add get_envp() to construct envp from property listKay Sievers
2008-10-14libudev: handle ! in sysname, add sysnum, return allocated list_entry on addKay Sievers
2008-10-11libudev: list - add flagKay Sievers
2008-10-09libudev: add udev_monitor_send_device()Kay Sievers
2008-10-09libudev: also prefix non-exported functions with udev_*Kay Sievers
2008-10-05libudev: fix --enable-debugKay Sievers
2008-10-02fix compile error with --disable-loggingKay Sievers
2008-10-01libudev: add queue interfaceKay Sievers
2008-09-30libudev: device_init() -> device_new()Kay Sievers
2008-09-29allow compiler to check dbg() arguments on non-debug buildsAlan Jenkins
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-09-28libudev: more list reworkKay Sievers
2008-09-26libudev: rework list handlingKay Sievers
2008-09-26libudev: device - read database only when neededKay Sievers
2008-09-25libudev: replace awkward callback list interfaces with list iteratorsKay Sievers
2008-09-19always include config.h from MakefileKay Sievers
2008-09-15libudev: switch API from devpath to syspathKay Sievers
2008-09-15libudev: handle "device" link as parent, handle "class" "block" as "subsystem"Kay Sievers
2008-09-13libudev: udev_device - add attribute cacheKay Sievers
2008-09-10use size definitions from libudevKay Sievers
2008-09-10extras: use libudev codeKay Sievers
2008-09-10libudev: do not use any udev source fileKay Sievers
2008-09-10libudev: get rid of udev_utils.cKay Sievers
2008-09-10libudev: get rid of udev_sysfs.cKay Sievers
2008-09-10libudev: do not use udev_db.cKay Sievers
2008-09-10libudev: udev_device - add more propertiesKay Sievers
2008-09-09libudev: udev_device - read "driver" valueKay Sievers