summaryrefslogtreecommitdiff
path: root/udev/lib/libudev.h
AgeCommit message (Collapse)Author
2009-06-05udevd: use enum instead of char in struct declarationKay Sievers
2009-05-21udevd: implement a more efficient queue file formatAlan Jenkins
Directory lookups show up in profiling. The queue files are responsible for a large proportion of file-related system calls in udev coldplug. Instead of creating a file for each event, append their details to a log file. The file is periodically rebuilt (garbage-collected) to prevent it from growing indefinitely. This single queue file replaces both the queue directory and the uevent_seqnum file. On desktop systems the file tends not to grow beyond one page. So it should also save a small amount of memory in tmpfs. Tests on a running EeePC indicate average savings of 5% *udevd* cpu time as measured by oprofile. __link_path_walk is reduced from 1.5% to 1.3%. It is not completely clear where the rest of the gains come from. In tests running ~400 events, the queue file is rebuilt about 5 times. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2009-04-26drop "extern" keyword from non-static functionKay Sievers
2009-04-23libudev: monitor - export filter_update()Kay Sievers
2009-04-23libudev: monitor - add udev_monitor_filter_removeKay Sievers
2009-04-23libudev: monitor - switch to filter_add_match_subsystem_devtype()Kay 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-03-29"UDEV_MONITOR_KERNEL/UDEV" -> "kernel/udev"Kay Sievers
2009-03-29send monitor events back to netlink socketKay Sievers
Instead of of our own private monitor socket, we send the processed event back to our netlink socket, to the multicast group 2 -- so any number of users can listen to udev events, just like they can listen to kernel emitted events on group 1.
2009-03-26libudev: GPL -> LGPLKay Sievers
2009-01-06libudev: device - add udev_device_get_property_value()Kay Sievers
2009-01-03libudev: subsytem -> subsystemKay Sievers
2009-01-03libudev: device - remove udev_device_get_parent_with_subsystemMarcel Holtmann
2009-01-03libudev: device - lookup subsystem and devtype togetherMarcel Holtmann
2009-01-02libudev: device - add devtype supportMarcel Holtmann
2008-12-29libudev: enumerate - add lookup by propertyKay Sievers
2008-12-16libudev: include <sys/types.h>Kay Sievers
2008-11-06udevadm: settle - exit if udevd exitsKay Sievers
2008-10-20libudev: device - get_attr_value() -> get_sysattr_value()Kay Sievers
2008-10-14libudev: handle ! in sysname, add sysnum, return allocated list_entry on addKay Sievers
2008-10-07libudev: device - add device lookup by subsystem:sysnameKay Sievers
2008-10-02libudev: device - add get_parent_with_subsystem()Kay Sievers
2008-10-02libudev: get rid of selinuxKay Sievers
"Hello world!" linked against libselinux parses /proc/mounts and whatever else on startup, even when the lib is not needed at all. Not funny! Get rid of that thing where it's not absolutely needed.
2008-10-02libudev: enumerate - add_device() -> add_syspath()Kay Sievers
2008-10-01libudev: add queue interfaceKay Sievers
2008-09-30libudev: enumerate - scan devices and subsystems, add subsystem and ↵Kay Sievers
attribute filter
2008-09-29libudev: enumerate - split new() and scan()Kay Sievers
2008-09-28libudev: enumerate - accept list of subsystems to scan, or skipKay Sievers
2008-09-28libudev: more list reworkKay Sievers
2008-09-26libudev: rework list handlingKay Sievers
2008-09-26libudev: enumerate_get_devices_list -> enumerate_get_listKay Sievers
2008-09-25libudev: replace awkward callback list interfaces with list iteratorsKay Sievers
2008-09-24libudev: add userdata pointerKay Sievers
2008-09-21libudev: add udev_device_new_from_devnum()Kay Sievers
2008-09-20libudev: udev_device_get_devname -> udev_device_get_devnodeKay Sievers
2008-09-17libudev: pass udev_device in enumerateKay Sievers
2008-09-15libudev: switch API from devpath to syspathKay Sievers
2008-09-13libudev: udev_device - add attribute cacheKay Sievers
2008-09-12libudev: switch to "udev_device_get_parent"Kay Sievers
2008-09-11udevadm: info - use "udev_device"Kay Sievers
2008-09-10libudev: add selinuxKay Sievers
2008-09-09libudev: rename enumerate functionKay Sievers
2008-09-09libudev: monitor- add netlink uevent supportKay Sievers
2008-09-09libudev: monitor - add event properties to udev_deviceKay Sievers
2008-09-09add a bunch of private device properties to udev_deviceKay Sievers
2008-09-08move udev_ctrl to libudev-privateKay Sievers
2008-09-06use libudev code, unify logging, pass udev context around everywhereKay Sievers
2008-09-01libudev: add udev_device_get_syspath()Kay Sievers
2008-08-30autogen.sh: add --with-selinuxKay Sievers
2008-08-29libudev: require LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGEKay Sievers