IOFWUserIsochChannel.cpp [plain text]
#import <IOKit/firewire/IOFireWireController.h>
#import <IOKit/firewire/IOFWCommand.h>
#import <IOKit/firewire/IOFWIsochPort.h>
#import "IOFireWireUserClient.h"
#import "IOFWUserIsochChannel.h"
OSDefineMetaClassAndStructors(IOFWUserIsochChannel, IOFWIsochChannel)
IOReturn
IOFWUserIsochChannel::allocateChannel()
{
return kIOReturnUnsupported ;
}
IOReturn
IOFWUserIsochChannel::releaseChannel()
{
return kIOReturnUnsupported ;
}
IOReturn
IOFWUserIsochChannel::start()
{
return kIOReturnUnsupported ;
}
IOReturn
IOFWUserIsochChannel::stop()
{
return kIOReturnUnsupported ;
}
IOReturn
IOFWUserIsochChannel::allocateListenerPorts()
{
IOFWIsochPort* listen;
IOReturn result = kIOReturnSuccess ;
OSIterator* listenIterator = OSCollectionIterator::withCollection(fListeners) ;
if(listenIterator) {
listenIterator->reset();
while( (listen = (IOFWIsochPort *) listenIterator->getNextObject()) && (result == kIOReturnSuccess)) {
result = listen->allocatePort(fSpeed, fChannel);
}
listenIterator->release();
}
return result ;
}
IOReturn
IOFWUserIsochChannel::allocateTalkerPort()
{
IOReturn result = kIOReturnSuccess ;
if(fTalker)
result = fTalker->allocatePort(fSpeed, fChannel);
return result ;
}
void
IOFWUserIsochChannel :: s_exporterCleanup ( IOFWUserIsochChannel * channel )
{
DebugLog( "+IOFWUserIsochChannel :: s_exporterCleanup channel=%p\n", channel) ;
channel->fControl->removeAllocatedChannel( channel ) ;
channel->stop() ;
channel->releaseChannel() ;
}