IOFireWireLink.cpp [plain text]
#import <IOKit/firewire/IOFireWireDevice.h>
#import <IOKit/firewire/IOFWDCLPool.h>
#include <IOKit/firewire/IOFireWireLink.h>
#import <IOKit/firewire/IOFWWorkLoop.h>
OSDefineMetaClass( IOFireWireLink, IOService )
OSDefineAbstractStructors(IOFireWireLink, IOService)
OSMetaClassDefineReservedUnused(IOFireWireLink, 0);
OSMetaClassDefineReservedUnused(IOFireWireLink, 1);
OSMetaClassDefineReservedUnused(IOFireWireLink, 2);
OSMetaClassDefineReservedUnused(IOFireWireLink, 3);
OSMetaClassDefineReservedUnused(IOFireWireLink, 4);
OSMetaClassDefineReservedUnused(IOFireWireLink, 5);
OSMetaClassDefineReservedUnused(IOFireWireLink, 6);
OSMetaClassDefineReservedUnused(IOFireWireLink, 7);
OSMetaClassDefineReservedUnused(IOFireWireLink, 8);
IOFireWireController * IOFireWireLink::createController()
{
IOFireWireController *control;
control = new IOFireWireController;
if(NULL == control)
return NULL;
if(!control->init(this)) {
control->release();
control = NULL;
}
return control;
}
IOFWWorkLoop * IOFireWireLink::createWorkLoop()
{
return IOFWWorkLoop::workLoop();
}
IOFireWireDevice *
IOFireWireLink::createDeviceNub(CSRNodeUniqueID guid, const IOFWNodeScan *scan)
{
IOFireWireDevice *newDevice;
OSDictionary *propTable;
newDevice = new IOFireWireDevice;
if (!newDevice)
return NULL;
do {
OSObject * prop;
propTable = OSDictionary::withCapacity(6);
if (!propTable)
continue;
prop = OSNumber::withNumber(guid, 64);
if(prop) {
propTable->setObject(gFireWire_GUID, prop);
prop->release();
}
prop = OSNumber::withNumber((scan->fSelfIDs[0] & kFWSelfID0SP) >> kFWSelfID0SPPhase, 32);
if(prop) {
propTable->setObject(gFireWireSpeed, prop);
prop->release();
}
if(!newDevice->init(propTable, scan)) {
newDevice->release();
newDevice = NULL;
}
newDevice->setMaxPackLog(false, true, 2);
} while (false);
if(propTable)
propTable->release();
return newDevice;
}
IOFireWireController * IOFireWireLink::getController() const
{
return fControl;
}
IOWorkLoop * IOFireWireLink::getWorkLoop() const
{
return fWorkLoop;
}
IOFWWorkLoop * IOFireWireLink::getFireWireWorkLoop() const
{
return fWorkLoop;
}
IOFWDCLPool *
IOFireWireLink :: createDCLPool (
UInt32 capacity )
{
return NULL ;
}
IOFWBufferFillIsochPort *
IOFireWireLink :: createBufferFillIsochPort ()
{
return NULL ;
}
void IOFireWireLink::disablePHYPortOnSleep( UInt32 mask )
{
}
UInt32 * IOFireWireLink::getPingTimes ()
{
return NULL ;
}
bool IOFireWireLink::getPingTransmits ()
{
return false ;
}
void IOFireWireLink::setPingTransmits ( bool ping )
{
}
IOReturn IOFireWireLink::handleAsyncCompletion( IOFWCommand *cmd, IOReturn status )
{
return kIOReturnSuccess;
}