rickf@pnet02.cts.com (Rick Flower) (04/13/89)
Does ANYONE (perhaps someone at CATS) know what all of the individual bit positions mean in the IO_Flags field of a IOStdReq structure?? Ive noticed when using the console port that bits 6 and 7 get set every time that a key is pressed and then those two bits are cleared after being processed.. Also, bit 5 seems to ALWAYS be set... Perhaps someone could tell me what these bits stand for or how I could go about finding out.. Thanks in advance.. =============================================================================== I Thought So... UUCP: {ames!elroy, <backbone>}!gryphon!pnet02!rickf INET: rickf@pnet02.cts.com ===============================================================================
dillon@HERMES.BERKELEY.EDU (Matt Dillon) (04/25/89)
>Does ANYONE (perhaps someone at CATS) know what all of the individual bit >positions mean in the IO_Flags field of a IOStdReq structure?? Ive noticed >when using the console port that bits 6 and 7 get set every time that a key is >pressed and then those two bits are cleared after being processed.. Also, bit >5 seems to ALWAYS be set... Perhaps someone could tell me what these bits >stand for or how I could go about finding out.. > >Thanks in advance.. All the bits except IOF_QUICK are reserved for the IO device. Each device will use these reserved bits in different ways. DoIo() and SendIO() preclear all the reserved bits while BeginIO() is a direct call to the IO device and does not touch any of the bits. This is why you have to use BeginIO() with the audio.device, because the audio.device expects the program to set certain flag bits depending on the action it wishes to take. DoIO(ior) { ior->io_Flags = IOF_QUICK; BeginIO(ior); WaitIO(ior); } SendIO(ior) { ior->io_Flags = 0; BeginIO(ior); WaitIO(ior); } -Matt
dillon@HERMES.BERKELEY.EDU (Matt Dillon) (04/25/89)
Oops, I made a mistake... SendIO() does *not* do a WaitIO()...
obviously.
SendIO(ior)
{
ior->io_Flags = 0;
BeginIO(ior)
}