IOFWBufferFillIsochPort.h [plain text]
#import "IOFWIsochPort.h"
class IOFireWireBus ;
class IOFWBufferFillIsochPort : public IOFWIsochPort
{
OSDeclareAbstractStructors( IOFWBufferFillIsochPort )
public:
typedef void (PacketProc)(
OSObject * target,
IOFWBufferFillIsochPort * port,
IOVirtualRange packets[],
unsigned packetCount ) ;
protected:
IOByteCount fBytesPerSecond ;
UInt32 fIntUSec ;
PacketProc * fPacketProc ;
OSObject * fTarget ;
IOFWIsochResourceFlags fIsochResourceFlags ;
UInt32 fFlags ;
protected:
virtual IOReturn getSupported( IOFWSpeed& maxSpeed, UInt64& chanSupported ) ;
public :
unsigned int gotIsoch( IOVirtualRange packets[], unsigned int maxPacketCount ) ;
unsigned int gotIsochAll( IOVirtualRange packets[], unsigned int maxPacketCount ) ;
void pushIsoch() ;
void setIsochResourceFlags( IOFWIsochResourceFlags flags ) { fIsochResourceFlags = flags ; }
IOFWIsochResourceFlags getIsochResourceFlags() const { return fIsochResourceFlags ; }
void setFlags( UInt32 flags ) { fFlags = flags ; }
UInt32 getFlags() { return fFlags ; }
private:
virtual bool init(
IOFireWireBus & bus,
IOByteCount expectedBytesPerSecond,
UInt32 interruptMicroseconds,
PacketProc packetProc,
OSObject * target ) ;
} ;