=================================================================== RCS file: /MkLinux/floppy-darwin/floppy.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- floppy-darwin/floppy.h 2002/03/23 06:17:12 1.14 +++ floppy-darwin/floppy.h 2002/03/23 08:06:14 1.15 @@ -29,6 +29,15 @@ #include "bus_device.h" } +struct swim3_async_args { + IOMemoryDescriptor *buffer; + UInt32 block; + UInt32 nblks; + IOStorageCompletion completion; +}; + +typedef struct swim3_async_args swim3_async_args_t; + class org_mklinux_iokit_swim3_driver : public IOService { OSDeclareDefaultStructors(org_mklinux_iokit_swim3_driver) @@ -37,6 +46,8 @@ IOInterruptEventSource * interruptSource; IOInterruptEventSource * DMAInterruptSource; org_mklinux_iokit_swim3_driver *swim3Instance; + swim3_async_args_t AsyncArgs; + IOLock *AsyncLock; void handleInterrupt( IOInterruptEventSource *src, int /*count*/ ); void handleDMAInterrupt( IOInterruptEventSource *src, int /*count*/ ); @@ -83,6 +94,7 @@ bool *pollIsExpensive); virtual IOReturn reportRemovability(bool *isRemovable); virtual IOReturn reportWriteProtection(bool *isWriteProtected); + void doAsyncWrapper(); };