Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Yet more on BeginIO() Message-ID: <8711012243.AA16117@cory.Berkeley.EDU> Date: Sun, 1-Nov-87 17:43:46 EST Article-I.D.: cory.8711012243.AA16117 Posted: Sun Nov 1 17:43:46 1987 Date-Received: Thu, 5-Nov-87 21:06:48 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 31 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