harmony 鸿蒙scsi_peripheral_types.h

  • 2025-06-12
  • 浏览 (6)

scsi_peripheral_types.h

Overview

Provides the enum variables, structures, and macros used in the SCSI Peripheral DDK APIs.

File to include: <scsi_peripheral/scsi_peripheral_types.h>

Library: libscsi.z.so

System capability: SystemCapability.Driver.SCSI.Extension

Since: 18

Related module: SCSI Peripheral DDK

Summary

Structs

Name Description
struct  ScsiPeripheral_DeviceMemMap Device memory mapping created by calling OH_ScsiPeripheral_CreateDeviceMemMap. The buffer that uses the device memory mapping can provide better performance.
struct  ScsiPeripheral_IORequest Read/write operation request.
struct  ScsiPeripheral_Request Request structure.
struct  ScsiPeripheral_Response Response structure.
struct  ScsiPeripheral_TestUnitReadyRequest Request structure of the test unit ready command.
struct  ScsiPeripheral_InquiryRequest Request structure of the inquiry command.
struct  ScsiPeripheral_InquiryInfo SCSI inquiry data.
struct  ScsiPeripheral_ReadCapacityRequest Request structure of the read capacity command.
struct  ScsiPeripheral_CapacityInfo SCSI read capacity.
struct  ScsiPeripheral_RequestSenseRequest Request structure of the request sense command.
struct  ScsiPeripheral_BasicSenseInfo Basic information about the sense data.
struct  ScsiPeripheral_VerifyRequest Request structure of the verify command.

Macros

Name Description
SCSIPERIPHERAL_MIN_DESCRIPTOR_FORMAT_SENSE   8 Minimum length of the sense data descriptor format.
SCSIPERIPHERAL_MIN_FIXED_FORMAT_SENSE   18 Minimum length of the fixed format of sense data.
SCSIPERIPHERAL_MAX_CMD_DESC_BLOCK_LEN   16 Maximum length of a command descriptor block (CDB).
SCSIPERIPHERAL_MAX_SENSE_DATA_LEN   252 Maximum length of sense data. In the SCSI protocol, the maximum length of sense data is usually 252 bytes.
SCSIPERIPHERAL_VENDOR_ID_LEN   8 Maximum length of the vendor ID.
SCSIPERIPHERAL_PRODUCT_ID_LEN   18 Maximum length of the product ID.
SCSIPERIPHERAL_PRODUCT_REV_LEN   4 Maximum length of the product version.

Types

Name Description
typedef struct ScsiPeripheral_Device ScsiPeripheral_Device Opaque SCSI device structure.
typedef struct ScsiPeripheral_DeviceMemMap ScsiPeripheral_DeviceMemMap Device memory mapping created by calling OH_ScsiPeripheral_CreateDeviceMemMap. The buffer that uses the device memory mapping can provide better performance.
typedef struct ScsiPeripheral_IORequest ScsiPeripheral_IORequest Read/write operation request.
typedef struct ScsiPeripheral_Request ScsiPeripheral_Request Request structure.
typedef struct ScsiPeripheral_Response ScsiPeripheral_Response Response structure.
typedef struct ScsiPeripheral_TestUnitReadyRequest ScsiPeripheral_TestUnitReadyRequest Request structure of the test unit ready command.
typedef struct ScsiPeripheral_InquiryRequest ScsiPeripheral_InquiryRequest Request structure of the inquiry command.
typedef struct ScsiPeripheral_InquiryInfo ScsiPeripheral_InquiryInfo SCSI inquiry data.
typedef struct ScsiPeripheral_ReadCapacityRequest ScsiPeripheral_ReadCapacityRequest Request structure of the read capacity command.
typedef struct ScsiPeripheral_CapacityInfo ScsiPeripheral_CapacityInfo SCSI read capacity.
typedef struct ScsiPeripheral_RequestSenseRequest ScsiPeripheral_RequestSenseRequest Request structure of the request sense command.
typedef struct ScsiPeripheral_BasicSenseInfo ScsiPeripheral_BasicSenseInfo Basic information about the sense data.
typedef struct ScsiPeripheral_VerifyRequest ScsiPeripheral_VerifyRequest Request structure of the verify command.

Enums

Name Description
ScsiPeripheral_DdkErrCode {
SCSIPERIPHERAL_DDK_NO_PERM = 201, SCSIPERIPHERAL_DDK_INVALID_PARAMETER = 401, SCSIPERIPHERAL_DDK_SUCCESS = 31700000, SCSIPERIPHERAL_DDK_MEMORY_ERROR = 31700001, SCSIPERIPHERAL_DDK_INVALID_OPERATION = 31700002, SCSIPERIPHERAL_DDK_IO_ERROR = 31700003, SCSIPERIPHERAL_DDK_TIMEOUT = 31700004, SCSIPERIPHERAL_DDK_INIT_ERROR = 31700005, SCSIPERIPHERAL_DDK_SERVICE_ERROR = 31700006, SCSIPERIPHERAL_DDK_DEVICE_NOT_FOUND = 31700007
}
SCSI Peripheral DDK error codes.
ScsiPeripheral_Status {
SCSIPERIPHERAL_STATUS_GOOD = 0x00, SCSIPERIPHERAL_STATUS_CHECK_CONDITION_NEEDED = 0x02, SCSIPERIPHERAL_STATUS_CONDITION_MET = 0x04, SCSIPERIPHERAL_STATUS_BUSY = 0x08, SCSIPERIPHERAL_STATUS_RESERVATION_CONFLICT = 0x18, SCSIPERIPHERAL_STATUS_TASK_SET_FULL = 0x28, SCSIPERIPHERAL_STATUS_ACA_ACTIVE = 0x30, SCSIPERIPHERAL_STATUS_TASK_ABORTED = 0x40
}
SCSI status used for the response.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Driver Development Kit

harmony 鸿蒙Base DDK

harmony 鸿蒙DDK_Ashmem

harmony 鸿蒙Hid_AbsAxesArray

harmony 鸿蒙Hid_Device

harmony 鸿蒙Hid_EmitItem

harmony 鸿蒙Hid_EventProperties

harmony 鸿蒙Hid_EventTypeArray

harmony 鸿蒙Hid_KeyCodeArray

harmony 鸿蒙Hid_MscEventArray

0  赞