A new EDI revision is up for download. It contains:
The download link is here, and the original posting is here. I don't know if I announced it in the wrong place or what. Has somebody posted forum rules somewhere I can't find them?1) EDI headers with doxygen-based documentation. This specify the EDI core standards.
2) A change of terms from "kernel" to "EDI runtime" or simply "runtime". It got confusing last time we talked about EDI, because the EDI runtime doesn't actually have to be implemented in-kernel. For all the standard cares, it can be the runtime library to which drivers link and can run in ring 3.
3) A new header, edi_devices.h, which specifies the calls and semantics for standardized block and character device objects. Any driver should feel free to inherit from these and implement them, but drivers can also expose entirely unrelated classes for the EDI runtime to interact with, as long as the runtime will recognize them.
4) A sample driver, as noted above. This thing drives COM port (serial port) #1, and does so in 219 lines of inefficient, stupid, and as-yet-un-debugged code. Please, DEAR LORD, do not consider this anything more than a a proof of concept for EDI. On the positive side, this thing pretty much reads from and writes to COM port #1, allowing the EDI runtime to treat it as a pseudo-POSIX character device. When I'm no longer tired and SAT 2s have passed (8 days from now), I'll type up a skeleton implementation of EDI to compile and test the sample driver if you really want.