[comp.sys.amiga] Yet more on BeginIO

dillon@CORY.BERKELEY.EDU (Matt Dillon) (11/02/87)

	Guess what folks!  Remember when I said the proper fix to SendIO()/
DoIO() to make it work with the Audio.Device is to only clear the lower four
bits of io_Flags?

	Wrong!  The serial.device depends on the upper four fields being
cleared!  What a mess.  It's getting to be like each device requires a
different way of doing things, and most device's don't follow any kind of
'standard' procedure at all.

	I think C-A should revamp the EXEC-DEVICE IO system for the next 
release...  at least make everything more compatible:

	-Devices should not use the io_Flags field at ALL for personal flags.
	 Currently, some devices depend on certain bits being cleared
	 automatically (serial.device) while others depend on those bits 
	 NOT being cleared (audio.device).

	-Devices should use an IOStdReq structure as a front end for their
	 personal IO structure rather than having ten thousand different
	 custom front ends.  (E.G. the audio.device has a completely custom
	 structure after the basic IORequest).

	-There should be some way of accessing the length of a device driver's
	 IO structure.  That is, to allow generic device handler packages to
	 get at the length of an arbitrary device.

	In the current form, it is impossible to write a generic device
	handler package for device's in general. 

						-Matt