From 5ac5fdf0bef95b12d90dfca7de23332211beb706 Mon Sep 17 00:00:00 2001 From: Lars Hanisch Date: Wed, 23 Feb 2011 20:43:42 +0100 Subject: move reading of udev properties from the monitor to the attacher Now they are recognized on devices present at startup. --- udev.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'udev.c') diff --git a/udev.c b/udev.c index f37fc77..79207cf 100644 --- a/udev.c +++ b/udev.c @@ -115,3 +115,23 @@ void cUdev::Free(void) udev_unref(udev); udev = NULL; } + +cUdevDevice *cUdev::GetDeviceFromDevName(const char *DevName) +{ + if (DevName == NULL) + return NULL; + struct stat statbuf; + if (stat(DevName, &statbuf) < 0) + return NULL; + char type; + if (S_ISBLK(statbuf.st_mode)) + type = 'b'; + else if (S_ISCHR(statbuf.st_mode)) + type = 'c'; + else + return NULL; + udev_device *dev = udev_device_new_from_devnum(udev, type, statbuf.st_rdev); + if (dev == NULL) + return NULL; + return new cUdevDevice(dev); +} -- cgit v1.2.3