<!--
{
  "availability" : [
    "DriverKit: 22.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SCSIPeripheralsDriverKit",
  "identifier" : "/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SCSIPeripheralsDriverKit"
    ],
    "preciseIdentifier" : "c:@S@SCSIDeviceOutParameters"
  },
  "title" : "SCSIDeviceOutParameters"
}
-->

# SCSIDeviceOutParameters

A structure that contains parameters for an outbound request to a SCSI device.

```
typedef struct SCSIDeviceOutParameters { ... } SCSIDeviceOutParameters;
```

## Topics

### Setting command parameters

[`uint64_t fLogicalUnitNumber;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fLogicalUnitNumber)

The SCSI logical unit number of the device that receives the command.

[`uint32_t fTimeoutDuration;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fTimeoutDuration)

A timeout for the command, in milliseconds.

[`SCSICommandDescriptorBlock fCommandDescriptorBlock;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fCommandDescriptorBlock)

A 16-byte opcode to fill out the Command Descriptor Block (CDB).

[`uint64_t fRequestedByteCountOfTransfer;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fRequestedByteCountOfTransfer)

The size of the data to transfer.

[`uint8_t fBufferDirection;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fBufferDirection)

The direction for the buffer to send or receive data.

[`uint8_t fDataTransferDirection;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fDataTransferDirection)

The direction for the caller to send data to or receive data from the device.

[`uint8_t fSenseLengthRequested;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fSenseLengthRequested)

The length of sense data to read, in bytes.

[`uint64_t fDataBufferAddr;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fDataBufferAddr)

The virtual address of the buffer the dext creates to transfer data.

[`uint64_t fSenseBufferAddr;`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/fSenseBufferAddr)

The virtual address of the buffer that the dext creates to transfer sense data.

### Infrequently Used Functionality

[`uint8_t reserved[9];`](/documentation/SCSIPeripheralsDriverKit/SCSIDeviceOutParameters/reserved)

An unused field reserved for future use.

## Relationships

### Inherited By

[`SCSIType07OutParameters`](/documentation/SCSIPeripheralsDriverKit/SCSIType07OutParameters)

[`SCSIType05OutParameters`](/documentation/SCSIPeripheralsDriverKit/SCSIType05OutParameters)

[`SCSIType00OutParameters`](/documentation/SCSIPeripheralsDriverKit/SCSIType00OutParameters)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)