This falls into the class of what UDI calls "metalanguages". UDI defines
APIs for the basic execution environment of a driver and the services it
needs, such as memory allocation. It also defines a standard model for
communicating between two drivers or between a driver and another subsystem
(such as a filesystem). Metalanguages define "flavors" for such
communication, tailored to particular device models. As such, the
metalanguage defines a supplementary API set with appropriate semantics
for the particular model.
While the current UDI spec only mentions SCSI, Network, and Pointer, it
is *extensible*, and it's expected that many other metalanguages would
be added in the fullness of time. The parallel port model is a good
example. It would be easy to design a UDI metalanguage for parallel
ports that has the semantics of the Linux 'parport_*' calls. This could
then be added to the spec.
The UDI model also supports creating new metalanguages on the fly, so
you don't have to wait for a long feedback cycle to be able to use
something new. As long as the two modules that are speaking to each
other are based on the same metalanguage, it'll all work.
-----------------------------------------------------------------------
Kurt Gollhardt email: kdg@sco.com voice: +1 908 790 2277
SCO Core OS Architect Murray Hill, NJ fax: +1 908 790 2426
-----------------------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/