Block device I/O under linux, can someone point me in the right direction?
Well, I have been doing a lot of reading about the Linux kernel and am currently interested in writing some programs that perform low level block device IO. Specifically, I want to write a simple ISO burning program to burn an image made from mkisofs. The problem I am having is that I don't know where to turn next for reference material, mostly concerning actual implementation of device I/O with non character devices. For instance, where can I find good reference material for devices I am trying to program for? Do companies like Memorex have documentation available for their drives? I have read books that touch on block device I/O and most of them are far too vague to tell me what I want.
Basically what I am asking is for someone to possibly save me some time researching everything. For now I am reading through the source code to wodim (a cdrecord like program) but this is obviously not the ideal way to learn how block device IO is actually implemented. I have started reading some books, one of which is Linux Device Drivers, and this is a very good book but at the moment I am concentrating on a higher level. I want to use linux/cdrom.h to do this and I feel that I am just missing some reading that could really help me get going.
Thanks for reading this spur of the moment post, and I hope everyone understands what I mean when I say I am lacking reference material.