On Thu, Nov 13, 2008 at 12:17 PM, erik quanstrom <[EMAIL PROTECTED]> wrote: >> Not that type of "types." I gave an example (which Charles Forsyth found to >> be a bad one) to set the types of "types" apart. I mean "types" as in named >> pipes ("special" files) versus regular files. In my experience which is >> limited to "modern" UNIX clones, i.e. Linux and *BSD, you can distinguish >> between a number of file "types" and decide what to do accordingly. You can >> tell a directory, from a (character or block) device, from a link, from a >> regular file. These same "types" could, and have been, be used to represent >> some details of the underlying resource. > > actually, unix since early bsd does have file types. (actually, > they derive from different types of file descriptors). for example, > there's a different and disjoint set of operations for sockets. > there are some files that only respond to ioctls. >
that disjoint set of operations was a pain to circumvent while writing the communication/network part for o9fs [1]. I didn't want to have to write separate code for the different types of files, so I used file entries instead of vnodes (what people tend to use). I ended up with something that doesn't know what file types are and with way simpler code and needed funcionality added (p9p ramfs mounted nicely with no specific code, for example) iru [1] http://src.oitobits.net/o9fs