I'm not sure what you mean, udev is written in C which is a very common programming language (it's what most of Linux is written in) -- udev enumeration should use /sys/bus not /sys/devices https://launchpad.net/bugs/6367