• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/IOUSBMassStorageClass-360.0.3/

Lines Matching defs:boRequestBlock

128 						BulkOnlyRequestBlock *		boRequestBlock,
167 boRequestBlock->currentState = nextExecutionState;
170 status = GetInterfaceReference()->DeviceRequest ( &fUSBDeviceRequest, &boRequestBlock->boCompletion );
198 BulkOnlyRequestBlock * boRequestBlock;
201 boRequestBlock = ( BulkOnlyRequestBlock * ) parameter;
202 theMSC->BulkOnlyExecuteCommandCompletion ( boRequestBlock,
216 BulkOnlyRequestBlock * boRequestBlock,
225 boRequestBlock->boPhaseDesc = fBulkOnlyCBWMemoryDescriptor;
227 boRequestBlock->boCBW.cbwSignature = kCommandBlockWrapperSignature;
228 boRequestBlock->boCBW.cbwTag = GetNextBulkOnlyCommandTag();
229 boRequestBlock->boCBW.cbwTransferLength = HostToUSBLong(
230 GetRequestedDataTransferCount(boRequestBlock->request));
231 if (GetDataTransferDirection(boRequestBlock->request) ==
234 boRequestBlock->boCBW.cbwFlags = kCBWFlagsDataIn;
236 else if (GetDataTransferDirection(boRequestBlock->request) ==
239 boRequestBlock->boCBW.cbwFlags = kCBWFlagsDataOut;
243 boRequestBlock->boCBW.cbwFlags = 0;
247 boRequestBlock->boCBW.cbwLUN = GetLogicalUnitNumber( boRequestBlock->request ) & kCBWLUNMask; // Bits 0-3: LUN, 4-7: Reserved
248 boRequestBlock->boCBW.cbwCDBLength = GetCommandDescriptorBlockSize( boRequestBlock->request ); // Bits 0-4: CDB Length, 5-7: Reserved
249 GetCommandDescriptorBlock( boRequestBlock->request, &boRequestBlock->boCBW.cbwCDB );
253 ( uintptr_t ) boRequestBlock->request,
254 ( unsigned int ) boRequestBlock->boCBW.cbwLUN,
255 ( unsigned int ) boRequestBlock->boCBW.cbwTag );
260 boRequestBlock->currentState = nextExecutionState;
267 status = GetBulkOutPipe()->Write( boRequestBlock->boPhaseDesc,
268 GetTimeoutDuration( boRequestBlock->request ), // Use the client's timeout for both
269 GetTimeoutDuration( boRequestBlock->request ),
270 &boRequestBlock->boCompletion );
274 ( uintptr_t ) boRequestBlock->boCBW.cbwLUN, ( uintptr_t ) boRequestBlock->request );
282 boRequestBlock->currentState = kBulkOnlyCheckCBWBulkStall;
283 status = GetStatusEndpointStatus ( GetBulkOutPipe(), &boRequestBlock->boGetStatusBuffer, &boRequestBlock->boCompletion );
301 BulkOnlyRequestBlock * boRequestBlock,
308 boRequestBlock->currentState = nextExecutionState;
311 if ( GetDataTransferDirection ( boRequestBlock->request ) == kSCSIDataTransfer_FromTargetToInitiator )
318 GetDataBuffer( boRequestBlock->request ),
319 GetTimeoutDuration( boRequestBlock->request ), // Use the client's timeout for both
320 GetTimeoutDuration( boRequestBlock->request ),
321 GetRequestedDataTransferCount( boRequestBlock->request ),
322 &boRequestBlock->boCompletion );
325 else if ( GetDataTransferDirection(boRequestBlock->request) == kSCSIDataTransfer_FromInitiatorToTarget )
332 GetDataBuffer ( boRequestBlock->request ),
333 GetTimeoutDuration ( boRequestBlock->request ), // Use the client's timeout for both
334 GetTimeoutDuration ( boRequestBlock->request ),
335 GetRequestedDataTransferCount ( boRequestBlock->request ),
336 &boRequestBlock->boCompletion );
354 BulkOnlyRequestBlock * boRequestBlock,
362 boRequestBlock->boPhaseDesc = fBulkOnlyCSWMemoryDescriptor;
365 boRequestBlock->currentState = nextExecutionState;
368 status = GetBulkInPipe()->Read ( boRequestBlock->boPhaseDesc,
369 GetTimeoutDuration( boRequestBlock->request ), // Use the client's timeout for both
370 GetTimeoutDuration( boRequestBlock->request ),
371 &boRequestBlock->boCompletion );
389 BulkOnlyRequestBlock * boRequestBlock,
399 STATUS_LOG ( ( 4, "%s[%p]: BulkOnlyExecuteCommandCompletion Entered with boRequestBlock=%p currentState=%d resultingStatus=0x%x", getName(), this, boRequestBlock, boRequestBlock->currentState, resultingStatus ) );
420 if ( ( boRequestBlock->request == NULL ) || ( fBulkOnlyCommandStructInUse == false ) )
424 STATUS_LOG ( ( 4, "%s[%p]: boRequestBlock->request is NULL, returned %x", getName(), this, resultingStatus ) );
444 ( uintptr_t ) boRequestBlock->currentState, ( uintptr_t ) boRequestBlock->request );
460 switch ( boRequestBlock->currentState )
466 STATUS_LOG ( ( 5, "%s[%p]: kBulkOnlyCommandSent returned %x cbwTag=0x%08x", getName(), this, resultingStatus, boRequestBlock->boCBW.cbwTag ) );
486 boRequestBlock->currentState = kBulkOnlyCheckCBWBulkStall;
487 status = GetStatusEndpointStatus( GetBulkOutPipe(), &boRequestBlock->boGetStatusBuffer, &boRequestBlock->boCompletion );
516 if ( ( GetDataTransferDirection ( boRequestBlock->request ) == kSCSIDataTransfer_NoDataTransfer ) ||
517 ( GetRequestedDataTransferCount ( boRequestBlock->request ) == 0 ) )
521 status = BulkOnlyReceiveCSWPacket ( boRequestBlock, kBulkOnlyStatusReceived );
532 status = BulkOnlyTransferData ( boRequestBlock, kBulkOnlyBulkIOComplete );
547 STATUS_LOG ( ( 5, "%s[%p]: IOUSBMassStorageClass::BulkOnlyExecuteCommandCompletion - kBulkOnlyCheckCBWBulkStall returned %x stalled=0x%x", getName(), this, resultingStatus, boRequestBlock->boGetStatusBuffer[0] ) );
550 if ( ( boRequestBlock->boGetStatusBuffer[0] & 1 ) == 1 )
555 boRequestBlock->currentState = kBulkOnlyClearCBWBulkStall;
556 status = ClearFeatureEndpointStall ( GetBulkOutPipe(), &boRequestBlock->boCompletion );
569 SetRealizedDataTransferCount ( boRequestBlock->request, 0 );
572 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
591 SetRealizedDataTransferCount ( boRequestBlock->request, 0 );
607 UInt64 realizedDataTransferCount = GetRequestedDataTransferCount ( boRequestBlock->request ) - bufferSizeRemaining;
612 SetRealizedDataTransferCount ( boRequestBlock->request, realizedDataTransferCount );
619 status = BulkOnlyReceiveCSWPacket ( boRequestBlock, kBulkOnlyStatusReceived );
632 SetRealizedDataTransferCount ( boRequestBlock->request,
633 GetRequestedDataTransferCount ( boRequestBlock->request ) );
663 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
675 if ( GetDataTransferDirection ( boRequestBlock->request ) == kSCSIDataTransfer_FromTargetToInitiator )
679 else if ( GetDataTransferDirection ( boRequestBlock->request ) == kSCSIDataTransfer_FromInitiatorToTarget )
688 boRequestBlock->currentState = kBulkOnlyCheckBulkStall;
690 status = GetStatusEndpointStatus ( fPotentiallyStalledPipe, &boRequestBlock->boGetStatusBuffer, &boRequestBlock->boCompletion );
706 STATUS_LOG ( ( 5, "%s[%p]: kBulkOnlyCheckBulkStall returned %x stalled %x for endpoint %d", getName(), this, resultingStatus, boRequestBlock->boGetStatusBuffer[0], fPotentiallyStalledPipe ? fPotentiallyStalledPipe->GetEndpointNumber() : -1 ) );
709 if ( ( boRequestBlock->boGetStatusBuffer[0] & 1 ) == 1 )
712 if ( boRequestBlock->currentState == kBulkOnlyCheckBulkStall )
714 boRequestBlock->currentState = kBulkOnlyClearBulkStall;
718 boRequestBlock->currentState = kBulkOnlyClearBulkStallPostCSW;
721 status = ClearFeatureEndpointStall ( fPotentiallyStalledPipe, &boRequestBlock->boCompletion );
734 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
755 if ( boRequestBlock->currentState == kBulkOnlyClearBulkStall )
757 status = BulkOnlyReceiveCSWPacket( boRequestBlock, kBulkOnlyStatusReceived );
761 status = BulkOnlyReceiveCSWPacket( boRequestBlock, kBulkOnlyStatusReceived2ndTime );
774 STATUS_LOG ( ( 5, "%s[%p]: kBulkOnlyStatusReceived returned %x cswTag=0x%08x", getName(), this, resultingStatus, boRequestBlock->boCSW.cswTag ) );
781 boRequestBlock->currentState = kBulkOnlyCheckBulkStallPostCSW;
782 status = GetStatusEndpointStatus ( GetBulkInPipe(), &boRequestBlock->boGetStatusBuffer, &boRequestBlock->boCompletion );
796 status = BulkOnlyReceiveCSWPacket ( boRequestBlock, kBulkOnlyStatusReceived2ndTime );
801 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
811 else if ( ( boRequestBlock->boCSW.cswTag == boRequestBlock->boCBW.cbwTag ) || fKnownCSWTagMismatchIssues )
815 switch( boRequestBlock->boCSW.cswStatus )
841 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
882 status = BulkDeviceResetDevice( boRequestBlock, kBulkOnlyResetCompleted );
890 boRequestBlock->currentState = kBulkOnlyStatusReceived;
891 BulkOnlyExecuteCommandCompletion( boRequestBlock,
922 boRequestBlock->currentState = kBulkOnlyClearBulkInCompleted;
923 status = ClearFeatureEndpointStall ( GetBulkInPipe(), &boRequestBlock->boCompletion );
937 boRequestBlock->currentState = kBulkOnlyClearBulkOutCompleted;
938 status = ClearFeatureEndpointStall ( GetBulkOutPipe(), &boRequestBlock->boCompletion );
955 SetRealizedDataTransferCount ( boRequestBlock->request, 0 );
964 SetRealizedDataTransferCount ( boRequestBlock->request, 0 );
987 SCSITaskIdentifier request = boRequestBlock->request;
989 ReleaseBulkOnlyRequestBlock ( boRequestBlock );
995 STATUS_LOG ( ( 5, "%s[%p]: BulkOnlyExecuteCommandCompletion Returning with currentState=%d", getName(), this, boRequestBlock->currentState ) );