IOFWPHYPacketListener.cpp [plain text]
#include <IOKit/firewire/IOFireWireController.h>
#include <IOKit/firewire/IOFWPHYPacketListener.h>
#include "FWDebugging.h"
OSDefineMetaClassAndStructors( IOFWPHYPacketListener, OSObject )
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 0 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 1 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 2 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 3 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 4 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 5 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 6 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 7 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 8 );
OSMetaClassDefineReservedUnused( IOFWPHYPacketListener, 9 );
IOFWPHYPacketListener * IOFWPHYPacketListener::createWithController( IOFireWireController * controller )
{
IOReturn status = kIOReturnSuccess;
IOFWPHYPacketListener * me;
if( status == kIOReturnSuccess )
{
me = OSTypeAlloc( IOFWPHYPacketListener );
if( me == NULL )
status = kIOReturnNoMemory;
}
if( status == kIOReturnSuccess )
{
bool success = me->initWithController( controller );
if( !success )
{
status = kIOReturnError;
}
}
if( status != kIOReturnSuccess )
{
me = NULL;
}
FWKLOG(( "IOFWPHYPacketListener::create() - created new IOFWPHYPacketListener 0x%08lx\n", (UInt32)me ));
return me;
}
bool IOFWPHYPacketListener::initWithController( IOFireWireController * control )
{
bool success = OSObject::init();
FWPANICASSERT( success == true );
fControl = control;
FWKLOG(( "IOFWPHYPacketListener::initWithController() - IOFWPHYPacketListener 0x%08lx initialized\n", (UInt32)this ));
return true;
}
void IOFWPHYPacketListener::free()
{
FWKLOG(( "IOFWPHYPacketListener::free() - freeing IOFWPHYPacketListener 0x%08lx\n", (UInt32)this ));
OSObject::free();
}
#pragma mark -
IOReturn IOFWPHYPacketListener::activate( void )
{
return fControl->activatePHYPacketListener( this );
}
void IOFWPHYPacketListener::deactivate( void )
{
fControl->deactivatePHYPacketListener( this );
}
void IOFWPHYPacketListener::processPHYPacket( UInt32 data1, UInt32 data2 )
{
IOLog( "IOFWPHYPacketListener<%p>::processPHYPacket - 0x%x 0x%x\n", this, (uint32_t)data1, (uint32_t)data2 );
if( fCallback )
{
(fCallback)( fRefCon, data1, data2 );
}
}
void IOFWPHYPacketListener::setCallback( FWPHYPacketCallback callback )
{
fCallback = callback;
}
void IOFWPHYPacketListener::setRefCon( void * refcon )
{
fRefCon = refcon;
}
void * IOFWPHYPacketListener::getRefCon( void )
{
return fRefCon;
}