Messages in this thread | | | Date | Mon, 13 Feb 2006 07:49:21 -0800 | From | Greg KH <> | Subject | Re: CD writing in future Linux (stirring up a hornets' nest) |
| |
On Mon, Feb 13, 2006 at 02:26:54PM +0100, Joerg Schilling wrote: > Greg KH <greg@kroah.com> wrote: > > > On Fri, Feb 10, 2006 at 04:06:39PM -0500, Bill Davidsen wrote: > > > > > > The kernel could provide a list of devices by category. It doesn't have > > > to name them, run scripts, give descriptions, or paint them blue. Just a > > > list of all block devices, tapes, by major/minor and category (ie. > > > block, optical, floppy) would give the application layer a chance to do > > > it's own interpretation. > > > > It does so today in sysfs, that is what it is there for. > > Do you really whant libscg to open _every_ non-directory file under /sys?
Of course not. Here's one line of bash that gets you the major:minor file of every block device in the system: block_devices="$(echo /sys/block/*/dev /sys/block/*/*/dev)"
The block devices are all in a specific location.
And here's a way to get the cdroms of the system: media="$(echo /sys/block/*/device/media)" for i in $media; do type="$(cat $i)" if [ "${type}" == "cdrom" ] then # we have a cdrom here, at $media block device fi done
If you want to do this in C, there is a libsysfs, which should help you out a bit on intregrating sysfs support into your program (although udev has recently ripped it out and replaced it with 200 lines of code that is way smaller and much faster...)
Hope this helps,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |