FreeBSD kernel CAM code
scsi_all.h File Reference
#include <sys/cdefs.h>
#include <machine/stdarg.h>
Include dependency graph for scsi_all.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  scsi_generic
 
struct  scsi_request_sense
 
struct  scsi_test_unit_ready
 
struct  scsi_receive_diag
 
struct  scsi_send_diag
 
struct  scsi_sense
 
struct  scsi_inquiry
 
struct  scsi_mode_sense_6
 
struct  scsi_mode_sense_10
 
struct  scsi_mode_select_6
 
struct  scsi_mode_select_10
 
struct  scsi_mode_hdr_6
 
struct  scsi_mode_hdr_10
 
struct  scsi_mode_block_descr
 
struct  scsi_mode_block_descr_dshort
 
struct  scsi_mode_block_descr_dlong
 
struct  scsi_per_res_in
 
struct  scsi_per_res_in_header
 
struct  scsi_per_res_key
 
struct  scsi_per_res_in_keys
 
struct  scsi_per_res_cap
 
struct  scsi_per_res_in_rsrv_data
 
struct  scsi_per_res_in_rsrv
 
struct  scsi_per_res_in_full_desc
 
struct  scsi_per_res_in_full
 
struct  scsi_per_res_out
 
struct  scsi_per_res_out_parms
 
struct  scsi_per_res_out_trans_ids
 
struct  scsi_per_res_reg_move
 
struct  scsi_transportid_header
 
struct  scsi_transportid_fcp
 
struct  scsi_transportid_spi
 
struct  scsi_transportid_1394
 
struct  scsi_transportid_rdma
 
struct  scsi_transportid_iscsi_device
 
struct  scsi_transportid_iscsi_port
 
struct  scsi_transportid_sas
 
struct  scsi_sop_routing_id_norm
 
struct  scsi_sop_routing_id_alt
 
struct  scsi_transportid_sop
 
struct  scsi_log_sense
 
struct  scsi_log_select
 
struct  scsi_log_header
 
struct  scsi_log_param_header
 
struct  scsi_log_media_pct_used
 
struct  scsi_log_stat_and_perf
 
struct  scsi_log_idle_time
 
struct  scsi_log_time_interval
 
struct  scsi_log_fua_stat_and_perf
 
struct  scsi_log_informational_exceptions
 
struct  scsi_log_temperature
 
struct  scsi_control_page
 
struct  scsi_control_ext_page
 
struct  scsi_cache_page
 
struct  scsi_caching_page
 
struct  scsi_info_exceptions_page
 
struct  scsi_logical_block_provisioning_page_descr
 
struct  scsi_logical_block_provisioning_page
 
struct  scsi_proto_specific_page
 
struct  scsi_reserve
 
struct  scsi_reserve_10
 
struct  scsi_release
 
struct  scsi_release_10
 
struct  scsi_prevent
 
struct  scsi_sync_cache
 
struct  scsi_sync_cache_16
 
struct  scsi_format
 
struct  scsi_format_header_short
 
struct  scsi_format_header_long
 
struct  scsi_changedef
 
struct  scsi_read_buffer
 
struct  scsi_read_buffer_16
 
struct  scsi_write_buffer
 
struct  scsi_read_attribute
 
struct  scsi_write_attribute
 
struct  scsi_read_attribute_values
 
struct  scsi_mam_attribute_header
 
struct  scsi_attrib_list_header
 
struct  scsi_attrib_lv_list
 
struct  scsi_attrib_vendser
 
struct  scsi_attrib_table_entry
 
struct  scsi_rw_6
 
struct  scsi_rw_10
 
struct  scsi_rw_12
 
struct  scsi_rw_16
 
struct  scsi_write_atomic_16
 
struct  scsi_write_same_10
 
struct  scsi_write_same_16
 
struct  scsi_unmap
 
struct  scsi_unmap_header
 
struct  scsi_unmap_desc
 
struct  scsi_write_verify_10
 
struct  scsi_write_verify_12
 
struct  scsi_write_verify_16
 
struct  scsi_start_stop_unit
 
struct  ata_pass_12
 
struct  scsi_maintenance_in
 
struct  scsi_report_ident_info
 
struct  scsi_report_ident_info_data
 
struct  scsi_report_ident_info_descr
 
struct  scsi_report_supported_opcodes
 
struct  scsi_report_supported_opcodes_timeout
 
struct  scsi_report_supported_opcodes_descr
 
struct  scsi_report_supported_opcodes_all
 
struct  scsi_report_supported_opcodes_one
 
struct  scsi_report_supported_tmf
 
struct  scsi_report_supported_tmf_data
 
struct  scsi_report_supported_tmf_ext_data
 
struct  scsi_report_timestamp
 
struct  scsi_report_timestamp_data
 
struct  scsi_receive_copy_status_lid1
 
struct  scsi_receive_copy_status_lid1_data
 
struct  scsi_receive_copy_failure_details
 
struct  scsi_receive_copy_failure_details_data
 
struct  scsi_receive_copy_status_lid4
 
struct  scsi_receive_copy_status_lid4_data
 
struct  scsi_receive_copy_operating_parameters
 
struct  scsi_receive_copy_operating_parameters_data
 
struct  scsi_extended_copy
 
struct  scsi_ec_cscd_dtsp
 
struct  scsi_ec_cscd
 
struct  scsi_ec_cscd_id
 
struct  scsi_ec_segment
 
struct  scsi_ec_segment_b2b
 
struct  scsi_ec_segment_verify
 
struct  scsi_ec_segment_register_key
 
struct  scsi_extended_copy_lid1_data
 
struct  scsi_extended_copy_lid4_data
 
struct  scsi_copy_operation_abort
 
struct  scsi_populate_token
 
struct  scsi_range_desc
 
struct  scsi_populate_token_data
 
struct  scsi_write_using_token
 
struct  scsi_write_using_token_data
 
struct  scsi_receive_rod_token_information
 
struct  scsi_token
 
struct  scsi_report_all_rod_tokens
 
struct  scsi_report_all_rod_tokens_data
 
struct  ata_pass_16
 
struct  ata_pass_32
 
struct  scsi_inquiry_data
 
struct  scsi_vpd_supported_page_list
 
struct  scsi_vpd_supported_pages
 
struct  scsi_vpd_unit_serial_number
 
struct  scsi_vpd_device_id
 
struct  scsi_vpd_id_descriptor
 
struct  scsi_vpd_id_t10
 
struct  scsi_vpd_id_eui64
 
struct  scsi_vpd_id_naa_basic
 
struct  scsi_vpd_id_naa_ieee_extended_id
 
struct  scsi_vpd_id_naa_local_reg
 
struct  scsi_vpd_id_naa_ieee_reg
 
struct  scsi_vpd_id_naa_ieee_reg_extended
 
struct  scsi_vpd_id_rel_trgt_port_id
 
struct  scsi_vpd_id_trgt_port_grp_id
 
struct  scsi_vpd_id_lun_grp_id
 
struct  scsi_vpd_id_md5_lun_id
 
struct  scsi_vpd_id_scsi_name
 
struct  scsi_service_action_in
 
struct  scsi_vpd_extended_inquiry_data
 
struct  scsi_vpd_mode_page_policy_descr
 
struct  scsi_vpd_mode_page_policy
 
struct  scsi_diag_page
 
struct  scsi_vpd_port_designation
 
struct  scsi_vpd_port_designation_cont
 
struct  scsi_vpd_scsi_ports
 
struct  scsi_vpd_tpc_descriptor
 
struct  scsi_vpd_tpc_descriptor_bdrl
 
struct  scsi_vpd_tpc_descriptor_sc_descr
 
struct  scsi_vpd_tpc_descriptor_sc
 
struct  scsi_vpd_tpc_descriptor_pd
 
struct  scsi_vpd_tpc_descriptor_sd
 
struct  scsi_vpd_tpc_descriptor_sdid
 
struct  scsi_vpd_tpc_descriptor_rtf_block
 
struct  scsi_vpd_tpc_descriptor_rtf
 
struct  scsi_vpd_tpc_descriptor_srtd
 
struct  scsi_vpd_tpc_descriptor_srt
 
struct  scsi_vpd_tpc_descriptor_gco
 
struct  scsi_vpd_tpc
 
struct  scsi_vpd_sfs
 
struct  scsi_vpd_block_device_characteristics
 
struct  scsi_vpd_logical_block_prov
 
struct  scsi_vpd_block_limits
 
struct  scsi_vpd_zoned_bdc
 
struct  scsi_read_capacity
 
struct  scsi_read_capacity_16
 
struct  scsi_read_capacity_data
 
struct  scsi_read_capacity_data_long
 
struct  scsi_get_lba_status
 
struct  scsi_get_lba_status_data_descr
 
struct  scsi_get_lba_status_data
 
struct  scsi_report_luns
 
struct  scsi_report_luns_lundata
 
struct  scsi_report_luns_data
 
struct  scsi_get_physical_element_status
 
struct  scsi_get_physical_element_hdr
 
struct  scsi_get_physical_element_descriptor
 
struct  scsi_remove_element_and_truncate
 
struct  scsi_target_group
 
struct  scsi_timestamp
 
struct  scsi_set_timestamp_parameters
 
struct  scsi_report_timestamp_parameter_data
 
struct  scsi_target_port_descriptor
 
struct  scsi_target_port_group_descriptor
 
struct  scsi_target_group_data
 
struct  scsi_target_group_data_extended
 
struct  scsi_security_protocol_in
 
struct  scsi_security_protocol_out
 
struct  scsi_sense_data
 
struct  scsi_sense_data_fixed
 
struct  scsi_sense_data_desc
 
struct  scsi_sense_desc_header
 
struct  scsi_sense_info
 
struct  scsi_sense_command
 
struct  scsi_sense_sks
 
struct  scsi_sense_sks_field
 
struct  scsi_sense_sks_retry
 
struct  scsi_sense_sks_progress
 
struct  scsi_sense_sks_segment
 
struct  scsi_sense_sks_overflow
 
struct  scsi_sense_fru
 
struct  scsi_sense_stream
 
struct  scsi_sense_block
 
struct  scsi_sense_osd_objid
 
struct  scsi_sense_osd_integrity
 
struct  scsi_sense_osd_attr_id
 
struct  scsi_sense_ata_ret_desc
 
struct  scsi_sense_progress
 
struct  scsi_sense_forwarded
 
struct  scsi_sense_vendor
 
struct  scsi_mode_header_6
 
struct  scsi_mode_header_10
 
struct  scsi_mode_page_header
 
struct  scsi_mode_page_header_sp
 
struct  scsi_mode_blk_desc
 
struct  scsi_inquiry_pattern
 
struct  scsi_static_inquiry_pattern
 
struct  scsi_sense_quirk_entry
 
struct  sense_key_table_entry
 
struct  asc_table_entry
 
struct  op_table_entry
 
struct  scsi_op_quirk_entry
 
struct  scsi_nv
 

Macros

#define SCSI_CTL_LINK   0x01
 
#define SCSI_CTL_FLAG   0x02
 
#define SCSI_CTL_VENDOR   0xC0
 
#define SCSI_CMD_LUN   0xA0 /* these two should not be needed */
 
#define SCSI_CMD_LUN_SHIFT   5 /* LUN in the cmd is no longer SCSI */
 
#define SCSI_MAX_CDBLEN
 
#define SCSI_CDB6_LEN(len)   ((len) == 0 ? 256 : len)
 
#define SS_ERRMASK   0xff
 
#define SS_RDEF   SS_RETRY|SSQ_DECREMENT_COUNT|SSQ_PRINT_SENSE|EIO
 
#define SS_RET   SS_RETRY|SSQ_DECREMENT_COUNT|SSQ_PRINT_SENSE
 
#define SS_WAIT   SS_TUR|SSQ_MANY|SSQ_DECREMENT_COUNT|SSQ_PRINT_SENSE
 
#define SS_FATAL   SS_FAIL|SSQ_PRINT_SENSE
 
#define SRS_DESC   0x01
 
#define SRD_PCV   0x01
 
#define SSD_UNITOFFL   0x01
 
#define SSD_DEVOFFL   0x02
 
#define SSD_SELFTEST   0x04
 
#define SSD_PF   0x10
 
#define SSD_SELF_TEST_CODE_MASK   0xE0
 
#define SSD_SELF_TEST_CODE_SHIFT   5
 
#define SSD_SELF_TEST_CODE_NONE   0x00
 
#define SSD_SELF_TEST_CODE_BG_SHORT   0x01
 
#define SSD_SELF_TEST_CODE_BG_EXTENDED   0x02
 
#define SSD_SELF_TEST_CODE_BG_ABORT   0x04
 
#define SSD_SELF_TEST_CODE_FG_SHORT   0x05
 
#define SSD_SELF_TEST_CODE_FG_EXTENDED   0x06
 
#define SI_EVPD   0x01
 
#define SI_CMDDT   0x02
 
#define SMS_DBD   0x08
 
#define SMS_PAGE_CODE   0x3F
 
#define SMS_VENDOR_SPECIFIC_PAGE   0x00
 
#define SMS_DISCONNECT_RECONNECT_PAGE   0x02
 
#define SMS_FORMAT_DEVICE_PAGE   0x03
 
#define SMS_GEOMETRY_PAGE   0x04
 
#define SMS_CACHE_PAGE   0x08
 
#define SMS_PERIPHERAL_DEVICE_PAGE   0x09
 
#define SMS_CONTROL_MODE_PAGE   0x0A
 
#define SMS_PROTO_SPECIFIC_PAGE   0x19
 
#define SMS_INFO_EXCEPTIONS_PAGE   0x1C
 
#define SMS_ALL_PAGES_PAGE   0x3F
 
#define SMS_PAGE_CTRL_MASK   0xC0
 
#define SMS_PAGE_CTRL_CURRENT   0x00
 
#define SMS_PAGE_CTRL_CHANGEABLE   0x40
 
#define SMS_PAGE_CTRL_DEFAULT   0x80
 
#define SMS_PAGE_CTRL_SAVED   0xC0
 
#define SMS_SUBPAGE_PAGE_0   0x00
 
#define SMS_SUBPAGE_ALL   0xff
 
#define SMS10_LLBAA   0x10
 
#define SMS_SP   0x01
 
#define SMS_RTD   0x02
 
#define SMS_PF   0x10
 
#define SMH_LONGLBA   0x01
 
#define SPRI_RK   0x00
 
#define SPRI_RR   0x01
 
#define SPRI_RC   0x02
 
#define SPRI_RS   0x03
 
#define SPRI_MAX_LEN   0xffff
 
#define SPRI_RLR_C   0x80
 
#define SPRI_CRH   0x10
 
#define SPRI_SIP_C   0x08
 
#define SPRI_ATP_C   0x04
 
#define SPRI_PTPL_C   0x01
 
#define SPRI_TMV   0x80
 
#define SPRI_ALLOW_CMD_MASK   0x70
 
#define SPRI_ALLOW_CMD_SHIFT   4
 
#define SPRI_ALLOW_NA   0x00
 
#define SPRI_ALLOW_1   0x10
 
#define SPRI_ALLOW_2   0x20
 
#define SPRI_ALLOW_3   0x30
 
#define SPRI_ALLOW_4   0x40
 
#define SPRI_ALLOW_5   0x50
 
#define SPRI_PTPL_A   0x01
 
#define SPRI_TM_WR_EX_AR   0x8000
 
#define SPRI_TM_EX_AC_RO   0x4000
 
#define SPRI_TM_WR_EX_RO   0x2000
 
#define SPRI_TM_EX_AC   0x0800
 
#define SPRI_TM_WR_EX   0x0200
 
#define SPRI_TM_EX_AC_AR   0x0001
 
#define SPRT_WE   0x01
 
#define SPRT_EA   0x03
 
#define SPRT_WERO   0x05
 
#define SPRT_EARO   0x06
 
#define SPRT_WEAR   0x07
 
#define SPRT_EAAR   0x08
 
#define SPRI_FULL_ALL_TG_PT   0x02
 
#define SPRI_FULL_R_HOLDER   0x01
 
#define SPRO_REGISTER   0x00
 
#define SPRO_RESERVE   0x01
 
#define SPRO_RELEASE   0x02
 
#define SPRO_CLEAR   0x03
 
#define SPRO_PREEMPT   0x04
 
#define SPRO_PRE_ABO   0x05
 
#define SPRO_REG_IGNO   0x06
 
#define SPRO_REG_MOVE   0x07
 
#define SPRO_REPL_LOST_RES   0x08
 
#define SPRO_ACTION_MASK   0x1f
 
#define SPR_SCOPE_MASK   0xf0
 
#define SPR_SCOPE_SHIFT   4
 
#define SPR_LU_SCOPE   0x00
 
#define SPR_EXTENT_SCOPE   0x10
 
#define SPR_ELEMENT_SCOPE   0x20
 
#define SPR_TYPE_MASK   0x0f
 
#define SPR_TYPE_RD_SHARED   0x00
 
#define SPR_TYPE_WR_EX   0x01
 
#define SPR_TYPE_RD_EX   0x02
 
#define SPR_TYPE_EX_AC   0x03
 
#define SPR_TYPE_SHARED   0x04
 
#define SPR_TYPE_WR_EX_RO   0x05
 
#define SPR_TYPE_EX_AC_RO   0x06
 
#define SPR_TYPE_WR_EX_AR   0x07
 
#define SPR_TYPE_EX_AC_AR   0x08
 
#define SPR_SPEC_I_PT   0x08
 
#define SPR_ALL_TG_PT   0x04
 
#define SPR_APTPL   0x01
 
#define SPR_REG_MOVE_UNREG   0x02
 
#define SPR_REG_MOVE_APTPL   0x01
 
#define SCSI_TRN_FORMAT_MASK   0xc0
 
#define SCSI_TRN_FORMAT_SHIFT   6
 
#define SCSI_TRN_PROTO_MASK   0x0f
 
#define SCSI_TRN_FCP_FORMAT_DEFAULT   0x00
 
#define SCSI_TRN_SPI_FORMAT_DEFAULT   0x00
 
#define SCSI_TRN_1394_FORMAT_DEFAULT   0x00
 
#define SCSI_TRN_RDMA_FORMAT_DEFAULT   0x00
 
#define SCSI_TRN_RDMA_PORT_LEN   16
 
#define SCSI_TRN_ISCSI_FORMAT_DEVICE   0x00
 
#define SCSI_TRN_ISCSI_FORMAT_PORT   0x40
 
#define SCSI_TRN_SAS_FORMAT_DEFAULT   0x00
 
#define SCSI_TRN_SOP_BUS_MAX   0xff
 
#define SCSI_TRN_SOP_DEV_MAX   0x1f
 
#define SCSI_TRN_SOP_DEV_MASK   0xf8
 
#define SCSI_TRN_SOP_DEV_SHIFT   3
 
#define SCSI_TRN_SOP_FUNC_NORM_MASK   0x07
 
#define SCSI_TRN_SOP_FUNC_NORM_MAX   0x07
 
#define SCSI_TRN_SOP_FUNC_ALT_MAX   0xff
 
#define SCSI_TRN_SOP_FORMAT_DEFAULT   0x00
 
#define SLS_SP   0x01
 
#define SLS_PPC   0x02
 
#define SLS_PAGE_CODE   0x3F
 
#define SLS_SUPPORTED_PAGES_PAGE   0x00
 
#define SLS_OVERRUN_PAGE   0x01
 
#define SLS_ERROR_WRITE_PAGE   0x02
 
#define SLS_ERROR_READ_PAGE   0x03
 
#define SLS_ERROR_READREVERSE_PAGE   0x04
 
#define SLS_ERROR_VERIFY_PAGE   0x05
 
#define SLS_ERROR_NONMEDIUM_PAGE   0x06
 
#define SLS_ERROR_LASTN_PAGE   0x07
 
#define SLS_LOGICAL_BLOCK_PROVISIONING   0x0c
 
#define SLS_TEMPERATURE   0x0d
 
#define SLS_SELF_TEST_PAGE   0x10
 
#define SLS_SOLID_STATE_MEDIA   0x11
 
#define SLS_STAT_AND_PERF   0x19
 
#define SLS_IE_PAGE   0x2f
 
#define SLS_PAGE_CTRL_MASK   0xC0
 
#define SLS_PAGE_CTRL_THRESHOLD   0x00
 
#define SLS_PAGE_CTRL_CUMULATIVE   0x40
 
#define SLS_PAGE_CTRL_THRESH_DEFAULT   0x80
 
#define SLS_PAGE_CTRL_CUMUL_DEFAULT   0xC0
 
#define SLS_SUPPORTED_SUBPAGES_SUBPAGE   0xff
 
#define SLS_PCR   0x02
 
#define SL_PAGE_CODE   0x3F
 
#define SL_SPF   0x40
 
#define SL_DS   0x80
 
#define SLP_LP   0x01
 
#define SLP_LBIN   0x02
 
#define SLP_TMC_MASK   0x0C
 
#define SLP_TMC_ALWAYS   0x00
 
#define SLP_TMC_EQUAL   0x04
 
#define SLP_TMC_NOTEQUAL   0x08
 
#define SLP_TMC_GREATER   0x0C
 
#define SLP_ETC   0x10
 
#define SLP_TSD   0x20
 
#define SLP_DS   0x40
 
#define SLP_DU   0x80
 
#define SLP_SS_MEDIA_PCT_USED   0x0001
 
#define SLP_SAP   0x0001
 
#define SLP_IT   0x0002
 
#define SLP_TI   0x0003
 
#define SLP_FUA_SAP   0x0004
 
#define SLP_IE_GEN   0x0000
 
#define SLP_TEMPERATURE   0x0000
 
#define SLP_REFTEMPERATURE   0x0001
 
#define SCP_RLEC   0x01 /*Report Log Exception Cond*/
 
#define SCP_GLTSD
 
#define SCP_DSENSE   0x04 /*Descriptor Sense */
 
#define SCP_DPICZ
 
#define SCP_TMF_ONLY   0x10 /*TM Functions Only*/
 
#define SCP_TST_MASK   0xE0 /*Task Set Type Mask*/
 
#define SCP_TST_ONE   0x00 /*One Task Set*/
 
#define SCP_TST_SEPARATE   0x20 /*Separate Task Sets*/
 
#define SCP_QUEUE_ALG_MASK   0xF0
 
#define SCP_QUEUE_ALG_RESTRICTED   0x00
 
#define SCP_QUEUE_ALG_UNRESTRICTED   0x10
 
#define SCP_NUAR   0x08 /*No UA on release*/
 
#define SCP_QUEUE_ERR   0x02 /*Queued I/O aborted for CACs*/
 
#define SCP_QUEUE_DQUE   0x01 /*Queued I/O disabled*/
 
#define SCP_EECA   0x80 /*Enable Extended CA*/
 
#define SCP_RAC   0x40 /*Report a check*/
 
#define SCP_SWP   0x08 /*Software Write Protect*/
 
#define SCP_RAENP   0x04 /*Ready AEN Permission*/
 
#define SCP_UAAENP   0x02 /*UA AEN Permission*/
 
#define SCP_EAENP   0x01 /*Error AEN Permission*/
 
#define SCP_ATO   0x80 /*Application tag owner*/
 
#define SCP_TAS   0x40 /*Task aborted status*/
 
#define SCP_ATMPE   0x20 /*Application tag mode page*/
 
#define SCP_RWWP   0x10 /*Reject write without prot*/
 
#define SCEP_PAGE_CODE   0x0a
 
#define SCEP_SUBPAGE_CODE   0x01
 
#define SCEP_TCMOS   0x04 /* Timestamp Changeable by */
 
#define SCEP_SCSIP   0x02 /* SCSI Precedence (clock) */
 
#define SCEP_IALUAE   0x01 /* Implicit ALUA Enabled */
 
#define SCHP_PAGE_SAVABLE   0x80 /* Page is savable */
 
#define SCHP_FLAGS_WCE   0x04 /* Write Cache Enable */
 
#define SCHP_FLAGS_MF   0x02 /* Multiplication factor */
 
#define SCHP_FLAGS_RCD   0x01 /* Read Cache Disable */
 
#define SMS_CACHING_PAGE   0x08
 
#define SCP_IC   0x80
 
#define SCP_ABPF   0x40
 
#define SCP_CAP   0x20
 
#define SCP_DISC   0x10
 
#define SCP_SIZE   0x08
 
#define SCP_WCE   0x04
 
#define SCP_MF   0x02
 
#define SCP_RCD   0x01
 
#define SCP_FSW   0x80
 
#define SCP_LBCSS   0x40
 
#define SCP_DRA   0x20
 
#define SCP_VS1   0x10
 
#define SCP_VS2   0x08
 
#define SIEP_PAGE_SAVABLE   0x80 /* Page is savable */
 
#define SIEP_FLAGS_PERF   0x80
 
#define SIEP_FLAGS_EBF   0x20
 
#define SIEP_FLAGS_EWASC   0x10
 
#define SIEP_FLAGS_DEXCPT   0x08
 
#define SIEP_FLAGS_TEST   0x04
 
#define SIEP_FLAGS_EBACKERR   0x02
 
#define SIEP_FLAGS_LOGERR   0x01
 
#define SIEP_MRIE_NO   0x00
 
#define SIEP_MRIE_UA   0x02
 
#define SIEP_MRIE_REC_COND   0x03
 
#define SIEP_MRIE_REC_UNCOND   0x04
 
#define SIEP_MRIE_NO_SENSE   0x05
 
#define SIEP_MRIE_ON_REQ   0x06
 
#define SLBPPD_ENABLED   0x80
 
#define SLBPPD_TYPE_MASK   0x38
 
#define SLBPPD_ARMING_MASK   0x07
 
#define SLBPPD_ARMING_DEC   0x02
 
#define SLBPPD_ARMING_INC   0x01
 
#define SLBPP_SITUA   0x01
 
#define SCSI_PROTO_FC   0x00 /* Fibre Channel */
 
#define SCSI_PROTO_SPI   0x01 /* Parallel SCSI */
 
#define SCSI_PROTO_SSA   0x02 /* Serial Storage Arch. */
 
#define SCSI_PROTO_1394   0x03 /* IEEE 1394 (Firewire) */
 
#define SCSI_PROTO_RDMA   0x04 /* SCSI RDMA Protocol */
 
#define SCSI_PROTO_ISCSI   0x05 /* Internet SCSI */
 
#define SCSI_PROTO_iSCSI   0x05 /* Internet SCSI */
 
#define SCSI_PROTO_SAS   0x06 /* SAS Serial SCSI Protocol */
 
#define SCSI_PROTO_ADT   0x07 /* Automation/Drive Int. Trans. Prot.*/
 
#define SCSI_PROTO_ADITP   0x07 /* Automation/Drive Int. Trans. Prot.*/
 
#define SCSI_PROTO_ATA   0x08 /* AT Attachment Interface */
 
#define SCSI_PROTO_UAS   0x09 /* USB Atached SCSI */
 
#define SCSI_PROTO_SOP   0x0a /* SCSI over PCI Express */
 
#define SCSI_PROTO_NONE   0x0f /* No specific protocol */
 
#define SPSP_PAGE_SAVABLE   0x80 /* Page is savable */
 
#define SPSP_PROTO_FC   SCSI_PROTO_FC
 
#define SPSP_PROTO_SPI   SCSI_PROTO_SPI
 
#define SPSP_PROTO_SSA   SCSI_PROTO_SSA
 
#define SPSP_PROTO_1394   SCSI_PROTO_1394
 
#define SPSP_PROTO_RDMA   SCSI_PROTO_RDMA
 
#define SPSP_PROTO_ISCSI   SCSI_PROTO_ISCSI
 
#define SPSP_PROTO_SAS   SCSI_PROTO_SAS
 
#define SPSP_PROTO_ADT   SCSI_PROTO_ADITP
 
#define SPSP_PROTO_ATA   SCSI_PROTO_ATA
 
#define SPSP_PROTO_UAS   SCSI_PROTO_UAS
 
#define SPSP_PROTO_SOP   SCSI_PROTO_SOP
 
#define SPSP_PROTO_NONE   SCSI_PROTO_NONE
 
#define SR_EXTENT   0x01
 
#define SR_ID_MASK   0x0e
 
#define SR_3RDPTY   0x10
 
#define SR_LUN_MASK   0xe0
 
#define SR10_3RDPTY   0x10
 
#define SR10_LONGID   0x02
 
#define SR10_EXTENT   0x01
 
#define PR_PREVENT   0x01
 
#define PR_ALLOW   0x00
 
#define SSC_IMMED   0x02
 
#define SSC_RELADR   0x01
 
#define SF_LONGLIST   0x20
 
#define SF_FMTDATA   0x10
 
#define SF_CMPLIST   0x08
 
#define SF_FORMAT_MASK   0x07
 
#define SF_FORMAT_BLOCK   0x00
 
#define SF_FORMAT_LONG_BLOCK   0x03
 
#define SF_FORMAT_BFI   0x04
 
#define SF_FORMAT_PHYS   0x05
 
#define SF_DATA_FOV   0x80
 
#define SF_DATA_DPRY   0x40
 
#define SF_DATA_DCRT   0x20
 
#define SF_DATA_STPF   0x10
 
#define SF_DATA_IP   0x08
 
#define SF_DATA_DSP   0x04
 
#define SF_DATA_IMMED   0x02
 
#define SF_DATA_VS   0x01
 
#define RWB_MODE   0x1F
 
#define RWB_MODE_HDR_DATA   0x00
 
#define RWB_MODE_VENDOR   0x01
 
#define RWB_MODE_DATA   0x02
 
#define RWB_MODE_DESCR   0x03
 
#define RWB_MODE_DOWNLOAD   0x04
 
#define RWB_MODE_DOWNLOAD_SAVE   0x05
 
#define RWB_MODE_ECHO   0x0A
 
#define RWB_MODE_ECHO_DESCR   0x0B
 
#define RWB_MODE_ERROR_HISTORY   0x1C
 
#define SRA_SA_ATTR_VALUES   0x00
 
#define SRA_SA_ATTR_LIST   0x01
 
#define SRA_SA_LOG_VOL_LIST   0x02
 
#define SRA_SA_PART_LIST   0x03
 
#define SRA_SA_RESTRICTED   0x04
 
#define SRA_SA_SUPPORTED_ATTRS   0x05
 
#define SRA_SA_MASK   0x1f
 
#define SRA_CACHE   0x01
 
#define SWA_WTC   0x01
 
#define SMA_ATTR_ID_DEVICE_MIN   0x0000
 
#define SMA_ATTR_REM_CAP_PARTITION   0x0000
 
#define SMA_ATTR_MAX_CAP_PARTITION   0x0001
 
#define SMA_ATTR_TAPEALERT_FLAGS   0x0002
 
#define SMA_ATTR_LOAD_COUNT   0x0003
 
#define SMA_ATTR_MAM_SPACE_REMAINING   0x0004
 
#define SMA_ATTR_DEV_ASSIGNING_ORG   0x0005
 
#define SMA_ATTR_FORMAT_DENSITY_CODE   0x0006
 
#define SMA_ATTR_INITIALIZATION_COUNT   0x0007
 
#define SMA_ATTR_VOLUME_ID   0x0008
 
#define SMA_ATTR_VOLUME_CHANGE_REF   0x0009
 
#define SMA_ATTR_DEV_SERIAL_LAST_LOAD   0x020a
 
#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_1   0x020b
 
#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_2   0x020c
 
#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_3   0x020d
 
#define SMA_ATTR_TOTAL_MB_WRITTEN_LT   0x0220
 
#define SMA_ATTR_TOTAL_MB_READ_LT   0x0221
 
#define SMA_ATTR_TOTAL_MB_WRITTEN_CUR   0x0222
 
#define SMA_ATTR_TOTAL_MB_READ_CUR   0x0223
 
#define SMA_ATTR_FIRST_ENC_BLOCK   0x0224
 
#define SMA_ATTR_NEXT_UNENC_BLOCK   0x0225
 
#define SMA_ATTR_MEDIUM_USAGE_HIST   0x0340
 
#define SMA_ATTR_PART_USAGE_HIST   0x0341
 
#define SMA_ATTR_ID_DEVICE_MAX   0x03ff
 
#define SMA_ATTR_ID_MEDIUM_MIN   0x0400
 
#define SMA_ATTR_MED_MANUF   0x0400
 
#define SMA_ATTR_MED_SERIAL   0x0401
 
#define SMA_ATTR_MED_LENGTH   0x0402
 
#define SMA_ATTR_MED_WIDTH   0x0403
 
#define SMA_ATTR_MED_ASSIGNING_ORG   0x0404
 
#define SMA_ATTR_MED_DENSITY_CODE   0x0405
 
#define SMA_ATTR_MED_MANUF_DATE   0x0406
 
#define SMA_ATTR_MAM_CAPACITY   0x0407
 
#define SMA_ATTR_MED_TYPE   0x0408
 
#define SMA_ATTR_MED_TYPE_INFO   0x0409
 
#define SMA_ATTR_MED_SERIAL_NUM   0x040a
 
#define SMA_ATTR_ID_MEDIUM_MAX   0x07ff
 
#define SMA_ATTR_ID_HOST_MIN   0x0800
 
#define SMA_ATTR_APP_VENDOR   0x0800
 
#define SMA_ATTR_APP_NAME   0x0801
 
#define SMA_ATTR_APP_VERSION   0x0802
 
#define SMA_ATTR_USER_MED_TEXT_LABEL   0x0803
 
#define SMA_ATTR_LAST_WRITTEN_TIME   0x0804
 
#define SMA_ATTR_TEXT_LOCAL_ID   0x0805
 
#define SMA_ATTR_BARCODE   0x0806
 
#define SMA_ATTR_HOST_OWNER_NAME   0x0807
 
#define SMA_ATTR_MEDIA_POOL   0x0808
 
#define SMA_ATTR_PART_USER_LABEL   0x0809
 
#define SMA_ATTR_LOAD_UNLOAD_AT_PART   0x080a
 
#define SMA_ATTR_APP_FORMAT_VERSION   0x080b
 
#define SMA_ATTR_VOL_COHERENCY_INFO   0x080c
 
#define SMA_ATTR_ID_HOST_MAX   0x0bff
 
#define SMA_ATTR_VENDOR_DEVICE_MIN   0x0c00
 
#define SMA_ATTR_VENDOR_DEVICE_MAX   0x0fff
 
#define SMA_ATTR_VENDOR_MEDIUM_MIN   0x1000
 
#define SMA_ATTR_VENDOR_MEDIUM_MAX   0x13ff
 
#define SMA_ATTR_VENDOR_HOST_MIN   0x1400
 
#define SMA_ATTR_VENDOR_HOST_MAX   0x17ff
 
#define SMA_FORMAT_BINARY   0x00
 
#define SMA_FORMAT_ASCII   0x01
 
#define SMA_FORMAT_TEXT   0x02
 
#define SMA_FORMAT_MASK   0x03
 
#define SMA_READ_ONLY   0x80
 
#define SCSI_LTFS_VER0_LEN   42
 
#define SCSI_LTFS_VER1_LEN   43
 
#define SCSI_LTFS_UUID_LEN   36
 
#define SCSI_LTFS_STR_NAME   "LTFS"
 
#define SCSI_LTFS_STR_LEN   4
 
#define SRW_TOPADDR   0x1F
 
#define SRW10_RELADDR   0x01
 
#define SRW10_EBP   0x04
 
#define SRW10_FUA   0x08
 
#define SRW10_DPO   0x10
 
#define SRW12_RELADDR   0x01
 
#define SRW12_FUA   0x08
 
#define SRW12_DPO   0x10
 
#define SRW16_RELADDR   0x01
 
#define SRW16_FUA   0x08
 
#define SRW16_DPO   0x10
 
#define SWS_LBDATA   0x02
 
#define SWS_PBDATA   0x04
 
#define SWS_UNMAP   0x08
 
#define SWS_ANCHOR   0x10
 
#define SWS_NDOB   0x01
 
#define SU_ANCHOR   0x01
 
#define SWV_BYTCHK   0x02
 
#define SWV_DPO   0x10
 
#define SWV_WRPROECT_MASK   0xe0
 
#define SSS_IMMED   0x01
 
#define SSS_START   0x01
 
#define SSS_LOEJ   0x02
 
#define SSS_PC_MASK   0xf0
 
#define SSS_PC_START_VALID   0x00
 
#define SSS_PC_ACTIVE   0x10
 
#define SSS_PC_IDLE   0x20
 
#define SSS_PC_STANDBY   0x30
 
#define SSS_PC_LU_CONTROL   0x70
 
#define SSS_PC_FORCE_IDLE_0   0xa0
 
#define SSS_PC_FORCE_STANDBY_0   0xb0
 
#define AP_PROTO_HARD_RESET   (0x00 << 1)
 
#define AP_PROTO_SRST   (0x01 << 1)
 
#define AP_PROTO_NON_DATA   (0x03 << 1)
 
#define AP_PROTO_PIO_IN   (0x04 << 1)
 
#define AP_PROTO_PIO_OUT   (0x05 << 1)
 
#define AP_PROTO_DMA   (0x06 << 1)
 
#define AP_PROTO_DMA_QUEUED   (0x07 << 1)
 
#define AP_PROTO_DEVICE_DIAG   (0x08 << 1)
 
#define AP_PROTO_DEVICE_RESET   (0x09 << 1)
 
#define AP_PROTO_UDMA_IN   (0x0a << 1)
 
#define AP_PROTO_UDMA_OUT   (0x0b << 1)
 
#define AP_PROTO_FPDMA   (0x0c << 1)
 
#define AP_PROTO_RESP_INFO   (0x0f << 1)
 
#define AP_PROTO_MASK   0x1e
 
#define AP_MULTI   0xe0
 
#define AP_T_LEN   0x03
 
#define AP_BB   0x04
 
#define AP_T_DIR   0x08
 
#define AP_CK_COND   0x20
 
#define AP_OFFLINE   0x60
 
#define SERVICE_ACTION_MASK   0x1f
 
#define SA_RPRT_TRGT_GRP   0x0a
 
#define RII_LUII   0x00
 
#define RII_LUTII   0x04
 
#define RII_IIS   0xfc
 
#define RSO_RCTD   0x80
 
#define RSO_OPTIONS_MASK   0x07
 
#define RSO_OPTIONS_ALL   0x00
 
#define RSO_OPTIONS_OC   0x01
 
#define RSO_OPTIONS_OC_SA   0x02
 
#define RSO_OPTIONS_OC_ASA   0x03
 
#define RSO_SERVACTV   0x01
 
#define RSO_CTDP   0x02
 
#define RSO_CDLP_MASK   0x0c
 
#define RSO_CDLP_NO   0x00
 
#define RSO_CDLP_A   0x04
 
#define RSO_CDLP_B   0x08
 
#define RSO_ONE_CTDP   0x80
 
#define RSO_ONE_CDLP_MASK   0x18
 
#define RSO_ONE_CDLP_NO   0x00
 
#define RSO_ONE_CDLP_A   0x08
 
#define RSO_ONE_CDLP_B   0x10
 
#define RSO_ONE_SUP_MASK   0x07
 
#define RSO_ONE_SUP_UNAVAIL   0x00
 
#define RSO_ONE_SUP_NOT_SUP   0x01
 
#define RSO_ONE_SUP_AVAIL   0x03
 
#define RSO_ONE_SUP_VENDOR   0x05
 
#define RST_REPD   0x80
 
#define RST_WAKES   0x01
 
#define RST_TRS   0x02
 
#define RST_QTS   0x04
 
#define RST_LURS   0x08
 
#define RST_CTSS   0x10
 
#define RST_CACAS   0x20
 
#define RST_ATSS   0x40
 
#define RST_ATS   0x80
 
#define RST_ITNRS   0x01
 
#define RST_QTSS   0x02
 
#define RST_QAES   0x04
 
#define RST_TMFTMOV   0x01
 
#define RST_WAKETS   0x01
 
#define RST_TRTS   0x02
 
#define RST_QTTS   0x04
 
#define RST_LURTS   0x08
 
#define RST_CTSTS   0x10
 
#define RST_CACATS   0x20
 
#define RST_ATSTS   0x40
 
#define RST_ATTS   0x80
 
#define RST_ITNRTS   0x01
 
#define RST_QTSTS   0x02
 
#define RST_QAETS   0x04
 
#define RTS_ORIG_MASK   0x00
 
#define RTS_ORIG_ZERO   0x00
 
#define RTS_ORIG_SET   0x02
 
#define RTS_ORIG_OUTSIDE   0x03
 
#define RCS_RCS_LID1   0x00
 
#define RCS_CCS_INPROG   0x00
 
#define RCS_CCS_COMPLETED   0x01
 
#define RCS_CCS_ERROR   0x02
 
#define RCS_TC_BYTES   0x00
 
#define RCS_TC_KBYTES   0x01
 
#define RCS_TC_MBYTES   0x02
 
#define RCS_TC_GBYTES   0x03
 
#define RCS_TC_TBYTES   0x04
 
#define RCS_TC_PBYTES   0x05
 
#define RCS_TC_EBYTES   0x06
 
#define RCS_TC_LBAS   0xf1
 
#define RCS_RCFD   0x04
 
#define RCS_RCS_LID4   0x05
 
#define RCS_CCS_COMPLETED_PROD   0x03
 
#define RCS_CCS_COMPLETED_RESID   0x04
 
#define RCS_CCS_INPROG_FGBG   0x10
 
#define RCS_CCS_INPROG_FG   0x11
 
#define RCS_CCS_INPROG_BG   0x12
 
#define RCS_CCS_ABORTED   0x60
 
#define RCS_RCOP   0x03
 
#define RCOP_SNLID   0x01
 
#define EC_EC_LID1   0x00
 
#define EC_EC_LID4   0x01
 
#define EC_CSCD_FIXED   0x01
 
#define EC_CSCD_PAD   0x04
 
#define EC_CSCD_EXT   0xff
 
#define EC_NUL   0x20
 
#define EC_LUIDT_MASK   0xc0
 
#define EC_LUIDT_LUN   0x00
 
#define EC_LUIDT_PROXY_TOKEN   0x40
 
#define EC_CSCD_ID   0xe4
 
#define EC_SEG_DC   0x02
 
#define EC_SEG_CAT   0x01
 
#define EC_SEG_B2B   0x02
 
#define EC_SEG_VERIFY   0x07
 
#define EC_SEG_REGISTER_KEY   0x14
 
#define EC_PRIORITY   0x07
 
#define EC_LIST_ID_USAGE_MASK   0x18
 
#define EC_LIST_ID_USAGE_FULL   0x08
 
#define EC_LIST_ID_USAGE_NOHOLD   0x10
 
#define EC_LIST_ID_USAGE_NONE   0x18
 
#define EC_STR   0x20
 
#define EC_LIST_FORMAT   0x01
 
#define EC_IMMED   0x01
 
#define EC_G_SENSE   0x02
 
#define EC_COA   0x1c
 
#define EC_PT   0x10
 
#define EC_PT_IMMED   0x01
 
#define EC_PT_RTV   0x02
 
#define EC_WUT   0x11
 
#define EC_WUT_IMMED   0x01
 
#define EC_WUT_DEL_TKN   0x02
 
#define RCS_RRTI   0x07
 
#define ROD_TYPE_INTERNAL   0x00000000
 
#define ROD_TYPE_AUR   0x00010000
 
#define ROD_TYPE_PIT_DEF   0x00800000
 
#define ROD_TYPE_PIT_VULN   0x00800001
 
#define ROD_TYPE_PIT_PERS   0x00800002
 
#define ROD_TYPE_PIT_ANY   0x0080FFFF
 
#define ROD_TYPE_BLOCK_ZERO   0xFFFF0001
 
#define RCS_RART   0x08
 
#define AP_EXTEND   0x01
 
#define AP_FLAG_TLEN_NO_DATA   (0 << 0)
 
#define AP_FLAG_TLEN_FEAT   (1 << 0)
 
#define AP_FLAG_TLEN_SECT_CNT   (2 << 0)
 
#define AP_FLAG_TLEN_STPSIU   (3 << 0)
 
#define AP_FLAG_BYT_BLOK_BYTES   (0 << 2)
 
#define AP_FLAG_BYT_BLOK_BLOCKS   (1 << 2)
 
#define AP_FLAG_TDIR_TO_DEV   (0 << 3)
 
#define AP_FLAG_TDIR_FROM_DEV   (1 << 3)
 
#define AP_FLAG_CHK_COND   (1 << 5)
 
#define ATA_PASS_32_SA   0x1ff0
 
#define SC_SCSI_1   0x01
 
#define SC_SCSI_2   0x03
 
#define TEST_UNIT_READY   0x00
 
#define REQUEST_SENSE   0x03
 
#define READ_6   0x08
 
#define WRITE_6   0x0A
 
#define INQUIRY   0x12
 
#define MODE_SELECT_6   0x15
 
#define MODE_SENSE_6   0x1A
 
#define START_STOP_UNIT   0x1B
 
#define START_STOP   0x1B
 
#define RESERVE   0x16
 
#define RELEASE   0x17
 
#define RECEIVE_DIAGNOSTIC   0x1C
 
#define SEND_DIAGNOSTIC   0x1D
 
#define PREVENT_ALLOW   0x1E
 
#define READ_CAPACITY   0x25
 
#define READ_10   0x28
 
#define WRITE_10   0x2A
 
#define POSITION_TO_ELEMENT   0x2B
 
#define WRITE_VERIFY_10   0x2E
 
#define VERIFY_10   0x2F
 
#define SYNCHRONIZE_CACHE   0x35
 
#define READ_DEFECT_DATA_10   0x37
 
#define WRITE_BUFFER   0x3B
 
#define READ_BUFFER   0x3C
 
#define CHANGE_DEFINITION   0x40
 
#define WRITE_SAME_10   0x41
 
#define UNMAP   0x42
 
#define LOG_SELECT   0x4C
 
#define LOG_SENSE   0x4D
 
#define MODE_SELECT_10   0x55
 
#define RESERVE_10   0x56
 
#define RELEASE_10   0x57
 
#define MODE_SENSE_10   0x5A
 
#define PERSISTENT_RES_IN   0x5E
 
#define PERSISTENT_RES_OUT   0x5F
 
#define EXTENDED_CDB   0x7E
 
#define VARIABLE_LEN_CDB   0x7F
 
#define EXTENDED_COPY   0x83
 
#define RECEIVE_COPY_STATUS   0x84
 
#define ATA_PASS_16   0x85
 
#define READ_16   0x88
 
#define COMPARE_AND_WRITE   0x89
 
#define WRITE_16   0x8A
 
#define READ_ATTRIBUTE   0x8C
 
#define WRITE_ATTRIBUTE   0x8D
 
#define WRITE_VERIFY_16   0x8E
 
#define VERIFY_16   0x8F
 
#define SYNCHRONIZE_CACHE_16   0x91
 
#define WRITE_SAME_16   0x93
 
#define READ_BUFFER_16   0x9B
 
#define WRITE_ATOMIC_16   0x9C
 
#define SERVICE_ACTION_IN   0x9E
 
#define REPORT_LUNS   0xA0
 
#define ATA_PASS_12   0xA1
 
#define SECURITY_PROTOCOL_IN   0xA2
 
#define MAINTENANCE_IN   0xA3
 
#define MAINTENANCE_OUT   0xA4
 
#define MOVE_MEDIUM   0xA5
 
#define READ_12   0xA8
 
#define WRITE_12   0xAA
 
#define WRITE_VERIFY_12   0xAE
 
#define VERIFY_12   0xAF
 
#define SECURITY_PROTOCOL_OUT   0xB5
 
#define READ_ELEMENT_STATUS   0xB8
 
#define READ_CD   0xBE
 
#define REPORT_IDENTIFYING_INFRMATION   0x05
 
#define REPORT_TARGET_PORT_GROUPS   0x0A
 
#define REPORT_ALIASES   0x0B
 
#define REPORT_SUPPORTED_OPERATION_CODES   0x0C
 
#define REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS   0x0D
 
#define REPORT_PRIORITY   0x0E
 
#define REPORT_TIMESTAMP   0x0F
 
#define MANAGEMENT_PROTOCOL_IN   0x10
 
#define GET_PHYSICAL_ELEMENT_STATUS   0x17
 
#define REMOVE_ELEMENT_AND_TRUNCATE   0x18
 
#define RESTORE_ELEMENTS_AND_REBUILD   0x19
 
#define SET_IDENTIFY_INFORMATION   0x06
 
#define SET_TARGET_PORT_GROUPS   0x0A
 
#define CHANGE_ALIASES   0x0B
 
#define SET_PRIORITY   0x0E
 
#define SET_TIMESTAMP   0x0F
 
#define MANAGEMENT_PROTOCOL_OUT   0x10
 
#define T_DIRECT   0x00
 
#define T_SEQUENTIAL   0x01
 
#define T_PRINTER   0x02
 
#define T_PROCESSOR   0x03
 
#define T_WORM   0x04
 
#define T_CDROM   0x05
 
#define T_SCANNER   0x06
 
#define T_OPTICAL   0x07
 
#define T_CHANGER   0x08
 
#define T_COMM   0x09
 
#define T_ASC0   0x0a
 
#define T_ASC1   0x0b
 
#define T_STORARRAY   0x0c
 
#define T_ENCLOSURE   0x0d
 
#define T_RBC   0x0e
 
#define T_OCRW   0x0f
 
#define T_OSD   0x11
 
#define T_ADC   0x12
 
#define T_ZBC_HM   0x14
 
#define T_NODEVICE   0x1f
 
#define T_ANY   0xff /* Used in Quirk table matches */
 
#define T_REMOV   1
 
#define T_FIXED   0
 
#define SHORT_INQUIRY_LENGTH   36
 
#define SID_TYPE(inq_data)   ((inq_data)->device & 0x1f)
 
#define SID_QUAL(inq_data)   (((inq_data)->device & 0xE0) >> 5)
 
#define SID_QUAL_LU_CONNECTED
 
#define SID_QUAL_LU_OFFLINE
 
#define SID_QUAL_RSVD   0x02
 
#define SID_QUAL_BAD_LU
 
#define SID_QUAL_IS_VENDOR_UNIQUE(inq_data)   ((SID_QUAL(inq_data) & 0x04) != 0)
 
#define SID_QUAL2   0x7F
 
#define SID_LU_CONG   0x40
 
#define SID_RMB   0x80
 
#define SID_IS_REMOVABLE(inq_data)   (((inq_data)->dev_qual2 & SID_RMB) != 0)
 
#define SID_ANSI_REV(inq_data)   ((inq_data)->version & 0x07)
 
#define SCSI_REV_0   0
 
#define SCSI_REV_CCS   1
 
#define SCSI_REV_2   2
 
#define SCSI_REV_SPC   3
 
#define SCSI_REV_SPC2   4
 
#define SCSI_REV_SPC3   5
 
#define SCSI_REV_SPC4   6
 
#define SCSI_REV_SPC5   7
 
#define SID_ECMA   0x38
 
#define SID_ISO   0xC0
 
#define SID_AENC   0x80
 
#define SID_TrmIOP   0x40
 
#define SID_NormACA   0x20
 
#define SID_HiSup   0x10
 
#define SID_ADDITIONAL_LENGTH(iqd)
 
#define SPC3_SID_PROTECT   0x01
 
#define SPC3_SID_3PC   0x08
 
#define SPC3_SID_TPGS_MASK   0x30
 
#define SPC3_SID_TPGS_IMPLICIT   0x10
 
#define SPC3_SID_TPGS_EXPLICIT   0x20
 
#define SPC3_SID_ACC   0x40
 
#define SPC3_SID_SCCS   0x80
 
#define SPC2_SID_ADDR16   0x01
 
#define SPC2_SID_MChngr   0x08
 
#define SPC2_SID_MultiP   0x10
 
#define SPC2_SID_EncServ   0x40
 
#define SPC2_SID_BQueue   0x80
 
#define INQ_DATA_TQ_ENABLED(iqd)
 
#define SID_SftRe   0x01
 
#define SID_CmdQue   0x02
 
#define SID_Linked   0x08
 
#define SID_Sync   0x10
 
#define SID_WBus16   0x20
 
#define SID_WBus32   0x40
 
#define SID_RelAdr   0x80
 
#define SID_VENDOR_SIZE   8
 
#define SID_PRODUCT_SIZE   16
 
#define SID_REVISION_SIZE   4
 
#define SID_VENDOR_SPECIFIC_0_SIZE   20
 
#define SID_SPI_IUS   0x01
 
#define SID_SPI_QAS   0x02
 
#define SID_SPI_CLOCK_ST   0x00
 
#define SID_SPI_CLOCK_DT   0x04
 
#define SID_SPI_CLOCK_DT_ST   0x0C
 
#define SID_SPI_MASK   0x0F
 
#define SID_VENDOR_SPECIFIC_1_SIZE   160
 
#define SVPD_SUPPORTED_PAGE_LIST   0x00
 
#define SVPD_SUPPORTED_PAGES_HDR_LEN   4
 
#define SVPD_SUPPORTED_PAGES_SIZE   251
 
#define SVPD_SUPPORTED_PAGES   0x00
 
#define SVPD_UNIT_SERIAL_NUMBER   0x80
 
#define SVPD_SERIAL_NUM_SIZE   251
 
#define SVPD_DEVICE_ID   0x83
 
#define SVPD_DEVICE_ID_MAX_SIZE   252
 
#define SVPD_DEVICE_ID_HDR_LEN    __offsetof(struct scsi_vpd_device_id, desc_list)
 
#define SVPD_ID_PROTO_SHIFT   4
 
#define SVPD_ID_CODESET_BINARY   0x01
 
#define SVPD_ID_CODESET_ASCII   0x02
 
#define SVPD_ID_CODESET_UTF8   0x03
 
#define SVPD_ID_CODESET_MASK   0x0f
 
#define SVPD_ID_PIV   0x80
 
#define SVPD_ID_ASSOC_LUN   0x00
 
#define SVPD_ID_ASSOC_PORT   0x10
 
#define SVPD_ID_ASSOC_TARGET   0x20
 
#define SVPD_ID_ASSOC_MASK   0x30
 
#define SVPD_ID_TYPE_VENDOR   0x00
 
#define SVPD_ID_TYPE_T10   0x01
 
#define SVPD_ID_TYPE_EUI64   0x02
 
#define SVPD_ID_TYPE_NAA   0x03
 
#define SVPD_ID_TYPE_RELTARG   0x04
 
#define SVPD_ID_TYPE_TPORTGRP   0x05
 
#define SVPD_ID_TYPE_LUNGRP   0x06
 
#define SVPD_ID_TYPE_MD5_LUN_ID   0x07
 
#define SVPD_ID_TYPE_SCSI_NAME   0x08
 
#define SVPD_ID_TYPE_PROTO   0x09
 
#define SVPD_ID_TYPE_UUID   0x0a
 
#define SVPD_ID_TYPE_MASK   0x0f
 
#define SVPD_DEVICE_ID_DESC_HDR_LEN    __offsetof(struct scsi_vpd_id_descriptor, identifier)
 
#define SVPD_ID_NAA_NAA_SHIFT   4
 
#define SVPD_ID_NAA_IEEE_EXT   0x02
 
#define SVPD_ID_NAA_LOCAL_REG   0x03
 
#define SVPD_ID_NAA_IEEE_REG   0x05
 
#define SVPD_ID_NAA_IEEE_REG_EXT   0x06
 
#define SVPD_EXTENDED_INQUIRY_DATA   0x86
 
#define SVPD_EID_AM_MASK   0xC0
 
#define SVPD_EID_AM_DEFER   0x80
 
#define SVPD_EID_AM_IMMED   0x40
 
#define SVPD_EID_AM_UNDEFINED   0x00
 
#define SVPD_EID_AM_RESERVED   0xc0
 
#define SVPD_EID_SPT   0x38
 
#define SVPD_EID_SPT_1   0x00
 
#define SVPD_EID_SPT_12   0x08
 
#define SVPD_EID_SPT_2   0x10
 
#define SVPD_EID_SPT_13   0x18
 
#define SVPD_EID_SPT_3   0x20
 
#define SVPD_EID_SPT_23   0x28
 
#define SVPD_EID_SPT_123   0x38
 
#define SVPD_EID_SA_SPT_LBP   0x08
 
#define SVPD_EID_GRD_CHK   0x04
 
#define SVPD_EID_APP_CHK   0x02
 
#define SVPD_EID_REF_CHK   0x01
 
#define SVPD_EID_UASK_SUP   0x20
 
#define SVPD_EID_GROUP_SUP   0x10
 
#define SVPD_EID_PRIOR_SUP   0x08
 
#define SVPD_EID_HEADSUP   0x04
 
#define SVPD_EID_ORDSUP   0x02
 
#define SVPD_EID_SIMPSUP   0x01
 
#define SVPD_EID_WU_SUP   0x08
 
#define SVPD_EID_CRD_SUP   0x04
 
#define SVPD_EID_NV_SUP   0x02
 
#define SVPD_EID_V_SUP   0x01
 
#define SVPD_EID_NO_PI_CHK   0x20
 
#define SVPD_EID_P_I_I_SUP   0x10
 
#define SVPD_EID_LUICLR   0x01
 
#define SVPD_EID_LUCT_MASK   0xe0
 
#define SVPD_EID_LUCT_NOT_REP   0x00
 
#define SVPD_EID_LUCT_CONGL   0x20
 
#define SVPD_EID_LUCT_GROUP   0x40
 
#define SVPD_EID_R_SUP   0x10
 
#define SVPD_EID_RTD_SUP   0x08
 
#define SVPD_EID_HSSRELEF   0x02
 
#define SVPD_EID_CBCS   0x01
 
#define SVPD_EID_MULTI_I_T_FW   0x0F
 
#define SVPD_EID_MC_VENDOR_SPEC   0x00
 
#define SVPD_EID_MC_MODE_1   0x01
 
#define SVPD_EID_MC_MODE_2   0x02
 
#define SVPD_EID_MC_MODE_3   0x03
 
#define SVPD_EID_POA_SUP   0x80
 
#define SVPD_EID_HRA_SUP   0x40
 
#define SVPD_EID_VSA_SUP   0x20
 
#define SVPD_EID_IBS   0x80
 
#define SVPD_EID_IAS   0x40
 
#define SVPD_EID_SAC   0x04
 
#define SVPD_EID_NRD1   0x02
 
#define SVPD_EID_NRD0   0x01
 
#define SVPD_MPP_SHARED   0x00
 
#define SVPD_MPP_PORT   0x01
 
#define SVPD_MPP_I_T   0x03
 
#define SVPD_MPP_MLUS   0x80
 
#define SVPD_MODE_PAGE_POLICY   0x87
 
#define SVPD_SCSI_PORTS   0x88
 
#define SVPD_ATA_INFORMATION   0x89
 
#define SVPD_TPC_BDRL   0x0000
 
#define SVPD_TPC_SC   0x0001
 
#define SVPD_TPC_PD   0x0004
 
#define SVPD_TPC_SD   0x0008
 
#define SVPD_TPC_SDID   0x000C
 
#define SVPD_TPC_RTF_BLOCK   0x00
 
#define SVPD_TPC_RTF   0x0106
 
#define SVPD_TPC_SRTD_TOUT   0x01
 
#define SVPD_TPC_SRTD_TIN   0x02
 
#define SVPD_TPC_SRTD_ECPY   0x80
 
#define SVPD_TPC_SRT   0x0108
 
#define SVPD_TPC_GCO   0x8001
 
#define SVPD_SCSI_TPC   0x8F
 
#define SVPD_SCSI_SFS   0x92
 
#define SVPD_BDC   0xB1
 
#define SVPD_NOT_REPORTED   0x0000
 
#define SVPD_NON_ROTATING   0x0001
 
#define SVPD_VBULS   0x01
 
#define SVPD_FUAB   0x02
 
#define SVPD_BOCS   0x04
 
#define SVPD_RBWZ   0x08
 
#define SVPD_ZBC_NR   0x00 /* Not Reported */
 
#define SVPD_HAW_ZBC   0x10 /* Host Aware */
 
#define SVPD_DM_ZBC   0x20 /* Drive Managed */
 
#define SVPD_ZBC_MASK   0x30 /* Zoned mask */
 
#define SBDC_IS_PRESENT(bdc, length, field)
 
#define SVPD_LBP   0xB2
 
#define SVPD_LBP_PL_BASIC   0x04
 
#define SVPD_LBP_UNMAP   0x80
 
#define SVPD_LBP_WS16   0x40
 
#define SVPD_LBP_WS10   0x20
 
#define SVPD_LBP_RZ   0x04
 
#define SVPD_LBP_ANC_SUP   0x02
 
#define SVPD_LBP_DP   0x01
 
#define SVPD_LBP_RESOURCE   0x01
 
#define SVPD_LBP_THIN   0x02
 
#define SVPD_BLOCK_LIMITS   0xB0
 
#define SVPD_BL_PL_BASIC   0x10
 
#define SVPD_BL_PL_TP   0x3C
 
#define SVPD_BL_WSNZ   0x01
 
#define SVPD_ZONED_BDC   0xB6
 
#define SVPD_ZBDC_PL   0x3C
 
#define SVPD_ZBDC_URSWRZ   0x01
 
#define SVPD_ZBDC_OPT_SEQ_NR   0xffffffff
 
#define SVPD_ZBDC_OPT_NONSEQ_NR   0xffffffff
 
#define SVPD_ZBDC_MAX_SEQ_UNLIMITED   0xffffffff
 
#define SRC_RELADR   0x01
 
#define SRC_PMI   0x01
 
#define SRC16_SERVICE_ACTION   0x10
 
#define SRC16_PMI   0x01
 
#define SRC16_RELADR   0x02
 
#define SRC16_PROT_EN   0x01
 
#define SRC16_P_TYPE   0x0e
 
#define SRC16_P_TYPE_SHIFT   1
 
#define SRC16_PTYPE_1   0x00
 
#define SRC16_PTYPE_2   0x02
 
#define SRC16_PTYPE_3   0x04
 
#define SRC16_LBPPBE   0x0f
 
#define SRC16_PI_EXPONENT   0xf0
 
#define SRC16_PI_EXPONENT_SHIFT   4
 
#define SRC16_LALBA   0x3f
 
#define SRC16_LBPRZ   0x40
 
#define SRC16_LBPME   0x80
 
#define SRC16_LALBA_A   0x3fff
 
#define SRC16_LBPRZ_A   0x4000
 
#define SRC16_LBPME_A   0x8000
 
#define SGLS_SERVICE_ACTION   0x12
 
#define RPL_REPORT_DEFAULT   0x00
 
#define RPL_REPORT_WELLKNOWN   0x01
 
#define RPL_REPORT_ALL   0x02
 
#define RPL_REPORT_ADMIN   0x10
 
#define RPL_REPORT_NONSUBSID   0x11
 
#define RPL_REPORT_CONGLOM   0x12
 
#define RPL_LUNDATA_PERIPH_BUS_MASK   0x3f
 
#define RPL_LUNDATA_FLAT_LUN_MASK   0x3f
 
#define RPL_LUNDATA_FLAT_LUN_BITS   0x06
 
#define RPL_LUNDATA_LUN_TARG_MASK   0x3f
 
#define RPL_LUNDATA_LUN_BUS_MASK   0xe0
 
#define RPL_LUNDATA_LUN_LUN_MASK   0x1f
 
#define RPL_LUNDATA_EXT_LEN_MASK   0x30
 
#define RPL_LUNDATA_EXT_EAM_MASK   0x0f
 
#define RPL_LUNDATA_EXT_EAM_WK   0x01
 
#define RPL_LUNDATA_EXT_EAM_NOT_SPEC   0x0f
 
#define RPL_LUNDATA_ATYP_MASK   0xc0 /* MBZ for type 0 lun */
 
#define RPL_LUNDATA_ATYP_PERIPH   0x00
 
#define RPL_LUNDATA_ATYP_FLAT   0x40
 
#define RPL_LUNDATA_ATYP_LUN   0x80
 
#define RPL_LUNDATA_ATYP_EXTLUN   0xc0
 
#define SCSI_GPES_FILTER_ALL   0x00
 
#define SCSI_GPES_FILTER_EXEPTION   0x40
 
#define SCSI_GPES_REPORT_TYPE_PHYS   0x00
 
#define SCSI_GEPS_REPORT_TYPE_STORAGE   0x01
 
#define GPED_TYPE_STORAGE   0x1
 
#define STG_PDF_MASK   0xe0
 
#define STG_PDF_LENGTH   0x00
 
#define STG_PDF_EXTENDED   0x20
 
#define TPG_PRIMARY   0x80
 
#define TPG_ASYMMETRIC_ACCESS_STATE_MASK   0xf
 
#define TPG_ASYMMETRIC_ACCESS_OPTIMIZED   0x0
 
#define TPG_ASYMMETRIC_ACCESS_NONOPTIMIZED   0x1
 
#define TPG_ASYMMETRIC_ACCESS_STANDBY   0x2
 
#define TPG_ASYMMETRIC_ACCESS_UNAVAILABLE   0x3
 
#define TPG_ASYMMETRIC_ACCESS_LBA_DEPENDENT   0x4
 
#define TPG_ASYMMETRIC_ACCESS_OFFLINE   0xE
 
#define TPG_ASYMMETRIC_ACCESS_TRANSITIONING   0xF
 
#define TPG_AO_SUP   0x01
 
#define TPG_AN_SUP   0x02
 
#define TPG_S_SUP   0x04
 
#define TPG_U_SUP   0x08
 
#define TPG_LBD_SUP   0x10
 
#define TPG_O_SUP   0x40
 
#define TPG_T_SUP   0x80
 
#define TPG_UNAVLBL   0
 
#define TPG_SET_BY_STPG   0x01
 
#define TPG_IMPLICIT   0x02
 
#define SPI_PROT_INFORMATION   0x00
 
#define SPI_PROT_CBCS   0x07
 
#define SPI_PROT_TAPE_DATA_ENC   0x20
 
#define SPI_PROT_DATA_ENC_CONFIG   0x21
 
#define SPI_PROT_SA_CREATE_CAP   0x40
 
#define SPI_PROT_IKEV2_SCSI   0x41
 
#define SPI_PROT_JEDEC_UFS   0xEC
 
#define SPI_PROT_SDCARD_TFSSS   0xED
 
#define SPI_PROT_AUTH_HOST_TRANSIENT   0xEE
 
#define SPI_PROT_ATA_DEVICE_PASSWORD   0xEF
 
#define SPI_INC_512   0x80
 
#define SPO_INC_512   0x80
 
#define SSD_FULL_SIZE   252
 
#define SSD_MIN_SIZE   18
 
#define SSD_EXTRA_MAX   244
 
#define SSD_ERRCODE   0x7F
 
#define SSD_CURRENT_ERROR   0x70
 
#define SSD_DEFERRED_ERROR   0x71
 
#define SSD_ERRCODE_VALID   0x80
 
#define SSD_KEY   0x0F
 
#define SSD_KEY_NO_SENSE   0x00
 
#define SSD_KEY_RECOVERED_ERROR   0x01
 
#define SSD_KEY_NOT_READY   0x02
 
#define SSD_KEY_MEDIUM_ERROR   0x03
 
#define SSD_KEY_HARDWARE_ERROR   0x04
 
#define SSD_KEY_ILLEGAL_REQUEST   0x05
 
#define SSD_KEY_UNIT_ATTENTION   0x06
 
#define SSD_KEY_DATA_PROTECT   0x07
 
#define SSD_KEY_BLANK_CHECK   0x08
 
#define SSD_KEY_Vendor_Specific   0x09
 
#define SSD_KEY_COPY_ABORTED   0x0a
 
#define SSD_KEY_ABORTED_COMMAND   0x0b
 
#define SSD_KEY_EQUAL   0x0c
 
#define SSD_KEY_VOLUME_OVERFLOW   0x0d
 
#define SSD_KEY_MISCOMPARE   0x0e
 
#define SSD_KEY_COMPLETED   0x0f
 
#define SSD_SDAT_OVFL   0x10
 
#define SSD_ILI   0x20
 
#define SSD_EOM   0x40
 
#define SSD_FILEMARK   0x80
 
#define SSD_SCS_VALID   0x80
 
#define SSD_FIELDPTR_CMD   0x40
 
#define SSD_BITPTR_VALID   0x08
 
#define SSD_BITPTR_VALUE   0x07
 
#define SSD_FIXED_IS_PRESENT(sense, length, field)
 
#define SSD_FIXED_IS_FILLED(sense, field)
 
#define SSD_DESC_CURRENT_ERROR   0x72
 
#define SSD_DESC_DEFERRED_ERROR   0x73
 
#define SSDD_SDAT_OVFL   0x80
 
#define SSD_DESC_IS_PRESENT(sense, length, field)
 
#define SSD_DESC_INFO   0x00
 
#define SSD_INFO_VALID   0x80
 
#define SSD_DESC_COMMAND   0x01
 
#define SSD_DESC_SKS   0x02
 
#define SSD_SKS_VALID   0x80
 
#define SSD_SKS_FIELD_VALID   0x80
 
#define SSD_SKS_FIELD_CMD   0x40
 
#define SSD_SKS_BPV   0x08
 
#define SSD_SKS_BIT_VALUE   0x07
 
#define SSD_SKS_RETRY_VALID   0x80
 
#define SSD_SKS_PROGRESS_VALID   0x80
 
#define SSD_SKS_PROGRESS_DENOM   0x10000
 
#define SSD_SKS_SEGMENT_VALID   0x80
 
#define SSD_SKS_SEGMENT_SD   0x20
 
#define SSD_SKS_SEGMENT_BPV   0x08
 
#define SSD_SKS_SEGMENT_BITPTR   0x07
 
#define SSD_SKS_OVERFLOW_VALID   0x80
 
#define SSD_SKS_OVERFLOW_SET   0x01
 
#define SSD_DESC_FRU   0x03
 
#define SSD_DESC_STREAM   0x04
 
#define SSD_DESC_STREAM_FM   0x80
 
#define SSD_DESC_STREAM_EOM   0x40
 
#define SSD_DESC_STREAM_ILI   0x20
 
#define SSD_DESC_BLOCK   0x05
 
#define SSD_DESC_BLOCK_ILI   0x20
 
#define SSD_DESC_OSD_OBJID   0x06
 
#define SSD_DESC_OSD_INTEGRITY   0x07
 
#define SSD_DESC_OSD_ATTR_ID   0x08
 
#define SSD_DESC_ATA   0x09
 
#define SSD_DESC_ATA_FLAG_EXTEND   0x01
 
#define SSD_DESC_PROGRESS   0x0a
 
#define SSD_DESC_FORWARDED   0x0c
 
#define SSD_FORWARDED_FSDT   0x80
 
#define SSD_FORWARDED_SDS_MASK   0x0f
 
#define SSD_FORWARDED_SDS_UNK   0x00
 
#define SSD_FORWARDED_SDS_EXSRC   0x01
 
#define SSD_FORWARDED_SDS_EXDST   0x02
 
#define SSD_DESC_VENDOR_MIN   0x80
 
#define SSD_DESC_VENDOR_MAX   0xff
 
#define SMH_LONGLBA   0x01
 
#define SMPH_PS   0x80
 
#define SMPH_SPF   0x40
 
#define SMPH_PC_MASK   0x3f
 
#define SCSI_DEFAULT_DENSITY   0x00 /* use 'default' density */
 
#define SCSI_SAME_DENSITY   0x7f /* use 'same' density- >= SCSI-2 only */
 
#define SCSI_STATUS_OK   0x00
 
#define SCSI_STATUS_CHECK_COND   0x02
 
#define SCSI_STATUS_COND_MET   0x04
 
#define SCSI_STATUS_BUSY   0x08
 
#define SCSI_STATUS_INTERMED   0x10
 
#define SCSI_STATUS_INTERMED_COND_MET   0x14
 
#define SCSI_STATUS_RESERV_CONFLICT   0x18
 
#define SCSI_STATUS_CMD_TERMINATED   0x22 /* Obsolete in SAM-2 */
 
#define SCSI_STATUS_QUEUE_FULL   0x28
 
#define SCSI_STATUS_ACA_ACTIVE   0x30
 
#define SCSI_STATUS_TASK_ABORTED   0x40
 
#define SIP_MEDIA_REMOVABLE   0x01
 
#define SIP_MEDIA_FIXED   0x02
 
#define SCSI_RW_READ   0x0001
 
#define SCSI_RW_WRITE   0x0002
 
#define SCSI_RW_DIRMASK   0x0003
 
#define SCSI_RW_BIO   0x1000
 

Typedefs

typedef int(* scsi_devid_checkfn_t) (uint8_t *)
 

Enumerations

enum  scsi_sense_action {
  SS_NOP = 0x000000 , SS_RETRY = 0x010000 , SS_FAIL = 0x020000 , SS_START = 0x030000 ,
  SS_TUR = 0x040000 , SS_MASK = 0xff0000
}
 
enum  scsi_sense_action_qualifier {
  SSQ_NONE = 0x0000 , SSQ_DECREMENT_COUNT = 0x0100 , SSQ_MANY = 0x0200 , SSQ_RANGE = 0x0400 ,
  SSQ_PRINT_SENSE = 0x0800 , SSQ_UA = 0x1000 , SSQ_RESCAN = 0x2000 , SSQ_LOST = 0x4000 ,
  SSQ_MASK = 0xff00
}
 
enum  scsi_attrib_flags {
  SCSI_ATTR_FLAG_NONE = 0x00 , SCSI_ATTR_FLAG_HEX = 0x01 , SCSI_ATTR_FLAG_FP = 0x02 , SCSI_ATTR_FLAG_DIV_10 = 0x04 ,
  SCSI_ATTR_FLAG_FP_1DIGIT = 0x08
}
 
enum  scsi_attrib_output_flags {
  SCSI_ATTR_OUTPUT_NONE = 0x00 , SCSI_ATTR_OUTPUT_TEXT_MASK = 0x03 , SCSI_ATTR_OUTPUT_TEXT_RAW = 0x00 , SCSI_ATTR_OUTPUT_TEXT_ESC = 0x01 ,
  SCSI_ATTR_OUTPUT_TEXT_RSV1 = 0x02 , SCSI_ATTR_OUTPUT_TEXT_RSV2 = 0x03 , SCSI_ATTR_OUTPUT_NONASCII_MASK = 0x0c , SCSI_ATTR_OUTPUT_NONASCII_TRIM = 0x00 ,
  SCSI_ATTR_OUTPUT_NONASCII_ESC = 0x04 , SCSI_ATTR_OUTPUT_NONASCII_RAW = 0x08 , SCSI_ATTR_OUTPUT_NONASCII_RSV1 = 0x0c , SCSI_ATTR_OUTPUT_FIELD_MASK = 0xf0 ,
  SCSI_ATTR_OUTPUT_FIELD_ALL = 0xf0 , SCSI_ATTR_OUTPUT_FIELD_NONE = 0x00 , SCSI_ATTR_OUTPUT_FIELD_DESC = 0x10 , SCSI_ATTR_OUTPUT_FIELD_NUM = 0x20 ,
  SCSI_ATTR_OUTPUT_FIELD_SIZE = 0x40 , SCSI_ATTR_OUTPUT_FIELD_RW = 0x80
}
 
enum  scsi_sense_data_type { SSD_TYPE_NONE , SSD_TYPE_FIXED , SSD_TYPE_DESC }
 
enum  scsi_sense_elem_type {
  SSD_ELEM_NONE , SSD_ELEM_SKIP , SSD_ELEM_DESC , SSD_ELEM_SKS ,
  SSD_ELEM_COMMAND , SSD_ELEM_INFO , SSD_ELEM_FRU , SSD_ELEM_STREAM ,
  SSD_ELEM_MAX
}
 
enum  scsi_sense_string_flags { SSS_FLAG_NONE = 0x00 , SSS_FLAG_PRINT_COMMAND = 0x01 }
 
enum  scsi_nv_status { SCSI_NV_FOUND , SCSI_NV_AMBIGUOUS , SCSI_NV_NOT_FOUND }
 
enum  scsi_nv_flags { SCSI_NV_FLAG_NONE = 0x00 , SCSI_NV_FLAG_IG_CASE = 0x01 }
 

Functions

 _Static_assert (sizeof(struct scsi_vpd_block_device_characteristics)==64, "scsi_vpd_block_characteristics wrong size")
 
 _Static_assert (sizeof(struct scsi_get_physical_element_status)==16, "scsi_get_physical_element_status wrong size")
 
 _Static_assert (sizeof(struct scsi_get_physical_element_hdr)==32, "scsi_get_physical_element_hdr wrong size")
 
 _Static_assert (sizeof(struct scsi_get_physical_element_descriptor)==32, "scsi_get_physical_element_descriptor wrong size")
 
 _Static_assert (sizeof(struct scsi_remove_element_and_truncate)==16, "scsi_remove_element_and_truncate wrong size")
 
__BEGIN_DECLS void scsi_sense_desc (int sense_key, int asc, int ascq, struct scsi_inquiry_data *inq_data, const char **sense_key_desc, const char **asc_desc)
 
scsi_sense_action scsi_error_action (struct ccb_scsiio *csio, struct scsi_inquiry_data *inq_data, u_int32_t sense_flags)
 
const char * scsi_status_string (struct ccb_scsiio *csio)
 
void scsi_desc_iterate (struct scsi_sense_data_desc *sense, u_int sense_len, int(*iter_func)(struct scsi_sense_data_desc *sense, u_int, struct scsi_sense_desc_header *, void *), void *arg)
 
uint8_t * scsi_find_desc (struct scsi_sense_data_desc *sense, u_int sense_len, uint8_t desc_type)
 
void scsi_set_sense_data (struct scsi_sense_data *sense_data, scsi_sense_data_type sense_format, int current_error, int sense_key, int asc, int ascq,...)
 
void scsi_set_sense_data_len (struct scsi_sense_data *sense_data, u_int *sense_len, scsi_sense_data_type sense_format, int current_error, int sense_key, int asc, int ascq,...)
 
void scsi_set_sense_data_va (struct scsi_sense_data *sense_data, u_int *sense_len, scsi_sense_data_type sense_format, int current_error, int sense_key, int asc, int ascq, va_list ap)
 
int scsi_get_sense_info (struct scsi_sense_data *sense_data, u_int sense_len, uint8_t info_type, uint64_t *info, int64_t *signed_info)
 
int scsi_get_sks (struct scsi_sense_data *sense_data, u_int sense_len, uint8_t *sks)
 
int scsi_get_block_info (struct scsi_sense_data *sense_data, u_int sense_len, struct scsi_inquiry_data *inq_data, uint8_t *block_bits)
 
int scsi_get_stream_info (struct scsi_sense_data *sense_data, u_int sense_len, struct scsi_inquiry_data *inq_data, uint8_t *stream_bits)
 
void scsi_info_sbuf (struct sbuf *sb, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, uint64_t info)
 
void scsi_command_sbuf (struct sbuf *sb, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, uint64_t csi)
 
void scsi_progress_sbuf (struct sbuf *sb, uint16_t progress)
 
int scsi_sks_sbuf (struct sbuf *sb, int sense_key, uint8_t *sks)
 
void scsi_fru_sbuf (struct sbuf *sb, uint64_t fru)
 
void scsi_stream_sbuf (struct sbuf *sb, uint8_t stream_bits)
 
void scsi_block_sbuf (struct sbuf *sb, uint8_t block_bits)
 
void scsi_sense_info_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_command_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_sks_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_fru_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_stream_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_block_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_progress_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_ata_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_forwarded_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_generic_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
void scsi_sense_desc_sbuf (struct sbuf *sb, struct scsi_sense_data *sense, u_int sense_len, uint8_t *cdb, int cdb_len, struct scsi_inquiry_data *inq_data, struct scsi_sense_desc_header *header)
 
scsi_sense_data_type scsi_sense_type (struct scsi_sense_data *sense_data)
 
void scsi_sense_only_sbuf (struct scsi_sense_data *sense, u_int sense_len, struct sbuf *sb, char *path_str, struct scsi_inquiry_data *inq_data, uint8_t *cdb, int cdb_len)
 
int scsi_command_string (struct ccb_scsiio *csio, struct sbuf *sb)
 
int scsi_sense_sbuf (struct ccb_scsiio *csio, struct sbuf *sb, scsi_sense_string_flags flags)
 
char * scsi_sense_string (struct ccb_scsiio *csio, char *str, int str_len)
 
void scsi_sense_print (struct ccb_scsiio *csio)
 
int scsi_vpd_supported_page (struct cam_periph *periph, uint8_t page_id)
 
const char * scsi_op_desc (u_int16_t opcode, struct scsi_inquiry_data *inq_data)
 
char * scsi_cdb_string (u_int8_t *cdb_ptr, char *cdb_string, size_t len)
 
void scsi_cdb_sbuf (u_int8_t *cdb_ptr, struct sbuf *sb)
 
void scsi_print_inquiry (struct scsi_inquiry_data *inq_data)
 
void scsi_print_inquiry_sbuf (struct sbuf *sb, struct scsi_inquiry_data *inq_data)
 
void scsi_print_inquiry_short (struct scsi_inquiry_data *inq_data)
 
void scsi_print_inquiry_short_sbuf (struct sbuf *sb, struct scsi_inquiry_data *inq_data)
 
u_int scsi_calc_syncsrate (u_int period_factor)
 
u_int scsi_calc_syncparam (u_int period)
 
int scsi_devid_is_naa_ieee_reg (uint8_t *bufp)
 
int scsi_devid_is_sas_target (uint8_t *bufp)
 
int scsi_devid_is_lun_eui64 (uint8_t *bufp)
 
int scsi_devid_is_lun_naa (uint8_t *bufp)
 
int scsi_devid_is_lun_name (uint8_t *bufp)
 
int scsi_devid_is_lun_t10 (uint8_t *bufp)
 
int scsi_devid_is_lun_md5 (uint8_t *bufp)
 
int scsi_devid_is_lun_uuid (uint8_t *bufp)
 
int scsi_devid_is_port_naa (uint8_t *bufp)
 
struct scsi_vpd_id_descriptorscsi_get_devid (struct scsi_vpd_device_id *id, uint32_t len, scsi_devid_checkfn_t ck_fn)
 
struct scsi_vpd_id_descriptorscsi_get_devid_desc (struct scsi_vpd_id_descriptor *desc, uint32_t len, scsi_devid_checkfn_t ck_fn)
 
int scsi_transportid_sbuf (struct sbuf *sb, struct scsi_transportid_header *hdr, uint32_t valid_len)
 
const char * scsi_nv_to_str (struct scsi_nv *table, int num_table_entries, uint64_t value)
 
scsi_nv_status scsi_get_nv (struct scsi_nv *table, int num_table_entries, char *name, int *table_entry, scsi_nv_flags flags)
 
int scsi_parse_transportid_64bit (int proto_id, char *id_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_parse_transportid_spi (char *id_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_parse_transportid_rdma (char *id_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_parse_transportid_iscsi (char *id_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_parse_transportid_sop (char *id_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_parse_transportid (char *transportid_str, struct scsi_transportid_header **hdr, unsigned int *alloc_len, struct malloc_type *type, int flags, char *error_str, int error_str_len)
 
int scsi_attrib_volcoh_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
int scsi_attrib_vendser_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
int scsi_attrib_hexdump_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
int scsi_attrib_int_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
int scsi_attrib_ascii_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
int scsi_attrib_text_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, uint32_t flags, uint32_t output_flags, char *error_str, int error_str_len)
 
struct scsi_attrib_table_entryscsi_find_attrib_entry (struct scsi_attrib_table_entry *table, size_t num_table_entries, uint32_t id)
 
struct scsi_attrib_table_entryscsi_get_attrib_entry (uint32_t id)
 
int scsi_attrib_value_sbuf (struct sbuf *sb, uint32_t valid_len, struct scsi_mam_attribute_header *hdr, uint32_t output_flags, char *error_str, size_t error_str_len)
 
void scsi_attrib_prefix_sbuf (struct sbuf *sb, uint32_t output_flags, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, const char *desc)
 
int scsi_attrib_sbuf (struct sbuf *sb, struct scsi_mam_attribute_header *hdr, uint32_t valid_len, struct scsi_attrib_table_entry *user_table, size_t num_user_entries, int prefer_user_table, uint32_t output_flags, char *error_str, int error_str_len)
 
void scsi_test_unit_ready (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_request_sense (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), void *data_ptr, u_int8_t dxfer_len, u_int8_t tag_action, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_inquiry (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t *inq_buf, u_int32_t inq_len, int evpd, u_int8_t page_code, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_mode_sense (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int dbd, uint8_t pc, uint8_t page, uint8_t *param_buf, uint32_t param_len, uint8_t sense_len, uint32_t timeout)
 
void scsi_mode_sense_len (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int dbd, uint8_t pc, uint8_t page, uint8_t *param_buf, uint32_t param_len, int minimum_cmd_size, uint8_t sense_len, uint32_t timeout)
 
void scsi_mode_sense_subpage (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int dbd, uint8_t pc, uint8_t page, uint8_t subpage, uint8_t *param_buf, uint32_t param_len, int minimum_cmd_size, uint8_t sense_len, uint32_t timeout)
 
void scsi_mode_select (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int scsi_page_fmt, int save_pages, u_int8_t *param_buf, u_int32_t param_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_mode_select_len (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int scsi_page_fmt, int save_pages, u_int8_t *param_buf, u_int32_t param_len, int minimum_cmd_size, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_log_sense (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t page_code, u_int8_t page, int save_pages, int ppc, u_int32_t paramptr, u_int8_t *param_buf, u_int32_t param_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_log_select (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t page_code, int save_pages, int pc_reset, u_int8_t *param_buf, u_int32_t param_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_prevent (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t action, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_read_capacity (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, struct scsi_read_capacity_data *, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_read_capacity_16 (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint64_t lba, int reladr, int pmi, uint8_t *rcap_buf, int rcap_buf_len, uint8_t sense_len, uint32_t timeout)
 
void scsi_report_luns (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t select_report, struct scsi_report_luns_data *rpl_buf, u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_report_target_group (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t pdf, void *buf, u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_report_timestamp (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t pdf, void *buf, u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_set_target_group (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, void *buf, u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_create_timestamp (uint8_t *timestamp_6b_buf, uint64_t timestamp)
 
void scsi_set_timestamp (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, void *buf, u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_synchronize_cache (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int32_t begin_lba, u_int16_t lb_count, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_receive_diagnostic_results (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int pcv, uint8_t page_code, uint8_t *data_ptr, uint16_t allocation_length, uint8_t sense_len, uint32_t timeout)
 
void scsi_send_diagnostic (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int unit_offline, int device_offline, int self_test, int page_format, int self_test_code, uint8_t *data_ptr, uint16_t param_list_length, uint8_t sense_len, uint32_t timeout)
 
void scsi_get_physical_element_status (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t *data_ptr, uint16_t allocation_length, uint8_t report_type, uint32_t starting_element, uint8_t sense_len, uint32_t timeout)
 
void scsi_remove_element_and_truncate (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint64_t requested_capacity, uint32_t element_id, uint8_t sense_len, uint32_t timeout)
 
void scsi_restore_elements_and_rebuild (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t sense_len, uint32_t timeout)
 
void scsi_read_buffer (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int mode, uint8_t buffer_id, u_int32_t offset, uint8_t *data_ptr, uint32_t allocation_length, uint8_t sense_len, uint32_t timeout)
 
void scsi_write_buffer (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int mode, uint8_t buffer_id, u_int32_t offset, uint8_t *data_ptr, uint32_t param_list_length, uint8_t sense_len, uint32_t timeout)
 
void scsi_read_write (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int readop, u_int8_t byte2, int minimum_cmd_size, u_int64_t lba, u_int32_t block_count, u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_write_same (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t byte2, int minimum_cmd_size, u_int64_t lba, u_int32_t block_count, u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_ata_identify (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_ata_trim (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int16_t block_count, u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
int scsi_ata_read_log (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint32_t log_address, uint32_t page_number, uint16_t block_count, uint8_t protocol, uint8_t *data_ptr, uint32_t dxfer_len, uint8_t sense_len, uint32_t timeout)
 
int scsi_ata_setfeatures (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint8_t feature, uint64_t lba, uint32_t count, uint8_t sense_len, uint32_t timeout)
 
int scsi_ata_pass (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint32_t flags, uint8_t tag_action, uint8_t protocol, uint8_t ata_flags, uint16_t features, uint16_t sector_count, uint64_t lba, uint8_t command, uint8_t device, uint8_t icc, uint32_t auxiliary, uint8_t control, u_int8_t *data_ptr, uint32_t dxfer_len, uint8_t *cdb_storage, size_t cdb_storage_len, int minimum_cmd_size, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_ata_pass_16 (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int32_t flags, u_int8_t tag_action, u_int8_t protocol, u_int8_t ata_flags, u_int16_t features, u_int16_t sector_count, uint64_t lba, u_int8_t command, u_int8_t control, u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_unmap (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t byte2, u_int8_t *data_ptr, u_int16_t dxfer_len, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_start_stop (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int start, int load_eject, int immediate, u_int8_t sense_len, u_int32_t timeout)
 
void scsi_read_attribute (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, u_int8_t service_action, uint32_t element, u_int8_t elem_type, int logical_volume, int partition, u_int32_t first_attribute, int cache, u_int8_t *data_ptr, u_int32_t length, int sense_len, u_int32_t timeout)
 
void scsi_write_attribute (struct ccb_scsiio *csio, u_int32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, uint32_t element, int logical_volume, int partition, int wtc, u_int8_t *data_ptr, u_int32_t length, int sense_len, u_int32_t timeout)
 
void scsi_security_protocol_in (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint32_t security_protocol, uint32_t security_protocol_specific, int byte4, uint8_t *data_ptr, uint32_t dxfer_len, int sense_len, int timeout)
 
void scsi_security_protocol_out (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, uint32_t security_protocol, uint32_t security_protocol_specific, int byte4, uint8_t *data_ptr, uint32_t dxfer_len, int sense_len, int timeout)
 
void scsi_persistent_reserve_in (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int service_action, uint8_t *data_ptr, uint32_t dxfer_len, int sense_len, int timeout)
 
void scsi_persistent_reserve_out (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int service_action, int scope, int res_type, uint8_t *data_ptr, uint32_t dxfer_len, int sense_len, int timeout)
 
void scsi_report_supported_opcodes (struct ccb_scsiio *csio, uint32_t retries, void(*cbfcnp)(struct cam_periph *, union ccb *), uint8_t tag_action, int options, int req_opcode, int req_service_action, uint8_t *data_ptr, uint32_t dxfer_len, int sense_len, int timeout)
 
int scsi_inquiry_match (caddr_t inqbuffer, caddr_t table_entry)
 
int scsi_static_inquiry_match (caddr_t inqbuffer, caddr_t table_entry)
 
int scsi_devid_match (uint8_t *rhs, size_t rhs_len, uint8_t *lhs, size_t lhs_len)
 
void scsi_extract_sense (struct scsi_sense_data *sense, int *error_code, int *sense_key, int *asc, int *ascq)
 
int scsi_extract_sense_ccb (union ccb *ccb, int *error_code, int *sense_key, int *asc, int *ascq)
 
void scsi_extract_sense_len (struct scsi_sense_data *sense, u_int sense_len, int *error_code, int *sense_key, int *asc, int *ascq, int show_errors)
 
int scsi_get_sense_key (struct scsi_sense_data *sense, u_int sense_len, int show_errors)
 
int scsi_get_asc (struct scsi_sense_data *sense, u_int sense_len, int show_errors)
 
int scsi_get_ascq (struct scsi_sense_data *sense, u_int sense_len, int show_errors)
 
static __inline void scsi_ulto2b (u_int32_t val, u_int8_t *bytes)
 
static __inline void scsi_ulto3b (u_int32_t val, u_int8_t *bytes)
 
static __inline void scsi_ulto4b (u_int32_t val, u_int8_t *bytes)
 
static __inline void scsi_u64to8b (u_int64_t val, u_int8_t *bytes)
 
static __inline uint32_t scsi_2btoul (const uint8_t *bytes)
 
static __inline uint32_t scsi_3btoul (const uint8_t *bytes)
 
static __inline int32_t scsi_3btol (const uint8_t *bytes)
 
static __inline uint32_t scsi_4btoul (const uint8_t *bytes)
 
static __inline uint64_t scsi_8btou64 (const uint8_t *bytes)
 
static __inline void * find_mode_page_6 (struct scsi_mode_header_6 *mode_header)
 
static __inline void * find_mode_page_10 (struct scsi_mode_header_10 *mode_header)
 

Variables

int scsi_delay
 
const char * scsi_sense_key_text []
 

Macro Definition Documentation

◆ AP_BB

#define AP_BB   0x04

Definition at line 1452 of file scsi_all.h.

◆ AP_CK_COND

#define AP_CK_COND   0x20

Definition at line 1454 of file scsi_all.h.

◆ AP_EXTEND

#define AP_EXTEND   0x01

Definition at line 2028 of file scsi_all.h.

◆ AP_FLAG_BYT_BLOK_BLOCKS

#define AP_FLAG_BYT_BLOK_BLOCKS   (1 << 2)

Definition at line 2035 of file scsi_all.h.

◆ AP_FLAG_BYT_BLOK_BYTES

#define AP_FLAG_BYT_BLOK_BYTES   (0 << 2)

Definition at line 2034 of file scsi_all.h.

◆ AP_FLAG_CHK_COND

#define AP_FLAG_CHK_COND   (1 << 5)

Definition at line 2038 of file scsi_all.h.

◆ AP_FLAG_TDIR_FROM_DEV

#define AP_FLAG_TDIR_FROM_DEV   (1 << 3)

Definition at line 2037 of file scsi_all.h.

◆ AP_FLAG_TDIR_TO_DEV

#define AP_FLAG_TDIR_TO_DEV   (0 << 3)

Definition at line 2036 of file scsi_all.h.

◆ AP_FLAG_TLEN_FEAT

#define AP_FLAG_TLEN_FEAT   (1 << 0)

Definition at line 2031 of file scsi_all.h.

◆ AP_FLAG_TLEN_NO_DATA

#define AP_FLAG_TLEN_NO_DATA   (0 << 0)

Definition at line 2030 of file scsi_all.h.

◆ AP_FLAG_TLEN_SECT_CNT

#define AP_FLAG_TLEN_SECT_CNT   (2 << 0)

Definition at line 2032 of file scsi_all.h.

◆ AP_FLAG_TLEN_STPSIU

#define AP_FLAG_TLEN_STPSIU   (3 << 0)

Definition at line 2033 of file scsi_all.h.

◆ AP_MULTI

#define AP_MULTI   0xe0

Definition at line 1449 of file scsi_all.h.

◆ AP_OFFLINE

#define AP_OFFLINE   0x60

Definition at line 1455 of file scsi_all.h.

◆ AP_PROTO_DEVICE_DIAG

#define AP_PROTO_DEVICE_DIAG   (0x08 << 1)

Definition at line 1442 of file scsi_all.h.

◆ AP_PROTO_DEVICE_RESET

#define AP_PROTO_DEVICE_RESET   (0x09 << 1)

Definition at line 1443 of file scsi_all.h.

◆ AP_PROTO_DMA

#define AP_PROTO_DMA   (0x06 << 1)

Definition at line 1440 of file scsi_all.h.

◆ AP_PROTO_DMA_QUEUED

#define AP_PROTO_DMA_QUEUED   (0x07 << 1)

Definition at line 1441 of file scsi_all.h.

◆ AP_PROTO_FPDMA

#define AP_PROTO_FPDMA   (0x0c << 1)

Definition at line 1446 of file scsi_all.h.

◆ AP_PROTO_HARD_RESET

#define AP_PROTO_HARD_RESET   (0x00 << 1)

Definition at line 1435 of file scsi_all.h.

◆ AP_PROTO_MASK

#define AP_PROTO_MASK   0x1e

Definition at line 1448 of file scsi_all.h.

◆ AP_PROTO_NON_DATA

#define AP_PROTO_NON_DATA   (0x03 << 1)

Definition at line 1437 of file scsi_all.h.

◆ AP_PROTO_PIO_IN

#define AP_PROTO_PIO_IN   (0x04 << 1)

Definition at line 1438 of file scsi_all.h.

◆ AP_PROTO_PIO_OUT

#define AP_PROTO_PIO_OUT   (0x05 << 1)

Definition at line 1439 of file scsi_all.h.

◆ AP_PROTO_RESP_INFO

#define AP_PROTO_RESP_INFO   (0x0f << 1)

Definition at line 1447 of file scsi_all.h.

◆ AP_PROTO_SRST

#define AP_PROTO_SRST   (0x01 << 1)

Definition at line 1436 of file scsi_all.h.

◆ AP_PROTO_UDMA_IN

#define AP_PROTO_UDMA_IN   (0x0a << 1)

Definition at line 1444 of file scsi_all.h.

◆ AP_PROTO_UDMA_OUT

#define AP_PROTO_UDMA_OUT   (0x0b << 1)

Definition at line 1445 of file scsi_all.h.

◆ AP_T_DIR

#define AP_T_DIR   0x08

Definition at line 1453 of file scsi_all.h.

◆ AP_T_LEN

#define AP_T_LEN   0x03

Definition at line 1451 of file scsi_all.h.

◆ ATA_PASS_12

#define ATA_PASS_12   0xA1

Definition at line 2134 of file scsi_all.h.

◆ ATA_PASS_16

#define ATA_PASS_16   0x85

Definition at line 2120 of file scsi_all.h.

◆ ATA_PASS_32_SA

#define ATA_PASS_32_SA   0x1ff0

Definition at line 2060 of file scsi_all.h.

◆ CHANGE_ALIASES

#define CHANGE_ALIASES   0x0B

Definition at line 2162 of file scsi_all.h.

◆ CHANGE_DEFINITION

#define CHANGE_DEFINITION   0x40

Definition at line 2105 of file scsi_all.h.

◆ COMPARE_AND_WRITE

#define COMPARE_AND_WRITE   0x89

Definition at line 2122 of file scsi_all.h.

◆ EC_COA

#define EC_COA   0x1c

Definition at line 1915 of file scsi_all.h.

◆ EC_CSCD_EXT

#define EC_CSCD_EXT   0xff

Definition at line 1800 of file scsi_all.h.

◆ EC_CSCD_FIXED

#define EC_CSCD_FIXED   0x01

Definition at line 1792 of file scsi_all.h.

◆ EC_CSCD_ID

#define EC_CSCD_ID   0xe4

Definition at line 1814 of file scsi_all.h.

◆ EC_CSCD_PAD

#define EC_CSCD_PAD   0x04

Definition at line 1793 of file scsi_all.h.

◆ EC_EC_LID1

#define EC_EC_LID1   0x00

Definition at line 1781 of file scsi_all.h.

◆ EC_EC_LID4

#define EC_EC_LID4   0x01

Definition at line 1782 of file scsi_all.h.

◆ EC_G_SENSE

#define EC_G_SENSE   0x02

Definition at line 1900 of file scsi_all.h.

◆ EC_IMMED

#define EC_IMMED   0x01

Definition at line 1899 of file scsi_all.h.

◆ EC_LIST_FORMAT

#define EC_LIST_FORMAT   0x01

Definition at line 1894 of file scsi_all.h.

◆ EC_LIST_ID_USAGE_FULL

#define EC_LIST_ID_USAGE_FULL   0x08

Definition at line 1880 of file scsi_all.h.

◆ EC_LIST_ID_USAGE_MASK

#define EC_LIST_ID_USAGE_MASK   0x18

Definition at line 1879 of file scsi_all.h.

◆ EC_LIST_ID_USAGE_NOHOLD

#define EC_LIST_ID_USAGE_NOHOLD   0x10

Definition at line 1881 of file scsi_all.h.

◆ EC_LIST_ID_USAGE_NONE

#define EC_LIST_ID_USAGE_NONE   0x18

Definition at line 1882 of file scsi_all.h.

◆ EC_LUIDT_LUN

#define EC_LUIDT_LUN   0x00

Definition at line 1804 of file scsi_all.h.

◆ EC_LUIDT_MASK

#define EC_LUIDT_MASK   0xc0

Definition at line 1803 of file scsi_all.h.

◆ EC_LUIDT_PROXY_TOKEN

#define EC_LUIDT_PROXY_TOKEN   0x40

Definition at line 1805 of file scsi_all.h.

◆ EC_NUL

#define EC_NUL   0x20

Definition at line 1802 of file scsi_all.h.

◆ EC_PRIORITY

#define EC_PRIORITY   0x07

Definition at line 1878 of file scsi_all.h.

◆ EC_PT

#define EC_PT   0x10

Definition at line 1925 of file scsi_all.h.

◆ EC_PT_IMMED

#define EC_PT_IMMED   0x01

Definition at line 1944 of file scsi_all.h.

◆ EC_PT_RTV

#define EC_PT_RTV   0x02

Definition at line 1945 of file scsi_all.h.

◆ EC_SEG_B2B

#define EC_SEG_B2B   0x02

Definition at line 1838 of file scsi_all.h.

◆ EC_SEG_CAT

#define EC_SEG_CAT   0x01

Definition at line 1830 of file scsi_all.h.

◆ EC_SEG_DC

#define EC_SEG_DC   0x02

Definition at line 1829 of file scsi_all.h.

◆ EC_SEG_REGISTER_KEY

#define EC_SEG_REGISTER_KEY   0x14

Definition at line 1864 of file scsi_all.h.

◆ EC_SEG_VERIFY

#define EC_SEG_VERIFY   0x07

Definition at line 1852 of file scsi_all.h.

◆ EC_STR

#define EC_STR   0x20

Definition at line 1883 of file scsi_all.h.

◆ EC_WUT

#define EC_WUT   0x11

Definition at line 1958 of file scsi_all.h.

◆ EC_WUT_DEL_TKN

#define EC_WUT_DEL_TKN   0x02

Definition at line 1971 of file scsi_all.h.

◆ EC_WUT_IMMED

#define EC_WUT_IMMED   0x01

Definition at line 1970 of file scsi_all.h.

◆ EXTENDED_CDB

#define EXTENDED_CDB   0x7E

Definition at line 2116 of file scsi_all.h.

◆ EXTENDED_COPY

#define EXTENDED_COPY   0x83

Definition at line 2118 of file scsi_all.h.

◆ GET_PHYSICAL_ELEMENT_STATUS

#define GET_PHYSICAL_ELEMENT_STATUS   0x17

Definition at line 2156 of file scsi_all.h.

◆ GPED_TYPE_STORAGE

#define GPED_TYPE_STORAGE   0x1

Definition at line 3083 of file scsi_all.h.

◆ INQ_DATA_TQ_ENABLED

#define INQ_DATA_TQ_ENABLED (   iqd)
Value:
((SID_ANSI_REV(iqd) < SCSI_REV_SPC2)? ((iqd)->flags & SID_CmdQue) : \
(((iqd)->flags & SID_CmdQue) && !((iqd)->spc2_flags & SPC2_SID_BQueue)) || \
(!((iqd)->flags & SID_CmdQue) && ((iqd)->spc2_flags & SPC2_SID_BQueue)))
#define SID_CmdQue
Definition: scsi_all.h:2262
#define SPC2_SID_BQueue
Definition: scsi_all.h:2253
#define SCSI_REV_SPC2
Definition: scsi_all.h:2224
#define SID_ANSI_REV(inq_data)
Definition: scsi_all.h:2219

Definition at line 2255 of file scsi_all.h.

◆ INQUIRY

#define INQUIRY   0x12

Definition at line 2085 of file scsi_all.h.

◆ LOG_SELECT

#define LOG_SELECT   0x4C

Definition at line 2108 of file scsi_all.h.

◆ LOG_SENSE

#define LOG_SENSE   0x4D

Definition at line 2109 of file scsi_all.h.

◆ MAINTENANCE_IN

#define MAINTENANCE_IN   0xA3

Definition at line 2136 of file scsi_all.h.

◆ MAINTENANCE_OUT

#define MAINTENANCE_OUT   0xA4

Definition at line 2137 of file scsi_all.h.

◆ MANAGEMENT_PROTOCOL_IN

#define MANAGEMENT_PROTOCOL_IN   0x10

Definition at line 2155 of file scsi_all.h.

◆ MANAGEMENT_PROTOCOL_OUT

#define MANAGEMENT_PROTOCOL_OUT   0x10

Definition at line 2165 of file scsi_all.h.

◆ MODE_SELECT_10

#define MODE_SELECT_10   0x55

Definition at line 2110 of file scsi_all.h.

◆ MODE_SELECT_6

#define MODE_SELECT_6   0x15

Definition at line 2086 of file scsi_all.h.

◆ MODE_SENSE_10

#define MODE_SENSE_10   0x5A

Definition at line 2113 of file scsi_all.h.

◆ MODE_SENSE_6

#define MODE_SENSE_6   0x1A

Definition at line 2087 of file scsi_all.h.

◆ MOVE_MEDIUM

#define MOVE_MEDIUM   0xA5

Definition at line 2138 of file scsi_all.h.

◆ PERSISTENT_RES_IN

#define PERSISTENT_RES_IN   0x5E

Definition at line 2114 of file scsi_all.h.

◆ PERSISTENT_RES_OUT

#define PERSISTENT_RES_OUT   0x5F

Definition at line 2115 of file scsi_all.h.

◆ POSITION_TO_ELEMENT

#define POSITION_TO_ELEMENT   0x2B

Definition at line 2098 of file scsi_all.h.

◆ PR_ALLOW

#define PR_ALLOW   0x00

Definition at line 946 of file scsi_all.h.

◆ PR_PREVENT

#define PR_PREVENT   0x01

Definition at line 945 of file scsi_all.h.

◆ PREVENT_ALLOW

#define PREVENT_ALLOW   0x1E

Definition at line 2094 of file scsi_all.h.

◆ RCOP_SNLID

#define RCOP_SNLID   0x01

Definition at line 1757 of file scsi_all.h.

◆ RCS_CCS_ABORTED

#define RCS_CCS_ABORTED   0x60

Definition at line 1729 of file scsi_all.h.

◆ RCS_CCS_COMPLETED

#define RCS_CCS_COMPLETED   0x01

Definition at line 1670 of file scsi_all.h.

◆ RCS_CCS_COMPLETED_PROD

#define RCS_CCS_COMPLETED_PROD   0x03

Definition at line 1724 of file scsi_all.h.

◆ RCS_CCS_COMPLETED_RESID

#define RCS_CCS_COMPLETED_RESID   0x04

Definition at line 1725 of file scsi_all.h.

◆ RCS_CCS_ERROR

#define RCS_CCS_ERROR   0x02

Definition at line 1671 of file scsi_all.h.

◆ RCS_CCS_INPROG

#define RCS_CCS_INPROG   0x00

Definition at line 1669 of file scsi_all.h.

◆ RCS_CCS_INPROG_BG

#define RCS_CCS_INPROG_BG   0x12

Definition at line 1728 of file scsi_all.h.

◆ RCS_CCS_INPROG_FG

#define RCS_CCS_INPROG_FG   0x11

Definition at line 1727 of file scsi_all.h.

◆ RCS_CCS_INPROG_FGBG

#define RCS_CCS_INPROG_FGBG   0x10

Definition at line 1726 of file scsi_all.h.

◆ RCS_RART

#define RCS_RART   0x08

Definition at line 2011 of file scsi_all.h.

◆ RCS_RCFD

#define RCS_RCFD   0x04

Definition at line 1689 of file scsi_all.h.

◆ RCS_RCOP

#define RCS_RCOP   0x03

Definition at line 1746 of file scsi_all.h.

◆ RCS_RCS_LID1

#define RCS_RCS_LID1   0x00

Definition at line 1657 of file scsi_all.h.

◆ RCS_RCS_LID4

#define RCS_RCS_LID4   0x05

Definition at line 1711 of file scsi_all.h.

◆ RCS_RRTI

#define RCS_RRTI   0x07

Definition at line 1984 of file scsi_all.h.

◆ RCS_TC_BYTES

#define RCS_TC_BYTES   0x00

Definition at line 1674 of file scsi_all.h.

◆ RCS_TC_EBYTES

#define RCS_TC_EBYTES   0x06

Definition at line 1680 of file scsi_all.h.

◆ RCS_TC_GBYTES

#define RCS_TC_GBYTES   0x03

Definition at line 1677 of file scsi_all.h.

◆ RCS_TC_KBYTES

#define RCS_TC_KBYTES   0x01

Definition at line 1675 of file scsi_all.h.

◆ RCS_TC_LBAS

#define RCS_TC_LBAS   0xf1

Definition at line 1681 of file scsi_all.h.

◆ RCS_TC_MBYTES

#define RCS_TC_MBYTES   0x02

Definition at line 1676 of file scsi_all.h.

◆ RCS_TC_PBYTES

#define RCS_TC_PBYTES   0x05

Definition at line 1679 of file scsi_all.h.

◆ RCS_TC_TBYTES

#define RCS_TC_TBYTES   0x04

Definition at line 1678 of file scsi_all.h.

◆ READ_10

#define READ_10   0x28

Definition at line 2096 of file scsi_all.h.

◆ READ_12

#define READ_12   0xA8

Definition at line 2139 of file scsi_all.h.

◆ READ_16

#define READ_16   0x88

Definition at line 2121 of file scsi_all.h.

◆ READ_6

#define READ_6   0x08

Definition at line 2083 of file scsi_all.h.

◆ READ_ATTRIBUTE

#define READ_ATTRIBUTE   0x8C

Definition at line 2124 of file scsi_all.h.

◆ READ_BUFFER

#define READ_BUFFER   0x3C

Definition at line 2104 of file scsi_all.h.

◆ READ_BUFFER_16

#define READ_BUFFER_16   0x9B

Definition at line 2130 of file scsi_all.h.

◆ READ_CAPACITY

#define READ_CAPACITY   0x25

Definition at line 2095 of file scsi_all.h.

◆ READ_CD

#define READ_CD   0xBE

Definition at line 2145 of file scsi_all.h.

◆ READ_DEFECT_DATA_10

#define READ_DEFECT_DATA_10   0x37

Definition at line 2102 of file scsi_all.h.

◆ READ_ELEMENT_STATUS

#define READ_ELEMENT_STATUS   0xB8

Definition at line 2144 of file scsi_all.h.

◆ RECEIVE_COPY_STATUS

#define RECEIVE_COPY_STATUS   0x84

Definition at line 2119 of file scsi_all.h.

◆ RECEIVE_DIAGNOSTIC

#define RECEIVE_DIAGNOSTIC   0x1C

Definition at line 2092 of file scsi_all.h.

◆ RELEASE

#define RELEASE   0x17

Definition at line 2091 of file scsi_all.h.

◆ RELEASE_10

#define RELEASE_10   0x57

Definition at line 2112 of file scsi_all.h.

◆ REMOVE_ELEMENT_AND_TRUNCATE

#define REMOVE_ELEMENT_AND_TRUNCATE   0x18

Definition at line 2157 of file scsi_all.h.

◆ REPORT_ALIASES

#define REPORT_ALIASES   0x0B

Definition at line 2150 of file scsi_all.h.

◆ REPORT_IDENTIFYING_INFRMATION

#define REPORT_IDENTIFYING_INFRMATION   0x05

Definition at line 2148 of file scsi_all.h.

◆ REPORT_LUNS

#define REPORT_LUNS   0xA0

Definition at line 2133 of file scsi_all.h.

◆ REPORT_PRIORITY

#define REPORT_PRIORITY   0x0E

Definition at line 2153 of file scsi_all.h.

◆ REPORT_SUPPORTED_OPERATION_CODES

#define REPORT_SUPPORTED_OPERATION_CODES   0x0C

Definition at line 2151 of file scsi_all.h.

◆ REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS

#define REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS   0x0D

Definition at line 2152 of file scsi_all.h.

◆ REPORT_TARGET_PORT_GROUPS

#define REPORT_TARGET_PORT_GROUPS   0x0A

Definition at line 2149 of file scsi_all.h.

◆ REPORT_TIMESTAMP

#define REPORT_TIMESTAMP   0x0F

Definition at line 2154 of file scsi_all.h.

◆ REQUEST_SENSE

#define REQUEST_SENSE   0x03

Definition at line 2082 of file scsi_all.h.

◆ RESERVE

#define RESERVE   0x16

Definition at line 2090 of file scsi_all.h.

◆ RESERVE_10

#define RESERVE_10   0x56

Definition at line 2111 of file scsi_all.h.

◆ RESTORE_ELEMENTS_AND_REBUILD

#define RESTORE_ELEMENTS_AND_REBUILD   0x19

Definition at line 2158 of file scsi_all.h.

◆ RII_IIS

#define RII_IIS   0xfc

Definition at line 1488 of file scsi_all.h.

◆ RII_LUII

#define RII_LUII   0x00

Definition at line 1486 of file scsi_all.h.

◆ RII_LUTII

#define RII_LUTII   0x04

Definition at line 1487 of file scsi_all.h.

◆ ROD_TYPE_AUR

#define ROD_TYPE_AUR   0x00010000

Definition at line 1996 of file scsi_all.h.

◆ ROD_TYPE_BLOCK_ZERO

#define ROD_TYPE_BLOCK_ZERO   0xFFFF0001

Definition at line 2001 of file scsi_all.h.

◆ ROD_TYPE_INTERNAL

#define ROD_TYPE_INTERNAL   0x00000000

Definition at line 1995 of file scsi_all.h.

◆ ROD_TYPE_PIT_ANY

#define ROD_TYPE_PIT_ANY   0x0080FFFF

Definition at line 2000 of file scsi_all.h.

◆ ROD_TYPE_PIT_DEF

#define ROD_TYPE_PIT_DEF   0x00800000

Definition at line 1997 of file scsi_all.h.

◆ ROD_TYPE_PIT_PERS

#define ROD_TYPE_PIT_PERS   0x00800002

Definition at line 1999 of file scsi_all.h.

◆ ROD_TYPE_PIT_VULN

#define ROD_TYPE_PIT_VULN   0x00800001

Definition at line 1998 of file scsi_all.h.

◆ RPL_LUNDATA_ATYP_EXTLUN

#define RPL_LUNDATA_ATYP_EXTLUN   0xc0

Definition at line 3027 of file scsi_all.h.

◆ RPL_LUNDATA_ATYP_FLAT

#define RPL_LUNDATA_ATYP_FLAT   0x40

Definition at line 3025 of file scsi_all.h.

◆ RPL_LUNDATA_ATYP_LUN

#define RPL_LUNDATA_ATYP_LUN   0x80

Definition at line 3026 of file scsi_all.h.

◆ RPL_LUNDATA_ATYP_MASK

#define RPL_LUNDATA_ATYP_MASK   0xc0 /* MBZ for type 0 lun */

Definition at line 3023 of file scsi_all.h.

◆ RPL_LUNDATA_ATYP_PERIPH

#define RPL_LUNDATA_ATYP_PERIPH   0x00

Definition at line 3024 of file scsi_all.h.

◆ RPL_LUNDATA_EXT_EAM_MASK

#define RPL_LUNDATA_EXT_EAM_MASK   0x0f

Definition at line 3020 of file scsi_all.h.

◆ RPL_LUNDATA_EXT_EAM_NOT_SPEC

#define RPL_LUNDATA_EXT_EAM_NOT_SPEC   0x0f

Definition at line 3022 of file scsi_all.h.

◆ RPL_LUNDATA_EXT_EAM_WK

#define RPL_LUNDATA_EXT_EAM_WK   0x01

Definition at line 3021 of file scsi_all.h.

◆ RPL_LUNDATA_EXT_LEN_MASK

#define RPL_LUNDATA_EXT_LEN_MASK   0x30

Definition at line 3019 of file scsi_all.h.

◆ RPL_LUNDATA_FLAT_LUN_BITS

#define RPL_LUNDATA_FLAT_LUN_BITS   0x06

Definition at line 3015 of file scsi_all.h.

◆ RPL_LUNDATA_FLAT_LUN_MASK

#define RPL_LUNDATA_FLAT_LUN_MASK   0x3f

Definition at line 3014 of file scsi_all.h.

◆ RPL_LUNDATA_LUN_BUS_MASK

#define RPL_LUNDATA_LUN_BUS_MASK   0xe0

Definition at line 3017 of file scsi_all.h.

◆ RPL_LUNDATA_LUN_LUN_MASK

#define RPL_LUNDATA_LUN_LUN_MASK   0x1f

Definition at line 3018 of file scsi_all.h.

◆ RPL_LUNDATA_LUN_TARG_MASK

#define RPL_LUNDATA_LUN_TARG_MASK   0x3f

Definition at line 3016 of file scsi_all.h.

◆ RPL_LUNDATA_PERIPH_BUS_MASK

#define RPL_LUNDATA_PERIPH_BUS_MASK   0x3f

Definition at line 3013 of file scsi_all.h.

◆ RPL_REPORT_ADMIN

#define RPL_REPORT_ADMIN   0x10

Definition at line 3001 of file scsi_all.h.

◆ RPL_REPORT_ALL

#define RPL_REPORT_ALL   0x02

Definition at line 3000 of file scsi_all.h.

◆ RPL_REPORT_CONGLOM

#define RPL_REPORT_CONGLOM   0x12

Definition at line 3003 of file scsi_all.h.

◆ RPL_REPORT_DEFAULT

#define RPL_REPORT_DEFAULT   0x00

Definition at line 2998 of file scsi_all.h.

◆ RPL_REPORT_NONSUBSID

#define RPL_REPORT_NONSUBSID   0x11

Definition at line 3002 of file scsi_all.h.

◆ RPL_REPORT_WELLKNOWN

#define RPL_REPORT_WELLKNOWN   0x01

Definition at line 2999 of file scsi_all.h.

◆ RSO_CDLP_A

#define RSO_CDLP_A   0x04

Definition at line 1543 of file scsi_all.h.

◆ RSO_CDLP_B

#define RSO_CDLP_B   0x08

Definition at line 1544 of file scsi_all.h.

◆ RSO_CDLP_MASK

#define RSO_CDLP_MASK   0x0c

Definition at line 1541 of file scsi_all.h.

◆ RSO_CDLP_NO

#define RSO_CDLP_NO   0x00

Definition at line 1542 of file scsi_all.h.

◆ RSO_CTDP

#define RSO_CTDP   0x02

Definition at line 1540 of file scsi_all.h.

◆ RSO_ONE_CDLP_A

#define RSO_ONE_CDLP_A   0x08

Definition at line 1562 of file scsi_all.h.

◆ RSO_ONE_CDLP_B

#define RSO_ONE_CDLP_B   0x10

Definition at line 1563 of file scsi_all.h.

◆ RSO_ONE_CDLP_MASK

#define RSO_ONE_CDLP_MASK   0x18

Definition at line 1560 of file scsi_all.h.

◆ RSO_ONE_CDLP_NO

#define RSO_ONE_CDLP_NO   0x00

Definition at line 1561 of file scsi_all.h.

◆ RSO_ONE_CTDP

#define RSO_ONE_CTDP   0x80

Definition at line 1559 of file scsi_all.h.

◆ RSO_ONE_SUP_AVAIL

#define RSO_ONE_SUP_AVAIL   0x03

Definition at line 1567 of file scsi_all.h.

◆ RSO_ONE_SUP_MASK

#define RSO_ONE_SUP_MASK   0x07

Definition at line 1564 of file scsi_all.h.

◆ RSO_ONE_SUP_NOT_SUP

#define RSO_ONE_SUP_NOT_SUP   0x01

Definition at line 1566 of file scsi_all.h.

◆ RSO_ONE_SUP_UNAVAIL

#define RSO_ONE_SUP_UNAVAIL   0x00

Definition at line 1565 of file scsi_all.h.

◆ RSO_ONE_SUP_VENDOR

#define RSO_ONE_SUP_VENDOR   0x05

Definition at line 1568 of file scsi_all.h.

◆ RSO_OPTIONS_ALL

#define RSO_OPTIONS_ALL   0x00

Definition at line 1512 of file scsi_all.h.

◆ RSO_OPTIONS_MASK

#define RSO_OPTIONS_MASK   0x07

Definition at line 1511 of file scsi_all.h.

◆ RSO_OPTIONS_OC

#define RSO_OPTIONS_OC   0x01

Definition at line 1513 of file scsi_all.h.

◆ RSO_OPTIONS_OC_ASA

#define RSO_OPTIONS_OC_ASA   0x03

Definition at line 1515 of file scsi_all.h.

◆ RSO_OPTIONS_OC_SA

#define RSO_OPTIONS_OC_SA   0x02

Definition at line 1514 of file scsi_all.h.

◆ RSO_RCTD

#define RSO_RCTD   0x80

Definition at line 1510 of file scsi_all.h.

◆ RSO_SERVACTV

#define RSO_SERVACTV   0x01

Definition at line 1539 of file scsi_all.h.

◆ RST_ATS

#define RST_ATS   0x80

Definition at line 1595 of file scsi_all.h.

◆ RST_ATSS

#define RST_ATSS   0x40

Definition at line 1594 of file scsi_all.h.

◆ RST_ATSTS

#define RST_ATSTS   0x40

Definition at line 1620 of file scsi_all.h.

◆ RST_ATTS

#define RST_ATTS   0x80

Definition at line 1621 of file scsi_all.h.

◆ RST_CACAS

#define RST_CACAS   0x20

Definition at line 1593 of file scsi_all.h.

◆ RST_CACATS

#define RST_CACATS   0x20

Definition at line 1619 of file scsi_all.h.

◆ RST_CTSS

#define RST_CTSS   0x10

Definition at line 1592 of file scsi_all.h.

◆ RST_CTSTS

#define RST_CTSTS   0x10

Definition at line 1618 of file scsi_all.h.

◆ RST_ITNRS

#define RST_ITNRS   0x01

Definition at line 1597 of file scsi_all.h.

◆ RST_ITNRTS

#define RST_ITNRTS   0x01

Definition at line 1623 of file scsi_all.h.

◆ RST_LURS

#define RST_LURS   0x08

Definition at line 1591 of file scsi_all.h.

◆ RST_LURTS

#define RST_LURTS   0x08

Definition at line 1617 of file scsi_all.h.

◆ RST_QAES

#define RST_QAES   0x04

Definition at line 1599 of file scsi_all.h.

◆ RST_QAETS

#define RST_QAETS   0x04

Definition at line 1625 of file scsi_all.h.

◆ RST_QTS

#define RST_QTS   0x04

Definition at line 1590 of file scsi_all.h.

◆ RST_QTSS

#define RST_QTSS   0x02

Definition at line 1598 of file scsi_all.h.

◆ RST_QTSTS

#define RST_QTSTS   0x02

Definition at line 1624 of file scsi_all.h.

◆ RST_QTTS

#define RST_QTTS   0x04

Definition at line 1616 of file scsi_all.h.

◆ RST_REPD

#define RST_REPD   0x80

Definition at line 1578 of file scsi_all.h.

◆ RST_TMFTMOV

#define RST_TMFTMOV   0x01

Definition at line 1611 of file scsi_all.h.

◆ RST_TRS

#define RST_TRS   0x02

Definition at line 1589 of file scsi_all.h.

◆ RST_TRTS

#define RST_TRTS   0x02

Definition at line 1615 of file scsi_all.h.

◆ RST_WAKES

#define RST_WAKES   0x01

Definition at line 1588 of file scsi_all.h.

◆ RST_WAKETS

#define RST_WAKETS   0x01

Definition at line 1614 of file scsi_all.h.

◆ RTS_ORIG_MASK

#define RTS_ORIG_MASK   0x00

Definition at line 1644 of file scsi_all.h.

◆ RTS_ORIG_OUTSIDE

#define RTS_ORIG_OUTSIDE   0x03

Definition at line 1647 of file scsi_all.h.

◆ RTS_ORIG_SET

#define RTS_ORIG_SET   0x02

Definition at line 1646 of file scsi_all.h.

◆ RTS_ORIG_ZERO

#define RTS_ORIG_ZERO   0x00

Definition at line 1645 of file scsi_all.h.

◆ RWB_MODE

#define RWB_MODE   0x1F

Definition at line 1022 of file scsi_all.h.

◆ RWB_MODE_DATA

#define RWB_MODE_DATA   0x02

Definition at line 1025 of file scsi_all.h.

◆ RWB_MODE_DESCR

#define RWB_MODE_DESCR   0x03

Definition at line 1026 of file scsi_all.h.

◆ RWB_MODE_DOWNLOAD

#define RWB_MODE_DOWNLOAD   0x04

Definition at line 1027 of file scsi_all.h.

◆ RWB_MODE_DOWNLOAD_SAVE

#define RWB_MODE_DOWNLOAD_SAVE   0x05

Definition at line 1028 of file scsi_all.h.

◆ RWB_MODE_ECHO

#define RWB_MODE_ECHO   0x0A

Definition at line 1029 of file scsi_all.h.

◆ RWB_MODE_ECHO_DESCR

#define RWB_MODE_ECHO_DESCR   0x0B

Definition at line 1030 of file scsi_all.h.

◆ RWB_MODE_ERROR_HISTORY

#define RWB_MODE_ERROR_HISTORY   0x1C

Definition at line 1031 of file scsi_all.h.

◆ RWB_MODE_HDR_DATA

#define RWB_MODE_HDR_DATA   0x00

Definition at line 1023 of file scsi_all.h.

◆ RWB_MODE_VENDOR

#define RWB_MODE_VENDOR   0x01

Definition at line 1024 of file scsi_all.h.

◆ SA_RPRT_TRGT_GRP

#define SA_RPRT_TRGT_GRP   0x0a

Definition at line 1472 of file scsi_all.h.

◆ SBDC_IS_PRESENT

#define SBDC_IS_PRESENT (   bdc,
  length,
  field 
)
Value:
((length >= offsetof(struct scsi_vpd_block_device_characteristics, \
field) + sizeof(bdc->field)) ? 1 : 0)

Definition at line 2823 of file scsi_all.h.

◆ SC_SCSI_1

#define SC_SCSI_1   0x01

Definition at line 2074 of file scsi_all.h.

◆ SC_SCSI_2

#define SC_SCSI_2   0x03

Definition at line 2075 of file scsi_all.h.

◆ SCEP_IALUAE

#define SCEP_IALUAE   0x01 /* Implicit ALUA Enabled */

Definition at line 753 of file scsi_all.h.

◆ SCEP_PAGE_CODE

#define SCEP_PAGE_CODE   0x0a

Definition at line 746 of file scsi_all.h.

◆ SCEP_SCSIP

#define SCEP_SCSIP   0x02 /* SCSI Precedence (clock) */

Definition at line 752 of file scsi_all.h.

◆ SCEP_SUBPAGE_CODE

#define SCEP_SUBPAGE_CODE   0x01

Definition at line 748 of file scsi_all.h.

◆ SCEP_TCMOS

#define SCEP_TCMOS   0x04 /* Timestamp Changeable by */

Definition at line 751 of file scsi_all.h.

◆ SCHP_FLAGS_MF

#define SCHP_FLAGS_MF   0x02 /* Multiplication factor */

Definition at line 765 of file scsi_all.h.

◆ SCHP_FLAGS_RCD

#define SCHP_FLAGS_RCD   0x01 /* Read Cache Disable */

Definition at line 766 of file scsi_all.h.

◆ SCHP_FLAGS_WCE

#define SCHP_FLAGS_WCE   0x04 /* Write Cache Enable */

Definition at line 764 of file scsi_all.h.

◆ SCHP_PAGE_SAVABLE

#define SCHP_PAGE_SAVABLE   0x80 /* Page is savable */

Definition at line 761 of file scsi_all.h.

◆ SCP_ABPF

#define SCP_ABPF   0x40

Definition at line 785 of file scsi_all.h.

◆ SCP_ATMPE

#define SCP_ATMPE   0x20 /*Application tag mode page*/

Definition at line 737 of file scsi_all.h.

◆ SCP_ATO

#define SCP_ATO   0x80 /*Application tag owner*/

Definition at line 735 of file scsi_all.h.

◆ SCP_CAP

#define SCP_CAP   0x20

Definition at line 786 of file scsi_all.h.

◆ SCP_DISC

#define SCP_DISC   0x10

Definition at line 787 of file scsi_all.h.

◆ SCP_DPICZ

#define SCP_DPICZ
Value:
0x08 /*Disable Prot. Info Check
if Prot. Field is Zero */

Definition at line 715 of file scsi_all.h.

◆ SCP_DRA

#define SCP_DRA   0x20

Definition at line 800 of file scsi_all.h.

◆ SCP_DSENSE

#define SCP_DSENSE   0x04 /*Descriptor Sense */

Definition at line 714 of file scsi_all.h.

◆ SCP_EAENP

#define SCP_EAENP   0x01 /*Error AEN Permission*/

Definition at line 733 of file scsi_all.h.

◆ SCP_EECA

#define SCP_EECA   0x80 /*Enable Extended CA*/

Definition at line 728 of file scsi_all.h.

◆ SCP_FSW

#define SCP_FSW   0x80

Definition at line 798 of file scsi_all.h.

◆ SCP_GLTSD

#define SCP_GLTSD
Value:
0x02 /*Global Logging target
save disable */

Definition at line 713 of file scsi_all.h.

◆ SCP_IC

#define SCP_IC   0x80

Definition at line 784 of file scsi_all.h.

◆ SCP_LBCSS

#define SCP_LBCSS   0x40

Definition at line 799 of file scsi_all.h.

◆ SCP_MF

#define SCP_MF   0x02

Definition at line 790 of file scsi_all.h.

◆ SCP_NUAR

#define SCP_NUAR   0x08 /*No UA on release*/

Definition at line 724 of file scsi_all.h.

◆ SCP_QUEUE_ALG_MASK

#define SCP_QUEUE_ALG_MASK   0xF0

Definition at line 721 of file scsi_all.h.

◆ SCP_QUEUE_ALG_RESTRICTED

#define SCP_QUEUE_ALG_RESTRICTED   0x00

Definition at line 722 of file scsi_all.h.

◆ SCP_QUEUE_ALG_UNRESTRICTED

#define SCP_QUEUE_ALG_UNRESTRICTED   0x10

Definition at line 723 of file scsi_all.h.

◆ SCP_QUEUE_DQUE

#define SCP_QUEUE_DQUE   0x01 /*Queued I/O disabled*/

Definition at line 726 of file scsi_all.h.

◆ SCP_QUEUE_ERR

#define SCP_QUEUE_ERR   0x02 /*Queued I/O aborted for CACs*/

Definition at line 725 of file scsi_all.h.

◆ SCP_RAC

#define SCP_RAC   0x40 /*Report a check*/

Definition at line 729 of file scsi_all.h.

◆ SCP_RAENP

#define SCP_RAENP   0x04 /*Ready AEN Permission*/

Definition at line 731 of file scsi_all.h.

◆ SCP_RCD

#define SCP_RCD   0x01

Definition at line 791 of file scsi_all.h.

◆ SCP_RLEC

#define SCP_RLEC   0x01 /*Report Log Exception Cond*/

Definition at line 712 of file scsi_all.h.

◆ SCP_RWWP

#define SCP_RWWP   0x10 /*Reject write without prot*/

Definition at line 738 of file scsi_all.h.

◆ SCP_SIZE

#define SCP_SIZE   0x08

Definition at line 788 of file scsi_all.h.

◆ SCP_SWP

#define SCP_SWP   0x08 /*Software Write Protect*/

Definition at line 730 of file scsi_all.h.

◆ SCP_TAS

#define SCP_TAS   0x40 /*Task aborted status*/

Definition at line 736 of file scsi_all.h.

◆ SCP_TMF_ONLY

#define SCP_TMF_ONLY   0x10 /*TM Functions Only*/

Definition at line 716 of file scsi_all.h.

◆ SCP_TST_MASK

#define SCP_TST_MASK   0xE0 /*Task Set Type Mask*/

Definition at line 717 of file scsi_all.h.

◆ SCP_TST_ONE

#define SCP_TST_ONE   0x00 /*One Task Set*/

Definition at line 718 of file scsi_all.h.

◆ SCP_TST_SEPARATE

#define SCP_TST_SEPARATE   0x20 /*Separate Task Sets*/

Definition at line 719 of file scsi_all.h.

◆ SCP_UAAENP

#define SCP_UAAENP   0x02 /*UA AEN Permission*/

Definition at line 732 of file scsi_all.h.

◆ SCP_VS1

#define SCP_VS1   0x10

Definition at line 801 of file scsi_all.h.

◆ SCP_VS2

#define SCP_VS2   0x08

Definition at line 802 of file scsi_all.h.

◆ SCP_WCE

#define SCP_WCE   0x04

Definition at line 789 of file scsi_all.h.

◆ SCSI_CDB6_LEN

#define SCSI_CDB6_LEN (   len)    ((len) == 0 ? 256 : len)

Definition at line 61 of file scsi_all.h.

◆ SCSI_CMD_LUN

#define SCSI_CMD_LUN   0xA0 /* these two should not be needed */

Definition at line 52 of file scsi_all.h.

◆ SCSI_CMD_LUN_SHIFT

#define SCSI_CMD_LUN_SHIFT   5 /* LUN in the cmd is no longer SCSI */

Definition at line 53 of file scsi_all.h.

◆ SCSI_CTL_FLAG

#define SCSI_CTL_FLAG   0x02

Definition at line 50 of file scsi_all.h.

◆ SCSI_CTL_LINK

#define SCSI_CTL_LINK   0x01

Definition at line 49 of file scsi_all.h.

◆ SCSI_CTL_VENDOR

#define SCSI_CTL_VENDOR   0xC0

Definition at line 51 of file scsi_all.h.

◆ SCSI_DEFAULT_DENSITY

#define SCSI_DEFAULT_DENSITY   0x00 /* use 'default' density */

Definition at line 3685 of file scsi_all.h.

◆ SCSI_GEPS_REPORT_TYPE_STORAGE

#define SCSI_GEPS_REPORT_TYPE_STORAGE   0x01

Definition at line 3060 of file scsi_all.h.

◆ SCSI_GPES_FILTER_ALL

#define SCSI_GPES_FILTER_ALL   0x00

Definition at line 3057 of file scsi_all.h.

◆ SCSI_GPES_FILTER_EXEPTION

#define SCSI_GPES_FILTER_EXEPTION   0x40

Definition at line 3058 of file scsi_all.h.

◆ SCSI_GPES_REPORT_TYPE_PHYS

#define SCSI_GPES_REPORT_TYPE_PHYS   0x00

Definition at line 3059 of file scsi_all.h.

◆ SCSI_LTFS_STR_LEN

#define SCSI_LTFS_STR_LEN   4

Definition at line 1219 of file scsi_all.h.

◆ SCSI_LTFS_STR_NAME

#define SCSI_LTFS_STR_NAME   "LTFS"

Definition at line 1218 of file scsi_all.h.

◆ SCSI_LTFS_UUID_LEN

#define SCSI_LTFS_UUID_LEN   36

Definition at line 1217 of file scsi_all.h.

◆ SCSI_LTFS_VER0_LEN

#define SCSI_LTFS_VER0_LEN   42

Definition at line 1215 of file scsi_all.h.

◆ SCSI_LTFS_VER1_LEN

#define SCSI_LTFS_VER1_LEN   43

Definition at line 1216 of file scsi_all.h.

◆ SCSI_MAX_CDBLEN

#define SCSI_MAX_CDBLEN
Value:
16 /*
* 16 byte commands are in the
* SCSI-3 spec
*/

Definition at line 55 of file scsi_all.h.

◆ SCSI_PROTO_1394

#define SCSI_PROTO_1394   0x03 /* IEEE 1394 (Firewire) */

Definition at line 860 of file scsi_all.h.

◆ SCSI_PROTO_ADITP

#define SCSI_PROTO_ADITP   0x07 /* Automation/Drive Int. Trans. Prot.*/

Definition at line 866 of file scsi_all.h.

◆ SCSI_PROTO_ADT

#define SCSI_PROTO_ADT   0x07 /* Automation/Drive Int. Trans. Prot.*/

Definition at line 865 of file scsi_all.h.

◆ SCSI_PROTO_ATA

#define SCSI_PROTO_ATA   0x08 /* AT Attachment Interface */

Definition at line 867 of file scsi_all.h.

◆ SCSI_PROTO_FC

#define SCSI_PROTO_FC   0x00 /* Fibre Channel */

Definition at line 857 of file scsi_all.h.

◆ SCSI_PROTO_ISCSI

#define SCSI_PROTO_ISCSI   0x05 /* Internet SCSI */

Definition at line 862 of file scsi_all.h.

◆ SCSI_PROTO_iSCSI

#define SCSI_PROTO_iSCSI   0x05 /* Internet SCSI */

Definition at line 863 of file scsi_all.h.

◆ SCSI_PROTO_NONE

#define SCSI_PROTO_NONE   0x0f /* No specific protocol */

Definition at line 870 of file scsi_all.h.

◆ SCSI_PROTO_RDMA

#define SCSI_PROTO_RDMA   0x04 /* SCSI RDMA Protocol */

Definition at line 861 of file scsi_all.h.

◆ SCSI_PROTO_SAS

#define SCSI_PROTO_SAS   0x06 /* SAS Serial SCSI Protocol */

Definition at line 864 of file scsi_all.h.

◆ SCSI_PROTO_SOP

#define SCSI_PROTO_SOP   0x0a /* SCSI over PCI Express */

Definition at line 869 of file scsi_all.h.

◆ SCSI_PROTO_SPI

#define SCSI_PROTO_SPI   0x01 /* Parallel SCSI */

Definition at line 858 of file scsi_all.h.

◆ SCSI_PROTO_SSA

#define SCSI_PROTO_SSA   0x02 /* Serial Storage Arch. */

Definition at line 859 of file scsi_all.h.

◆ SCSI_PROTO_UAS

#define SCSI_PROTO_UAS   0x09 /* USB Atached SCSI */

Definition at line 868 of file scsi_all.h.

◆ SCSI_REV_0

#define SCSI_REV_0   0

Definition at line 2220 of file scsi_all.h.

◆ SCSI_REV_2

#define SCSI_REV_2   2

Definition at line 2222 of file scsi_all.h.

◆ SCSI_REV_CCS

#define SCSI_REV_CCS   1

Definition at line 2221 of file scsi_all.h.

◆ SCSI_REV_SPC

#define SCSI_REV_SPC   3

Definition at line 2223 of file scsi_all.h.

◆ SCSI_REV_SPC2

#define SCSI_REV_SPC2   4

Definition at line 2224 of file scsi_all.h.

◆ SCSI_REV_SPC3

#define SCSI_REV_SPC3   5

Definition at line 2225 of file scsi_all.h.

◆ SCSI_REV_SPC4

#define SCSI_REV_SPC4   6

Definition at line 2226 of file scsi_all.h.

◆ SCSI_REV_SPC5

#define SCSI_REV_SPC5   7

Definition at line 2227 of file scsi_all.h.

◆ SCSI_RW_BIO

#define SCSI_RW_BIO   0x1000

Definition at line 4234 of file scsi_all.h.

◆ SCSI_RW_DIRMASK

#define SCSI_RW_DIRMASK   0x0003

Definition at line 4233 of file scsi_all.h.

◆ SCSI_RW_READ

#define SCSI_RW_READ   0x0001

Definition at line 4231 of file scsi_all.h.

◆ SCSI_RW_WRITE

#define SCSI_RW_WRITE   0x0002

Definition at line 4232 of file scsi_all.h.

◆ SCSI_SAME_DENSITY

#define SCSI_SAME_DENSITY   0x7f /* use 'same' density- >= SCSI-2 only */

Definition at line 3686 of file scsi_all.h.

◆ SCSI_STATUS_ACA_ACTIVE

#define SCSI_STATUS_ACA_ACTIVE   0x30

Definition at line 3700 of file scsi_all.h.

◆ SCSI_STATUS_BUSY

#define SCSI_STATUS_BUSY   0x08

Definition at line 3694 of file scsi_all.h.

◆ SCSI_STATUS_CHECK_COND

#define SCSI_STATUS_CHECK_COND   0x02

Definition at line 3692 of file scsi_all.h.

◆ SCSI_STATUS_CMD_TERMINATED

#define SCSI_STATUS_CMD_TERMINATED   0x22 /* Obsolete in SAM-2 */

Definition at line 3698 of file scsi_all.h.

◆ SCSI_STATUS_COND_MET

#define SCSI_STATUS_COND_MET   0x04

Definition at line 3693 of file scsi_all.h.

◆ SCSI_STATUS_INTERMED

#define SCSI_STATUS_INTERMED   0x10

Definition at line 3695 of file scsi_all.h.

◆ SCSI_STATUS_INTERMED_COND_MET

#define SCSI_STATUS_INTERMED_COND_MET   0x14

Definition at line 3696 of file scsi_all.h.

◆ SCSI_STATUS_OK

#define SCSI_STATUS_OK   0x00

Definition at line 3691 of file scsi_all.h.

◆ SCSI_STATUS_QUEUE_FULL

#define SCSI_STATUS_QUEUE_FULL   0x28

Definition at line 3699 of file scsi_all.h.

◆ SCSI_STATUS_RESERV_CONFLICT

#define SCSI_STATUS_RESERV_CONFLICT   0x18

Definition at line 3697 of file scsi_all.h.

◆ SCSI_STATUS_TASK_ABORTED

#define SCSI_STATUS_TASK_ABORTED   0x40

Definition at line 3701 of file scsi_all.h.

◆ SCSI_TRN_1394_FORMAT_DEFAULT

#define SCSI_TRN_1394_FORMAT_DEFAULT   0x00

Definition at line 496 of file scsi_all.h.

◆ SCSI_TRN_FCP_FORMAT_DEFAULT

#define SCSI_TRN_FCP_FORMAT_DEFAULT   0x00

Definition at line 476 of file scsi_all.h.

◆ SCSI_TRN_FORMAT_MASK

#define SCSI_TRN_FORMAT_MASK   0xc0

Definition at line 468 of file scsi_all.h.

◆ SCSI_TRN_FORMAT_SHIFT

#define SCSI_TRN_FORMAT_SHIFT   6

Definition at line 469 of file scsi_all.h.

◆ SCSI_TRN_ISCSI_FORMAT_DEVICE

#define SCSI_TRN_ISCSI_FORMAT_DEVICE   0x00

Definition at line 514 of file scsi_all.h.

◆ SCSI_TRN_ISCSI_FORMAT_PORT

#define SCSI_TRN_ISCSI_FORMAT_PORT   0x40

Definition at line 523 of file scsi_all.h.

◆ SCSI_TRN_PROTO_MASK

#define SCSI_TRN_PROTO_MASK   0x0f

Definition at line 470 of file scsi_all.h.

◆ SCSI_TRN_RDMA_FORMAT_DEFAULT

#define SCSI_TRN_RDMA_FORMAT_DEFAULT   0x00

Definition at line 505 of file scsi_all.h.

◆ SCSI_TRN_RDMA_PORT_LEN

#define SCSI_TRN_RDMA_PORT_LEN   16

Definition at line 507 of file scsi_all.h.

◆ SCSI_TRN_SAS_FORMAT_DEFAULT

#define SCSI_TRN_SAS_FORMAT_DEFAULT   0x00

Definition at line 535 of file scsi_all.h.

◆ SCSI_TRN_SOP_BUS_MAX

#define SCSI_TRN_SOP_BUS_MAX   0xff

Definition at line 544 of file scsi_all.h.

◆ SCSI_TRN_SOP_DEV_MASK

#define SCSI_TRN_SOP_DEV_MASK   0xf8

Definition at line 546 of file scsi_all.h.

◆ SCSI_TRN_SOP_DEV_MAX

#define SCSI_TRN_SOP_DEV_MAX   0x1f

Definition at line 545 of file scsi_all.h.

◆ SCSI_TRN_SOP_DEV_SHIFT

#define SCSI_TRN_SOP_DEV_SHIFT   3

Definition at line 547 of file scsi_all.h.

◆ SCSI_TRN_SOP_FORMAT_DEFAULT

#define SCSI_TRN_SOP_FORMAT_DEFAULT   0x00

Definition at line 561 of file scsi_all.h.

◆ SCSI_TRN_SOP_FUNC_ALT_MAX

#define SCSI_TRN_SOP_FUNC_ALT_MAX   0xff

Definition at line 555 of file scsi_all.h.

◆ SCSI_TRN_SOP_FUNC_NORM_MASK

#define SCSI_TRN_SOP_FUNC_NORM_MASK   0x07

Definition at line 548 of file scsi_all.h.

◆ SCSI_TRN_SOP_FUNC_NORM_MAX

#define SCSI_TRN_SOP_FUNC_NORM_MAX   0x07

Definition at line 549 of file scsi_all.h.

◆ SCSI_TRN_SPI_FORMAT_DEFAULT

#define SCSI_TRN_SPI_FORMAT_DEFAULT   0x00

Definition at line 485 of file scsi_all.h.

◆ SECURITY_PROTOCOL_IN

#define SECURITY_PROTOCOL_IN   0xA2

Definition at line 2135 of file scsi_all.h.

◆ SECURITY_PROTOCOL_OUT

#define SECURITY_PROTOCOL_OUT   0xB5

Definition at line 2143 of file scsi_all.h.

◆ SEND_DIAGNOSTIC

#define SEND_DIAGNOSTIC   0x1D

Definition at line 2093 of file scsi_all.h.

◆ SERVICE_ACTION_IN

#define SERVICE_ACTION_IN   0x9E

Definition at line 2132 of file scsi_all.h.

◆ SERVICE_ACTION_MASK

#define SERVICE_ACTION_MASK   0x1f

Definition at line 1471 of file scsi_all.h.

◆ SET_IDENTIFY_INFORMATION

#define SET_IDENTIFY_INFORMATION   0x06

Definition at line 2160 of file scsi_all.h.

◆ SET_PRIORITY

#define SET_PRIORITY   0x0E

Definition at line 2163 of file scsi_all.h.

◆ SET_TARGET_PORT_GROUPS

#define SET_TARGET_PORT_GROUPS   0x0A

Definition at line 2161 of file scsi_all.h.

◆ SET_TIMESTAMP

#define SET_TIMESTAMP   0x0F

Definition at line 2164 of file scsi_all.h.

◆ SF_CMPLIST

#define SF_CMPLIST   0x08

Definition at line 975 of file scsi_all.h.

◆ SF_DATA_DCRT

#define SF_DATA_DCRT   0x20

Definition at line 990 of file scsi_all.h.

◆ SF_DATA_DPRY

#define SF_DATA_DPRY   0x40

Definition at line 989 of file scsi_all.h.

◆ SF_DATA_DSP

#define SF_DATA_DSP   0x04

Definition at line 993 of file scsi_all.h.

◆ SF_DATA_FOV

#define SF_DATA_FOV   0x80

Definition at line 988 of file scsi_all.h.

◆ SF_DATA_IMMED

#define SF_DATA_IMMED   0x02

Definition at line 994 of file scsi_all.h.

◆ SF_DATA_IP

#define SF_DATA_IP   0x08

Definition at line 992 of file scsi_all.h.

◆ SF_DATA_STPF

#define SF_DATA_STPF   0x10

Definition at line 991 of file scsi_all.h.

◆ SF_DATA_VS

#define SF_DATA_VS   0x01

Definition at line 995 of file scsi_all.h.

◆ SF_FMTDATA

#define SF_FMTDATA   0x10

Definition at line 974 of file scsi_all.h.

◆ SF_FORMAT_BFI

#define SF_FORMAT_BFI   0x04

Definition at line 979 of file scsi_all.h.

◆ SF_FORMAT_BLOCK

#define SF_FORMAT_BLOCK   0x00

Definition at line 977 of file scsi_all.h.

◆ SF_FORMAT_LONG_BLOCK

#define SF_FORMAT_LONG_BLOCK   0x03

Definition at line 978 of file scsi_all.h.

◆ SF_FORMAT_MASK

#define SF_FORMAT_MASK   0x07

Definition at line 976 of file scsi_all.h.

◆ SF_FORMAT_PHYS

#define SF_FORMAT_PHYS   0x05

Definition at line 980 of file scsi_all.h.

◆ SF_LONGLIST

#define SF_LONGLIST   0x20

Definition at line 973 of file scsi_all.h.

◆ SGLS_SERVICE_ACTION

#define SGLS_SERVICE_ACTION   0x12

Definition at line 2971 of file scsi_all.h.

◆ SHORT_INQUIRY_LENGTH

#define SHORT_INQUIRY_LENGTH   36

Definition at line 2201 of file scsi_all.h.

◆ SI_CMDDT

#define SI_CMDDT   0x02

Definition at line 180 of file scsi_all.h.

◆ SI_EVPD

#define SI_EVPD   0x01

Definition at line 179 of file scsi_all.h.

◆ SID_ADDITIONAL_LENGTH

#define SID_ADDITIONAL_LENGTH (   iqd)
Value:
((iqd)->additional_length + \
__offsetof(struct scsi_inquiry_data, additional_length) + 1)

Definition at line 2237 of file scsi_all.h.

◆ SID_AENC

#define SID_AENC   0x80

Definition at line 2232 of file scsi_all.h.

◆ SID_ANSI_REV

#define SID_ANSI_REV (   inq_data)    ((inq_data)->version & 0x07)

Definition at line 2219 of file scsi_all.h.

◆ SID_CmdQue

#define SID_CmdQue   0x02

Definition at line 2262 of file scsi_all.h.

◆ SID_ECMA

#define SID_ECMA   0x38

Definition at line 2229 of file scsi_all.h.

◆ SID_HiSup

#define SID_HiSup   0x10

Definition at line 2235 of file scsi_all.h.

◆ SID_IS_REMOVABLE

#define SID_IS_REMOVABLE (   inq_data)    (((inq_data)->dev_qual2 & SID_RMB) != 0)

Definition at line 2217 of file scsi_all.h.

◆ SID_ISO

#define SID_ISO   0xC0

Definition at line 2230 of file scsi_all.h.

◆ SID_Linked

#define SID_Linked   0x08

Definition at line 2263 of file scsi_all.h.

◆ SID_LU_CONG

#define SID_LU_CONG   0x40

Definition at line 2215 of file scsi_all.h.

◆ SID_NormACA

#define SID_NormACA   0x20

Definition at line 2234 of file scsi_all.h.

◆ SID_PRODUCT_SIZE

#define SID_PRODUCT_SIZE   16

Definition at line 2270 of file scsi_all.h.

◆ SID_QUAL

#define SID_QUAL (   inq_data)    (((inq_data)->device & 0xE0) >> 5)

Definition at line 2207 of file scsi_all.h.

◆ SID_QUAL2

#define SID_QUAL2   0x7F

Definition at line 2214 of file scsi_all.h.

◆ SID_QUAL_BAD_LU

#define SID_QUAL_BAD_LU
Value:
0x03 /*
* The target is not capable of
* supporting a physical device on
* this logical unit. For this
* peripheral qualifier the peripheral
* device type shall be set to 1Fh to
* provide compatibility with previous
* versions of SCSI. All other
* peripheral device type values are
* reserved for this peripheral
* qualifier.
*/

Definition at line 2211 of file scsi_all.h.

◆ SID_QUAL_IS_VENDOR_UNIQUE

#define SID_QUAL_IS_VENDOR_UNIQUE (   inq_data)    ((SID_QUAL(inq_data) & 0x04) != 0)

Definition at line 2212 of file scsi_all.h.

◆ SID_QUAL_LU_CONNECTED

#define SID_QUAL_LU_CONNECTED
Value:
0x00 /*
* The specified peripheral device
* type is currently connected to
* logical unit. If the target cannot
* determine whether or not a physical
* device is currently connected, it
* shall also use this peripheral
* qualifier when returning the INQUIRY
* data. This peripheral qualifier
* does not mean that the device is
* ready for access by the initiator.
*/

Definition at line 2208 of file scsi_all.h.

◆ SID_QUAL_LU_OFFLINE

#define SID_QUAL_LU_OFFLINE
Value:
0x01 /*
* The target is capable of supporting
* the specified peripheral device type
* on this logical unit; however, the
* physical device is not currently
* connected to this logical unit.
*/

Definition at line 2209 of file scsi_all.h.

◆ SID_QUAL_RSVD

#define SID_QUAL_RSVD   0x02

Definition at line 2210 of file scsi_all.h.

◆ SID_RelAdr

#define SID_RelAdr   0x80

Definition at line 2267 of file scsi_all.h.

◆ SID_REVISION_SIZE

#define SID_REVISION_SIZE   4

Definition at line 2272 of file scsi_all.h.

◆ SID_RMB

#define SID_RMB   0x80

Definition at line 2216 of file scsi_all.h.

◆ SID_SftRe

#define SID_SftRe   0x01

Definition at line 2261 of file scsi_all.h.

◆ SID_SPI_CLOCK_DT

#define SID_SPI_CLOCK_DT   0x04

Definition at line 2286 of file scsi_all.h.

◆ SID_SPI_CLOCK_DT_ST

#define SID_SPI_CLOCK_DT_ST   0x0C

Definition at line 2287 of file scsi_all.h.

◆ SID_SPI_CLOCK_ST

#define SID_SPI_CLOCK_ST   0x00

Definition at line 2285 of file scsi_all.h.

◆ SID_SPI_IUS

#define SID_SPI_IUS   0x01

Definition at line 2283 of file scsi_all.h.

◆ SID_SPI_MASK

#define SID_SPI_MASK   0x0F

Definition at line 2288 of file scsi_all.h.

◆ SID_SPI_QAS

#define SID_SPI_QAS   0x02

Definition at line 2284 of file scsi_all.h.

◆ SID_Sync

#define SID_Sync   0x10

Definition at line 2264 of file scsi_all.h.

◆ SID_TrmIOP

#define SID_TrmIOP   0x40

Definition at line 2233 of file scsi_all.h.

◆ SID_TYPE

#define SID_TYPE (   inq_data)    ((inq_data)->device & 0x1f)

Definition at line 2206 of file scsi_all.h.

◆ SID_VENDOR_SIZE

#define SID_VENDOR_SIZE   8

Definition at line 2268 of file scsi_all.h.

◆ SID_VENDOR_SPECIFIC_0_SIZE

#define SID_VENDOR_SPECIFIC_0_SIZE   20

Definition at line 2278 of file scsi_all.h.

◆ SID_VENDOR_SPECIFIC_1_SIZE

#define SID_VENDOR_SPECIFIC_1_SIZE   160

Definition at line 2305 of file scsi_all.h.

◆ SID_WBus16

#define SID_WBus16   0x20

Definition at line 2265 of file scsi_all.h.

◆ SID_WBus32

#define SID_WBus32   0x40

Definition at line 2266 of file scsi_all.h.

◆ SIEP_FLAGS_DEXCPT

#define SIEP_FLAGS_DEXCPT   0x08

Definition at line 817 of file scsi_all.h.

◆ SIEP_FLAGS_EBACKERR

#define SIEP_FLAGS_EBACKERR   0x02

Definition at line 819 of file scsi_all.h.

◆ SIEP_FLAGS_EBF

#define SIEP_FLAGS_EBF   0x20

Definition at line 815 of file scsi_all.h.

◆ SIEP_FLAGS_EWASC

#define SIEP_FLAGS_EWASC   0x10

Definition at line 816 of file scsi_all.h.

◆ SIEP_FLAGS_LOGERR

#define SIEP_FLAGS_LOGERR   0x01

Definition at line 820 of file scsi_all.h.

◆ SIEP_FLAGS_PERF

#define SIEP_FLAGS_PERF   0x80

Definition at line 814 of file scsi_all.h.

◆ SIEP_FLAGS_TEST

#define SIEP_FLAGS_TEST   0x04

Definition at line 818 of file scsi_all.h.

◆ SIEP_MRIE_NO

#define SIEP_MRIE_NO   0x00

Definition at line 822 of file scsi_all.h.

◆ SIEP_MRIE_NO_SENSE

#define SIEP_MRIE_NO_SENSE   0x05

Definition at line 826 of file scsi_all.h.

◆ SIEP_MRIE_ON_REQ

#define SIEP_MRIE_ON_REQ   0x06

Definition at line 827 of file scsi_all.h.

◆ SIEP_MRIE_REC_COND

#define SIEP_MRIE_REC_COND   0x03

Definition at line 824 of file scsi_all.h.

◆ SIEP_MRIE_REC_UNCOND

#define SIEP_MRIE_REC_UNCOND   0x04

Definition at line 825 of file scsi_all.h.

◆ SIEP_MRIE_UA

#define SIEP_MRIE_UA   0x02

Definition at line 823 of file scsi_all.h.

◆ SIEP_PAGE_SAVABLE

#define SIEP_PAGE_SAVABLE   0x80 /* Page is savable */

Definition at line 811 of file scsi_all.h.

◆ SIP_MEDIA_FIXED

#define SIP_MEDIA_FIXED   0x02

Definition at line 3707 of file scsi_all.h.

◆ SIP_MEDIA_REMOVABLE

#define SIP_MEDIA_REMOVABLE   0x01

Definition at line 3706 of file scsi_all.h.

◆ SL_DS

#define SL_DS   0x80

Definition at line 624 of file scsi_all.h.

◆ SL_PAGE_CODE

#define SL_PAGE_CODE   0x3F

Definition at line 622 of file scsi_all.h.

◆ SL_SPF

#define SL_SPF   0x40

Definition at line 623 of file scsi_all.h.

◆ SLBPP_SITUA

#define SLBPP_SITUA   0x01

Definition at line 849 of file scsi_all.h.

◆ SLBPPD_ARMING_DEC

#define SLBPPD_ARMING_DEC   0x02

Definition at line 837 of file scsi_all.h.

◆ SLBPPD_ARMING_INC

#define SLBPPD_ARMING_INC   0x01

Definition at line 838 of file scsi_all.h.

◆ SLBPPD_ARMING_MASK

#define SLBPPD_ARMING_MASK   0x07

Definition at line 836 of file scsi_all.h.

◆ SLBPPD_ENABLED

#define SLBPPD_ENABLED   0x80

Definition at line 834 of file scsi_all.h.

◆ SLBPPD_TYPE_MASK

#define SLBPPD_TYPE_MASK   0x38

Definition at line 835 of file scsi_all.h.

◆ SLP_DS

#define SLP_DS   0x40

Definition at line 641 of file scsi_all.h.

◆ SLP_DU

#define SLP_DU   0x80

Definition at line 642 of file scsi_all.h.

◆ SLP_ETC

#define SLP_ETC   0x10

Definition at line 639 of file scsi_all.h.

◆ SLP_FUA_SAP

#define SLP_FUA_SAP   0x0004

Definition at line 681 of file scsi_all.h.

◆ SLP_IE_GEN

#define SLP_IE_GEN   0x0000

Definition at line 694 of file scsi_all.h.

◆ SLP_IT

#define SLP_IT   0x0002

Definition at line 668 of file scsi_all.h.

◆ SLP_LBIN

#define SLP_LBIN   0x02

Definition at line 633 of file scsi_all.h.

◆ SLP_LP

#define SLP_LP   0x01

Definition at line 632 of file scsi_all.h.

◆ SLP_REFTEMPERATURE

#define SLP_REFTEMPERATURE   0x0001

Definition at line 703 of file scsi_all.h.

◆ SLP_SAP

#define SLP_SAP   0x0001

Definition at line 655 of file scsi_all.h.

◆ SLP_SS_MEDIA_PCT_USED

#define SLP_SS_MEDIA_PCT_USED   0x0001

Definition at line 648 of file scsi_all.h.

◆ SLP_TEMPERATURE

#define SLP_TEMPERATURE   0x0000

Definition at line 702 of file scsi_all.h.

◆ SLP_TI

#define SLP_TI   0x0003

Definition at line 674 of file scsi_all.h.

◆ SLP_TMC_ALWAYS

#define SLP_TMC_ALWAYS   0x00

Definition at line 635 of file scsi_all.h.

◆ SLP_TMC_EQUAL

#define SLP_TMC_EQUAL   0x04

Definition at line 636 of file scsi_all.h.

◆ SLP_TMC_GREATER

#define SLP_TMC_GREATER   0x0C

Definition at line 638 of file scsi_all.h.

◆ SLP_TMC_MASK

#define SLP_TMC_MASK   0x0C

Definition at line 634 of file scsi_all.h.

◆ SLP_TMC_NOTEQUAL

#define SLP_TMC_NOTEQUAL   0x08

Definition at line 637 of file scsi_all.h.

◆ SLP_TSD

#define SLP_TSD   0x20

Definition at line 640 of file scsi_all.h.

◆ SLS_ERROR_LASTN_PAGE

#define SLS_ERROR_LASTN_PAGE   0x07

Definition at line 582 of file scsi_all.h.

◆ SLS_ERROR_NONMEDIUM_PAGE

#define SLS_ERROR_NONMEDIUM_PAGE   0x06

Definition at line 581 of file scsi_all.h.

◆ SLS_ERROR_READ_PAGE

#define SLS_ERROR_READ_PAGE   0x03

Definition at line 578 of file scsi_all.h.

◆ SLS_ERROR_READREVERSE_PAGE

#define SLS_ERROR_READREVERSE_PAGE   0x04

Definition at line 579 of file scsi_all.h.

◆ SLS_ERROR_VERIFY_PAGE

#define SLS_ERROR_VERIFY_PAGE   0x05

Definition at line 580 of file scsi_all.h.

◆ SLS_ERROR_WRITE_PAGE

#define SLS_ERROR_WRITE_PAGE   0x02

Definition at line 577 of file scsi_all.h.

◆ SLS_IE_PAGE

#define SLS_IE_PAGE   0x2f

Definition at line 588 of file scsi_all.h.

◆ SLS_LOGICAL_BLOCK_PROVISIONING

#define SLS_LOGICAL_BLOCK_PROVISIONING   0x0c

Definition at line 583 of file scsi_all.h.

◆ SLS_OVERRUN_PAGE

#define SLS_OVERRUN_PAGE   0x01

Definition at line 576 of file scsi_all.h.

◆ SLS_PAGE_CODE

#define SLS_PAGE_CODE   0x3F

Definition at line 574 of file scsi_all.h.

◆ SLS_PAGE_CTRL_CUMUL_DEFAULT

#define SLS_PAGE_CTRL_CUMUL_DEFAULT   0xC0

Definition at line 593 of file scsi_all.h.

◆ SLS_PAGE_CTRL_CUMULATIVE

#define SLS_PAGE_CTRL_CUMULATIVE   0x40

Definition at line 591 of file scsi_all.h.

◆ SLS_PAGE_CTRL_MASK

#define SLS_PAGE_CTRL_MASK   0xC0

Definition at line 589 of file scsi_all.h.

◆ SLS_PAGE_CTRL_THRESH_DEFAULT

#define SLS_PAGE_CTRL_THRESH_DEFAULT   0x80

Definition at line 592 of file scsi_all.h.

◆ SLS_PAGE_CTRL_THRESHOLD

#define SLS_PAGE_CTRL_THRESHOLD   0x00

Definition at line 590 of file scsi_all.h.

◆ SLS_PCR

#define SLS_PCR   0x02

Definition at line 607 of file scsi_all.h.

◆ SLS_PPC

#define SLS_PPC   0x02

Definition at line 572 of file scsi_all.h.

◆ SLS_SELF_TEST_PAGE

#define SLS_SELF_TEST_PAGE   0x10

Definition at line 585 of file scsi_all.h.

◆ SLS_SOLID_STATE_MEDIA

#define SLS_SOLID_STATE_MEDIA   0x11

Definition at line 586 of file scsi_all.h.

◆ SLS_SP

#define SLS_SP   0x01

Definition at line 571 of file scsi_all.h.

◆ SLS_STAT_AND_PERF

#define SLS_STAT_AND_PERF   0x19

Definition at line 587 of file scsi_all.h.

◆ SLS_SUPPORTED_PAGES_PAGE

#define SLS_SUPPORTED_PAGES_PAGE   0x00

Definition at line 575 of file scsi_all.h.

◆ SLS_SUPPORTED_SUBPAGES_SUBPAGE

#define SLS_SUPPORTED_SUBPAGES_SUBPAGE   0xff

Definition at line 595 of file scsi_all.h.

◆ SLS_TEMPERATURE

#define SLS_TEMPERATURE   0x0d

Definition at line 584 of file scsi_all.h.

◆ SMA_ATTR_APP_FORMAT_VERSION

#define SMA_ATTR_APP_FORMAT_VERSION   0x080b

Definition at line 1171 of file scsi_all.h.

◆ SMA_ATTR_APP_NAME

#define SMA_ATTR_APP_NAME   0x0801

Definition at line 1161 of file scsi_all.h.

◆ SMA_ATTR_APP_VENDOR

#define SMA_ATTR_APP_VENDOR   0x0800

Definition at line 1160 of file scsi_all.h.

◆ SMA_ATTR_APP_VERSION

#define SMA_ATTR_APP_VERSION   0x0802

Definition at line 1162 of file scsi_all.h.

◆ SMA_ATTR_BARCODE

#define SMA_ATTR_BARCODE   0x0806

Definition at line 1166 of file scsi_all.h.

◆ SMA_ATTR_DEV_ASSIGNING_ORG

#define SMA_ATTR_DEV_ASSIGNING_ORG   0x0005

Definition at line 1117 of file scsi_all.h.

◆ SMA_ATTR_DEV_SERIAL_LAST_LOAD

#define SMA_ATTR_DEV_SERIAL_LAST_LOAD   0x020a

Definition at line 1123 of file scsi_all.h.

◆ SMA_ATTR_DEV_SERIAL_LAST_LOAD_1

#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_1   0x020b

Definition at line 1124 of file scsi_all.h.

◆ SMA_ATTR_DEV_SERIAL_LAST_LOAD_2

#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_2   0x020c

Definition at line 1125 of file scsi_all.h.

◆ SMA_ATTR_DEV_SERIAL_LAST_LOAD_3

#define SMA_ATTR_DEV_SERIAL_LAST_LOAD_3   0x020d

Definition at line 1126 of file scsi_all.h.

◆ SMA_ATTR_FIRST_ENC_BLOCK

#define SMA_ATTR_FIRST_ENC_BLOCK   0x0224

Definition at line 1132 of file scsi_all.h.

◆ SMA_ATTR_FORMAT_DENSITY_CODE

#define SMA_ATTR_FORMAT_DENSITY_CODE   0x0006

Definition at line 1118 of file scsi_all.h.

◆ SMA_ATTR_HOST_OWNER_NAME

#define SMA_ATTR_HOST_OWNER_NAME   0x0807

Definition at line 1167 of file scsi_all.h.

◆ SMA_ATTR_ID_DEVICE_MAX

#define SMA_ATTR_ID_DEVICE_MAX   0x03ff

Definition at line 1138 of file scsi_all.h.

◆ SMA_ATTR_ID_DEVICE_MIN

#define SMA_ATTR_ID_DEVICE_MIN   0x0000

Definition at line 1109 of file scsi_all.h.

◆ SMA_ATTR_ID_HOST_MAX

#define SMA_ATTR_ID_HOST_MAX   0x0bff

Definition at line 1174 of file scsi_all.h.

◆ SMA_ATTR_ID_HOST_MIN

#define SMA_ATTR_ID_HOST_MIN   0x0800

Definition at line 1158 of file scsi_all.h.

◆ SMA_ATTR_ID_MEDIUM_MAX

#define SMA_ATTR_ID_MEDIUM_MAX   0x07ff

Definition at line 1156 of file scsi_all.h.

◆ SMA_ATTR_ID_MEDIUM_MIN

#define SMA_ATTR_ID_MEDIUM_MIN   0x0400

Definition at line 1140 of file scsi_all.h.

◆ SMA_ATTR_INITIALIZATION_COUNT

#define SMA_ATTR_INITIALIZATION_COUNT   0x0007

Definition at line 1119 of file scsi_all.h.

◆ SMA_ATTR_LAST_WRITTEN_TIME

#define SMA_ATTR_LAST_WRITTEN_TIME   0x0804

Definition at line 1164 of file scsi_all.h.

◆ SMA_ATTR_LOAD_COUNT

#define SMA_ATTR_LOAD_COUNT   0x0003

Definition at line 1114 of file scsi_all.h.

◆ SMA_ATTR_LOAD_UNLOAD_AT_PART

#define SMA_ATTR_LOAD_UNLOAD_AT_PART   0x080a

Definition at line 1170 of file scsi_all.h.

◆ SMA_ATTR_MAM_CAPACITY

#define SMA_ATTR_MAM_CAPACITY   0x0407

Definition at line 1151 of file scsi_all.h.

◆ SMA_ATTR_MAM_SPACE_REMAINING

#define SMA_ATTR_MAM_SPACE_REMAINING   0x0004

Definition at line 1115 of file scsi_all.h.

◆ SMA_ATTR_MAX_CAP_PARTITION

#define SMA_ATTR_MAX_CAP_PARTITION   0x0001

Definition at line 1112 of file scsi_all.h.

◆ SMA_ATTR_MED_ASSIGNING_ORG

#define SMA_ATTR_MED_ASSIGNING_ORG   0x0404

Definition at line 1147 of file scsi_all.h.

◆ SMA_ATTR_MED_DENSITY_CODE

#define SMA_ATTR_MED_DENSITY_CODE   0x0405

Definition at line 1148 of file scsi_all.h.

◆ SMA_ATTR_MED_LENGTH

#define SMA_ATTR_MED_LENGTH   0x0402

Definition at line 1145 of file scsi_all.h.

◆ SMA_ATTR_MED_MANUF

#define SMA_ATTR_MED_MANUF   0x0400

Definition at line 1142 of file scsi_all.h.

◆ SMA_ATTR_MED_MANUF_DATE

#define SMA_ATTR_MED_MANUF_DATE   0x0406

Definition at line 1150 of file scsi_all.h.

◆ SMA_ATTR_MED_SERIAL

#define SMA_ATTR_MED_SERIAL   0x0401

Definition at line 1143 of file scsi_all.h.

◆ SMA_ATTR_MED_SERIAL_NUM

#define SMA_ATTR_MED_SERIAL_NUM   0x040a

Definition at line 1154 of file scsi_all.h.

◆ SMA_ATTR_MED_TYPE

#define SMA_ATTR_MED_TYPE   0x0408

Definition at line 1152 of file scsi_all.h.

◆ SMA_ATTR_MED_TYPE_INFO

#define SMA_ATTR_MED_TYPE_INFO   0x0409

Definition at line 1153 of file scsi_all.h.

◆ SMA_ATTR_MED_WIDTH

#define SMA_ATTR_MED_WIDTH   0x0403

Definition at line 1146 of file scsi_all.h.

◆ SMA_ATTR_MEDIA_POOL

#define SMA_ATTR_MEDIA_POOL   0x0808

Definition at line 1168 of file scsi_all.h.

◆ SMA_ATTR_MEDIUM_USAGE_HIST

#define SMA_ATTR_MEDIUM_USAGE_HIST   0x0340

Definition at line 1135 of file scsi_all.h.

◆ SMA_ATTR_NEXT_UNENC_BLOCK

#define SMA_ATTR_NEXT_UNENC_BLOCK   0x0225

Definition at line 1133 of file scsi_all.h.

◆ SMA_ATTR_PART_USAGE_HIST

#define SMA_ATTR_PART_USAGE_HIST   0x0341

Definition at line 1136 of file scsi_all.h.

◆ SMA_ATTR_PART_USER_LABEL

#define SMA_ATTR_PART_USER_LABEL   0x0809

Definition at line 1169 of file scsi_all.h.

◆ SMA_ATTR_REM_CAP_PARTITION

#define SMA_ATTR_REM_CAP_PARTITION   0x0000

Definition at line 1111 of file scsi_all.h.

◆ SMA_ATTR_TAPEALERT_FLAGS

#define SMA_ATTR_TAPEALERT_FLAGS   0x0002

Definition at line 1113 of file scsi_all.h.

◆ SMA_ATTR_TEXT_LOCAL_ID

#define SMA_ATTR_TEXT_LOCAL_ID   0x0805

Definition at line 1165 of file scsi_all.h.

◆ SMA_ATTR_TOTAL_MB_READ_CUR

#define SMA_ATTR_TOTAL_MB_READ_CUR   0x0223

Definition at line 1131 of file scsi_all.h.

◆ SMA_ATTR_TOTAL_MB_READ_LT

#define SMA_ATTR_TOTAL_MB_READ_LT   0x0221

Definition at line 1129 of file scsi_all.h.

◆ SMA_ATTR_TOTAL_MB_WRITTEN_CUR

#define SMA_ATTR_TOTAL_MB_WRITTEN_CUR   0x0222

Definition at line 1130 of file scsi_all.h.

◆ SMA_ATTR_TOTAL_MB_WRITTEN_LT

#define SMA_ATTR_TOTAL_MB_WRITTEN_LT   0x0220

Definition at line 1128 of file scsi_all.h.

◆ SMA_ATTR_USER_MED_TEXT_LABEL

#define SMA_ATTR_USER_MED_TEXT_LABEL   0x0803

Definition at line 1163 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_DEVICE_MAX

#define SMA_ATTR_VENDOR_DEVICE_MAX   0x0fff

Definition at line 1177 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_DEVICE_MIN

#define SMA_ATTR_VENDOR_DEVICE_MIN   0x0c00

Definition at line 1176 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_HOST_MAX

#define SMA_ATTR_VENDOR_HOST_MAX   0x17ff

Definition at line 1181 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_HOST_MIN

#define SMA_ATTR_VENDOR_HOST_MIN   0x1400

Definition at line 1180 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_MEDIUM_MAX

#define SMA_ATTR_VENDOR_MEDIUM_MAX   0x13ff

Definition at line 1179 of file scsi_all.h.

◆ SMA_ATTR_VENDOR_MEDIUM_MIN

#define SMA_ATTR_VENDOR_MEDIUM_MIN   0x1000

Definition at line 1178 of file scsi_all.h.

◆ SMA_ATTR_VOL_COHERENCY_INFO

#define SMA_ATTR_VOL_COHERENCY_INFO   0x080c

Definition at line 1172 of file scsi_all.h.

◆ SMA_ATTR_VOLUME_CHANGE_REF

#define SMA_ATTR_VOLUME_CHANGE_REF   0x0009

Definition at line 1121 of file scsi_all.h.

◆ SMA_ATTR_VOLUME_ID

#define SMA_ATTR_VOLUME_ID   0x0008

Definition at line 1120 of file scsi_all.h.

◆ SMA_FORMAT_ASCII

#define SMA_FORMAT_ASCII   0x01

Definition at line 1184 of file scsi_all.h.

◆ SMA_FORMAT_BINARY

#define SMA_FORMAT_BINARY   0x00

Definition at line 1183 of file scsi_all.h.

◆ SMA_FORMAT_MASK

#define SMA_FORMAT_MASK   0x03

Definition at line 1186 of file scsi_all.h.

◆ SMA_FORMAT_TEXT

#define SMA_FORMAT_TEXT   0x02

Definition at line 1185 of file scsi_all.h.

◆ SMA_READ_ONLY

#define SMA_READ_ONLY   0x80

Definition at line 1187 of file scsi_all.h.

◆ SMH_LONGLBA [1/2]

#define SMH_LONGLBA   0x01

Definition at line 3656 of file scsi_all.h.

◆ SMH_LONGLBA [2/2]

#define SMH_LONGLBA   0x01

Definition at line 3656 of file scsi_all.h.

◆ SMPH_PC_MASK

#define SMPH_PC_MASK   0x3f

Definition at line 3666 of file scsi_all.h.

◆ SMPH_PS

#define SMPH_PS   0x80

Definition at line 3664 of file scsi_all.h.

◆ SMPH_SPF

#define SMPH_SPF   0x40

Definition at line 3665 of file scsi_all.h.

◆ SMS10_LLBAA

#define SMS10_LLBAA   0x10

Definition at line 219 of file scsi_all.h.

◆ SMS_ALL_PAGES_PAGE

#define SMS_ALL_PAGES_PAGE   0x3F

Definition at line 202 of file scsi_all.h.

◆ SMS_CACHE_PAGE

#define SMS_CACHE_PAGE   0x08

Definition at line 197 of file scsi_all.h.

◆ SMS_CACHING_PAGE

#define SMS_CACHING_PAGE   0x08

Definition at line 781 of file scsi_all.h.

◆ SMS_CONTROL_MODE_PAGE

#define SMS_CONTROL_MODE_PAGE   0x0A

Definition at line 199 of file scsi_all.h.

◆ SMS_DBD

#define SMS_DBD   0x08

Definition at line 190 of file scsi_all.h.

◆ SMS_DISCONNECT_RECONNECT_PAGE

#define SMS_DISCONNECT_RECONNECT_PAGE   0x02

Definition at line 194 of file scsi_all.h.

◆ SMS_FORMAT_DEVICE_PAGE

#define SMS_FORMAT_DEVICE_PAGE   0x03

Definition at line 195 of file scsi_all.h.

◆ SMS_GEOMETRY_PAGE

#define SMS_GEOMETRY_PAGE   0x04

Definition at line 196 of file scsi_all.h.

◆ SMS_INFO_EXCEPTIONS_PAGE

#define SMS_INFO_EXCEPTIONS_PAGE   0x1C

Definition at line 201 of file scsi_all.h.

◆ SMS_PAGE_CODE

#define SMS_PAGE_CODE   0x3F

Definition at line 192 of file scsi_all.h.

◆ SMS_PAGE_CTRL_CHANGEABLE

#define SMS_PAGE_CTRL_CHANGEABLE   0x40

Definition at line 205 of file scsi_all.h.

◆ SMS_PAGE_CTRL_CURRENT

#define SMS_PAGE_CTRL_CURRENT   0x00

Definition at line 204 of file scsi_all.h.

◆ SMS_PAGE_CTRL_DEFAULT

#define SMS_PAGE_CTRL_DEFAULT   0x80

Definition at line 206 of file scsi_all.h.

◆ SMS_PAGE_CTRL_MASK

#define SMS_PAGE_CTRL_MASK   0xC0

Definition at line 203 of file scsi_all.h.

◆ SMS_PAGE_CTRL_SAVED

#define SMS_PAGE_CTRL_SAVED   0xC0

Definition at line 207 of file scsi_all.h.

◆ SMS_PERIPHERAL_DEVICE_PAGE

#define SMS_PERIPHERAL_DEVICE_PAGE   0x09

Definition at line 198 of file scsi_all.h.

◆ SMS_PF

#define SMS_PF   0x10

Definition at line 233 of file scsi_all.h.

◆ SMS_PROTO_SPECIFIC_PAGE

#define SMS_PROTO_SPECIFIC_PAGE   0x19

Definition at line 200 of file scsi_all.h.

◆ SMS_RTD

#define SMS_RTD   0x02

Definition at line 232 of file scsi_all.h.

◆ SMS_SP

#define SMS_SP   0x01

Definition at line 231 of file scsi_all.h.

◆ SMS_SUBPAGE_ALL

#define SMS_SUBPAGE_ALL   0xff

Definition at line 210 of file scsi_all.h.

◆ SMS_SUBPAGE_PAGE_0

#define SMS_SUBPAGE_PAGE_0   0x00

Definition at line 209 of file scsi_all.h.

◆ SMS_VENDOR_SPECIFIC_PAGE

#define SMS_VENDOR_SPECIFIC_PAGE   0x00

Definition at line 193 of file scsi_all.h.

◆ SPC2_SID_ADDR16

#define SPC2_SID_ADDR16   0x01

Definition at line 2249 of file scsi_all.h.

◆ SPC2_SID_BQueue

#define SPC2_SID_BQueue   0x80

Definition at line 2253 of file scsi_all.h.

◆ SPC2_SID_EncServ

#define SPC2_SID_EncServ   0x40

Definition at line 2252 of file scsi_all.h.

◆ SPC2_SID_MChngr

#define SPC2_SID_MChngr   0x08

Definition at line 2250 of file scsi_all.h.

◆ SPC2_SID_MultiP

#define SPC2_SID_MultiP   0x10

Definition at line 2251 of file scsi_all.h.

◆ SPC3_SID_3PC

#define SPC3_SID_3PC   0x08

Definition at line 2242 of file scsi_all.h.

◆ SPC3_SID_ACC

#define SPC3_SID_ACC   0x40

Definition at line 2246 of file scsi_all.h.

◆ SPC3_SID_PROTECT

#define SPC3_SID_PROTECT   0x01

Definition at line 2241 of file scsi_all.h.

◆ SPC3_SID_SCCS

#define SPC3_SID_SCCS   0x80

Definition at line 2247 of file scsi_all.h.

◆ SPC3_SID_TPGS_EXPLICIT

#define SPC3_SID_TPGS_EXPLICIT   0x20

Definition at line 2245 of file scsi_all.h.

◆ SPC3_SID_TPGS_IMPLICIT

#define SPC3_SID_TPGS_IMPLICIT   0x10

Definition at line 2244 of file scsi_all.h.

◆ SPC3_SID_TPGS_MASK

#define SPC3_SID_TPGS_MASK   0x30

Definition at line 2243 of file scsi_all.h.

◆ SPI_INC_512

#define SPI_INC_512   0x80

Definition at line 3206 of file scsi_all.h.

◆ SPI_PROT_ATA_DEVICE_PASSWORD

#define SPI_PROT_ATA_DEVICE_PASSWORD   0xEF

Definition at line 3203 of file scsi_all.h.

◆ SPI_PROT_AUTH_HOST_TRANSIENT

#define SPI_PROT_AUTH_HOST_TRANSIENT   0xEE

Definition at line 3202 of file scsi_all.h.

◆ SPI_PROT_CBCS

#define SPI_PROT_CBCS   0x07

Definition at line 3195 of file scsi_all.h.

◆ SPI_PROT_DATA_ENC_CONFIG

#define SPI_PROT_DATA_ENC_CONFIG   0x21

Definition at line 3197 of file scsi_all.h.

◆ SPI_PROT_IKEV2_SCSI

#define SPI_PROT_IKEV2_SCSI   0x41

Definition at line 3199 of file scsi_all.h.

◆ SPI_PROT_INFORMATION

#define SPI_PROT_INFORMATION   0x00

Definition at line 3194 of file scsi_all.h.

◆ SPI_PROT_JEDEC_UFS

#define SPI_PROT_JEDEC_UFS   0xEC

Definition at line 3200 of file scsi_all.h.

◆ SPI_PROT_SA_CREATE_CAP

#define SPI_PROT_SA_CREATE_CAP   0x40

Definition at line 3198 of file scsi_all.h.

◆ SPI_PROT_SDCARD_TFSSS

#define SPI_PROT_SDCARD_TFSSS   0xED

Definition at line 3201 of file scsi_all.h.

◆ SPI_PROT_TAPE_DATA_ENC

#define SPI_PROT_TAPE_DATA_ENC   0x20

Definition at line 3196 of file scsi_all.h.

◆ SPO_INC_512

#define SPO_INC_512   0x80

Definition at line 3219 of file scsi_all.h.

◆ SPR_ALL_TG_PT

#define SPR_ALL_TG_PT   0x04

Definition at line 436 of file scsi_all.h.

◆ SPR_APTPL

#define SPR_APTPL   0x01

Definition at line 437 of file scsi_all.h.

◆ SPR_ELEMENT_SCOPE

#define SPR_ELEMENT_SCOPE   0x20

Definition at line 413 of file scsi_all.h.

◆ SPR_EXTENT_SCOPE

#define SPR_EXTENT_SCOPE   0x10

Definition at line 412 of file scsi_all.h.

◆ SPR_LU_SCOPE

#define SPR_LU_SCOPE   0x00

Definition at line 411 of file scsi_all.h.

◆ SPR_REG_MOVE_APTPL

#define SPR_REG_MOVE_APTPL   0x01

Definition at line 459 of file scsi_all.h.

◆ SPR_REG_MOVE_UNREG

#define SPR_REG_MOVE_UNREG   0x02

Definition at line 458 of file scsi_all.h.

◆ SPR_SCOPE_MASK

#define SPR_SCOPE_MASK   0xf0

Definition at line 409 of file scsi_all.h.

◆ SPR_SCOPE_SHIFT

#define SPR_SCOPE_SHIFT   4

Definition at line 410 of file scsi_all.h.

◆ SPR_SPEC_I_PT

#define SPR_SPEC_I_PT   0x08

Definition at line 435 of file scsi_all.h.

◆ SPR_TYPE_EX_AC

#define SPR_TYPE_EX_AC   0x03

Definition at line 418 of file scsi_all.h.

◆ SPR_TYPE_EX_AC_AR

#define SPR_TYPE_EX_AC_AR   0x08

Definition at line 423 of file scsi_all.h.

◆ SPR_TYPE_EX_AC_RO

#define SPR_TYPE_EX_AC_RO   0x06

Definition at line 421 of file scsi_all.h.

◆ SPR_TYPE_MASK

#define SPR_TYPE_MASK   0x0f

Definition at line 414 of file scsi_all.h.

◆ SPR_TYPE_RD_EX

#define SPR_TYPE_RD_EX   0x02

Definition at line 417 of file scsi_all.h.

◆ SPR_TYPE_RD_SHARED

#define SPR_TYPE_RD_SHARED   0x00

Definition at line 415 of file scsi_all.h.

◆ SPR_TYPE_SHARED

#define SPR_TYPE_SHARED   0x04

Definition at line 419 of file scsi_all.h.

◆ SPR_TYPE_WR_EX

#define SPR_TYPE_WR_EX   0x01

Definition at line 416 of file scsi_all.h.

◆ SPR_TYPE_WR_EX_AR

#define SPR_TYPE_WR_EX_AR   0x07

Definition at line 422 of file scsi_all.h.

◆ SPR_TYPE_WR_EX_RO

#define SPR_TYPE_WR_EX_RO   0x05

Definition at line 420 of file scsi_all.h.

◆ SPRI_ALLOW_1

#define SPRI_ALLOW_1   0x10

Definition at line 337 of file scsi_all.h.

◆ SPRI_ALLOW_2

#define SPRI_ALLOW_2   0x20

Definition at line 338 of file scsi_all.h.

◆ SPRI_ALLOW_3

#define SPRI_ALLOW_3   0x30

Definition at line 339 of file scsi_all.h.

◆ SPRI_ALLOW_4

#define SPRI_ALLOW_4   0x40

Definition at line 340 of file scsi_all.h.

◆ SPRI_ALLOW_5

#define SPRI_ALLOW_5   0x50

Definition at line 341 of file scsi_all.h.

◆ SPRI_ALLOW_CMD_MASK

#define SPRI_ALLOW_CMD_MASK   0x70

Definition at line 334 of file scsi_all.h.

◆ SPRI_ALLOW_CMD_SHIFT

#define SPRI_ALLOW_CMD_SHIFT   4

Definition at line 335 of file scsi_all.h.

◆ SPRI_ALLOW_NA

#define SPRI_ALLOW_NA   0x00

Definition at line 336 of file scsi_all.h.

◆ SPRI_ATP_C

#define SPRI_ATP_C   0x04

Definition at line 330 of file scsi_all.h.

◆ SPRI_CRH

#define SPRI_CRH   0x10

Definition at line 328 of file scsi_all.h.

◆ SPRI_FULL_ALL_TG_PT

#define SPRI_FULL_ALL_TG_PT   0x02

Definition at line 379 of file scsi_all.h.

◆ SPRI_FULL_R_HOLDER

#define SPRI_FULL_R_HOLDER   0x01

Definition at line 380 of file scsi_all.h.

◆ SPRI_MAX_LEN

#define SPRI_MAX_LEN   0xffff

Definition at line 302 of file scsi_all.h.

◆ SPRI_PTPL_A

#define SPRI_PTPL_A   0x01

Definition at line 342 of file scsi_all.h.

◆ SPRI_PTPL_C

#define SPRI_PTPL_C   0x01

Definition at line 331 of file scsi_all.h.

◆ SPRI_RC

#define SPRI_RC   0x02

Definition at line 298 of file scsi_all.h.

◆ SPRI_RK

#define SPRI_RK   0x00

Definition at line 296 of file scsi_all.h.

◆ SPRI_RLR_C

#define SPRI_RLR_C   0x80

Definition at line 327 of file scsi_all.h.

◆ SPRI_RR

#define SPRI_RR   0x01

Definition at line 297 of file scsi_all.h.

◆ SPRI_RS

#define SPRI_RS   0x03

Definition at line 299 of file scsi_all.h.

◆ SPRI_SIP_C

#define SPRI_SIP_C   0x08

Definition at line 329 of file scsi_all.h.

◆ SPRI_TM_EX_AC

#define SPRI_TM_EX_AC   0x0800

Definition at line 347 of file scsi_all.h.

◆ SPRI_TM_EX_AC_AR

#define SPRI_TM_EX_AC_AR   0x0001

Definition at line 349 of file scsi_all.h.

◆ SPRI_TM_EX_AC_RO

#define SPRI_TM_EX_AC_RO   0x4000

Definition at line 345 of file scsi_all.h.

◆ SPRI_TM_WR_EX

#define SPRI_TM_WR_EX   0x0200

Definition at line 348 of file scsi_all.h.

◆ SPRI_TM_WR_EX_AR

#define SPRI_TM_WR_EX_AR   0x8000

Definition at line 344 of file scsi_all.h.

◆ SPRI_TM_WR_EX_RO

#define SPRI_TM_WR_EX_RO   0x2000

Definition at line 346 of file scsi_all.h.

◆ SPRI_TMV

#define SPRI_TMV   0x80

Definition at line 333 of file scsi_all.h.

◆ SPRO_ACTION_MASK

#define SPRO_ACTION_MASK   0x1f

Definition at line 407 of file scsi_all.h.

◆ SPRO_CLEAR

#define SPRO_CLEAR   0x03

Definition at line 401 of file scsi_all.h.

◆ SPRO_PRE_ABO

#define SPRO_PRE_ABO   0x05

Definition at line 403 of file scsi_all.h.

◆ SPRO_PREEMPT

#define SPRO_PREEMPT   0x04

Definition at line 402 of file scsi_all.h.

◆ SPRO_REG_IGNO

#define SPRO_REG_IGNO   0x06

Definition at line 404 of file scsi_all.h.

◆ SPRO_REG_MOVE

#define SPRO_REG_MOVE   0x07

Definition at line 405 of file scsi_all.h.

◆ SPRO_REGISTER

#define SPRO_REGISTER   0x00

Definition at line 398 of file scsi_all.h.

◆ SPRO_RELEASE

#define SPRO_RELEASE   0x02

Definition at line 400 of file scsi_all.h.

◆ SPRO_REPL_LOST_RES

#define SPRO_REPL_LOST_RES   0x08

Definition at line 406 of file scsi_all.h.

◆ SPRO_RESERVE

#define SPRO_RESERVE   0x01

Definition at line 399 of file scsi_all.h.

◆ SPRT_EA

#define SPRT_EA   0x03

Definition at line 360 of file scsi_all.h.

◆ SPRT_EAAR

#define SPRT_EAAR   0x08

Definition at line 364 of file scsi_all.h.

◆ SPRT_EARO

#define SPRT_EARO   0x06

Definition at line 362 of file scsi_all.h.

◆ SPRT_WE

#define SPRT_WE   0x01

Definition at line 359 of file scsi_all.h.

◆ SPRT_WEAR

#define SPRT_WEAR   0x07

Definition at line 363 of file scsi_all.h.

◆ SPRT_WERO

#define SPRT_WERO   0x05

Definition at line 361 of file scsi_all.h.

◆ SPSP_PAGE_SAVABLE

#define SPSP_PAGE_SAVABLE   0x80 /* Page is savable */

Definition at line 874 of file scsi_all.h.

◆ SPSP_PROTO_1394

#define SPSP_PROTO_1394   SCSI_PROTO_1394

Definition at line 880 of file scsi_all.h.

◆ SPSP_PROTO_ADT

#define SPSP_PROTO_ADT   SCSI_PROTO_ADITP

Definition at line 884 of file scsi_all.h.

◆ SPSP_PROTO_ATA

#define SPSP_PROTO_ATA   SCSI_PROTO_ATA

Definition at line 885 of file scsi_all.h.

◆ SPSP_PROTO_FC

#define SPSP_PROTO_FC   SCSI_PROTO_FC

Definition at line 877 of file scsi_all.h.

◆ SPSP_PROTO_ISCSI

#define SPSP_PROTO_ISCSI   SCSI_PROTO_ISCSI

Definition at line 882 of file scsi_all.h.

◆ SPSP_PROTO_NONE

#define SPSP_PROTO_NONE   SCSI_PROTO_NONE

Definition at line 888 of file scsi_all.h.

◆ SPSP_PROTO_RDMA

#define SPSP_PROTO_RDMA   SCSI_PROTO_RDMA

Definition at line 881 of file scsi_all.h.

◆ SPSP_PROTO_SAS

#define SPSP_PROTO_SAS   SCSI_PROTO_SAS

Definition at line 883 of file scsi_all.h.

◆ SPSP_PROTO_SOP

#define SPSP_PROTO_SOP   SCSI_PROTO_SOP

Definition at line 887 of file scsi_all.h.

◆ SPSP_PROTO_SPI

#define SPSP_PROTO_SPI   SCSI_PROTO_SPI

Definition at line 878 of file scsi_all.h.

◆ SPSP_PROTO_SSA

#define SPSP_PROTO_SSA   SCSI_PROTO_SSA

Definition at line 879 of file scsi_all.h.

◆ SPSP_PROTO_UAS

#define SPSP_PROTO_UAS   SCSI_PROTO_UAS

Definition at line 886 of file scsi_all.h.

◆ SR10_3RDPTY

#define SR10_3RDPTY   0x10

Definition at line 907 of file scsi_all.h.

◆ SR10_EXTENT

#define SR10_EXTENT   0x01

Definition at line 909 of file scsi_all.h.

◆ SR10_LONGID

#define SR10_LONGID   0x02

Definition at line 908 of file scsi_all.h.

◆ SR_3RDPTY

#define SR_3RDPTY   0x10

Definition at line 897 of file scsi_all.h.

◆ SR_EXTENT

#define SR_EXTENT   0x01

Definition at line 895 of file scsi_all.h.

◆ SR_ID_MASK

#define SR_ID_MASK   0x0e

Definition at line 896 of file scsi_all.h.

◆ SR_LUN_MASK

#define SR_LUN_MASK   0xe0

Definition at line 898 of file scsi_all.h.

◆ SRA_CACHE

#define SRA_CACHE   0x01

Definition at line 1077 of file scsi_all.h.

◆ SRA_SA_ATTR_LIST

#define SRA_SA_ATTR_LIST   0x01

Definition at line 1063 of file scsi_all.h.

◆ SRA_SA_ATTR_VALUES

#define SRA_SA_ATTR_VALUES   0x00

Definition at line 1062 of file scsi_all.h.

◆ SRA_SA_LOG_VOL_LIST

#define SRA_SA_LOG_VOL_LIST   0x02

Definition at line 1064 of file scsi_all.h.

◆ SRA_SA_MASK

#define SRA_SA_MASK   0x1f

Definition at line 1068 of file scsi_all.h.

◆ SRA_SA_PART_LIST

#define SRA_SA_PART_LIST   0x03

Definition at line 1065 of file scsi_all.h.

◆ SRA_SA_RESTRICTED

#define SRA_SA_RESTRICTED   0x04

Definition at line 1066 of file scsi_all.h.

◆ SRA_SA_SUPPORTED_ATTRS

#define SRA_SA_SUPPORTED_ATTRS   0x05

Definition at line 1067 of file scsi_all.h.

◆ SRC16_LALBA

#define SRC16_LALBA   0x3f

Definition at line 2954 of file scsi_all.h.

◆ SRC16_LALBA_A

#define SRC16_LALBA_A   0x3fff

Definition at line 2961 of file scsi_all.h.

◆ SRC16_LBPME

#define SRC16_LBPME   0x80

Definition at line 2956 of file scsi_all.h.

◆ SRC16_LBPME_A

#define SRC16_LBPME_A   0x8000

Definition at line 2963 of file scsi_all.h.

◆ SRC16_LBPPBE

#define SRC16_LBPPBE   0x0f

Definition at line 2950 of file scsi_all.h.

◆ SRC16_LBPRZ

#define SRC16_LBPRZ   0x40

Definition at line 2955 of file scsi_all.h.

◆ SRC16_LBPRZ_A

#define SRC16_LBPRZ_A   0x4000

Definition at line 2962 of file scsi_all.h.

◆ SRC16_P_TYPE

#define SRC16_P_TYPE   0x0e

Definition at line 2944 of file scsi_all.h.

◆ SRC16_P_TYPE_SHIFT

#define SRC16_P_TYPE_SHIFT   1

Definition at line 2945 of file scsi_all.h.

◆ SRC16_PI_EXPONENT

#define SRC16_PI_EXPONENT   0xf0

Definition at line 2951 of file scsi_all.h.

◆ SRC16_PI_EXPONENT_SHIFT

#define SRC16_PI_EXPONENT_SHIFT   4

Definition at line 2952 of file scsi_all.h.

◆ SRC16_PMI

#define SRC16_PMI   0x01

Definition at line 2927 of file scsi_all.h.

◆ SRC16_PROT_EN

#define SRC16_PROT_EN   0x01

Definition at line 2943 of file scsi_all.h.

◆ SRC16_PTYPE_1

#define SRC16_PTYPE_1   0x00

Definition at line 2946 of file scsi_all.h.

◆ SRC16_PTYPE_2

#define SRC16_PTYPE_2   0x02

Definition at line 2947 of file scsi_all.h.

◆ SRC16_PTYPE_3

#define SRC16_PTYPE_3   0x04

Definition at line 2948 of file scsi_all.h.

◆ SRC16_RELADR

#define SRC16_RELADR   0x02

Definition at line 2928 of file scsi_all.h.

◆ SRC16_SERVICE_ACTION

#define SRC16_SERVICE_ACTION   0x10

Definition at line 2923 of file scsi_all.h.

◆ SRC_PMI

#define SRC_PMI   0x01

Definition at line 2916 of file scsi_all.h.

◆ SRC_RELADR

#define SRC_RELADR   0x01

Definition at line 2912 of file scsi_all.h.

◆ SRD_PCV

#define SRD_PCV   0x01

Definition at line 140 of file scsi_all.h.

◆ SRS_DESC

#define SRS_DESC   0x01

Definition at line 123 of file scsi_all.h.

◆ SRW10_DPO

#define SRW10_DPO   0x10

Definition at line 1284 of file scsi_all.h.

◆ SRW10_EBP

#define SRW10_EBP   0x04

Definition at line 1282 of file scsi_all.h.

◆ SRW10_FUA

#define SRW10_FUA   0x08

Definition at line 1283 of file scsi_all.h.

◆ SRW10_RELADDR

#define SRW10_RELADDR   0x01

Definition at line 1280 of file scsi_all.h.

◆ SRW12_DPO

#define SRW12_DPO   0x10

Definition at line 1297 of file scsi_all.h.

◆ SRW12_FUA

#define SRW12_FUA   0x08

Definition at line 1296 of file scsi_all.h.

◆ SRW12_RELADDR

#define SRW12_RELADDR   0x01

Definition at line 1295 of file scsi_all.h.

◆ SRW16_DPO

#define SRW16_DPO   0x10

Definition at line 1310 of file scsi_all.h.

◆ SRW16_FUA

#define SRW16_FUA   0x08

Definition at line 1309 of file scsi_all.h.

◆ SRW16_RELADDR

#define SRW16_RELADDR   0x01

Definition at line 1308 of file scsi_all.h.

◆ SRW_TOPADDR

#define SRW_TOPADDR   0x1F

Definition at line 1272 of file scsi_all.h.

◆ SS_ERRMASK

#define SS_ERRMASK   0xff

Definition at line 99 of file scsi_all.h.

◆ SS_FATAL

#define SS_FATAL   SS_FAIL|SSQ_PRINT_SENSE

Definition at line 111 of file scsi_all.h.

◆ SS_RDEF

#define SS_RDEF   SS_RETRY|SSQ_DECREMENT_COUNT|SSQ_PRINT_SENSE|EIO

Definition at line 102 of file scsi_all.h.

◆ SS_RET

Definition at line 105 of file scsi_all.h.

◆ SS_WAIT

Definition at line 108 of file scsi_all.h.

◆ SSC_IMMED

#define SSC_IMMED   0x02

Definition at line 952 of file scsi_all.h.

◆ SSC_RELADR

#define SSC_RELADR   0x01

Definition at line 953 of file scsi_all.h.

◆ SSD_BITPTR_VALID

#define SSD_BITPTR_VALID   0x08

Definition at line 3305 of file scsi_all.h.

◆ SSD_BITPTR_VALUE

#define SSD_BITPTR_VALUE   0x07

Definition at line 3306 of file scsi_all.h.

◆ SSD_CURRENT_ERROR

#define SSD_CURRENT_ERROR   0x70

Definition at line 3270 of file scsi_all.h.

◆ SSD_DEFERRED_ERROR

#define SSD_DEFERRED_ERROR   0x71

Definition at line 3271 of file scsi_all.h.

◆ SSD_DESC_ATA

#define SSD_DESC_ATA   0x09

Definition at line 3576 of file scsi_all.h.

◆ SSD_DESC_ATA_FLAG_EXTEND

#define SSD_DESC_ATA_FLAG_EXTEND   0x01

Definition at line 3579 of file scsi_all.h.

◆ SSD_DESC_BLOCK

#define SSD_DESC_BLOCK   0x05

Definition at line 3514 of file scsi_all.h.

◆ SSD_DESC_BLOCK_ILI

#define SSD_DESC_BLOCK_ILI   0x20

Definition at line 3518 of file scsi_all.h.

◆ SSD_DESC_COMMAND

#define SSD_DESC_COMMAND   0x01

Definition at line 3383 of file scsi_all.h.

◆ SSD_DESC_CURRENT_ERROR

#define SSD_DESC_CURRENT_ERROR   0x72

Definition at line 3325 of file scsi_all.h.

◆ SSD_DESC_DEFERRED_ERROR

#define SSD_DESC_DEFERRED_ERROR   0x73

Definition at line 3326 of file scsi_all.h.

◆ SSD_DESC_FORWARDED

#define SSD_DESC_FORWARDED   0x0c

Definition at line 3617 of file scsi_all.h.

◆ SSD_DESC_FRU

#define SSD_DESC_FRU   0x03

Definition at line 3477 of file scsi_all.h.

◆ SSD_DESC_INFO

#define SSD_DESC_INFO   0x00

Definition at line 3362 of file scsi_all.h.

◆ SSD_DESC_IS_PRESENT

#define SSD_DESC_IS_PRESENT (   sense,
  length,
  field 
)
Value:
((length >= (offsetof(struct scsi_sense_data_desc, field) + \
sizeof(sense->field))) ? 1 :0)

Definition at line 3339 of file scsi_all.h.

◆ SSD_DESC_OSD_ATTR_ID

#define SSD_DESC_OSD_ATTR_ID   0x08

Definition at line 3563 of file scsi_all.h.

◆ SSD_DESC_OSD_INTEGRITY

#define SSD_DESC_OSD_INTEGRITY   0x07

Definition at line 3550 of file scsi_all.h.

◆ SSD_DESC_OSD_OBJID

#define SSD_DESC_OSD_OBJID   0x06

Definition at line 3529 of file scsi_all.h.

◆ SSD_DESC_PROGRESS

#define SSD_DESC_PROGRESS   0x0a

Definition at line 3600 of file scsi_all.h.

◆ SSD_DESC_SKS

#define SSD_DESC_SKS   0x02

Definition at line 3398 of file scsi_all.h.

◆ SSD_DESC_STREAM

#define SSD_DESC_STREAM   0x04

Definition at line 3492 of file scsi_all.h.

◆ SSD_DESC_STREAM_EOM

#define SSD_DESC_STREAM_EOM   0x40

Definition at line 3497 of file scsi_all.h.

◆ SSD_DESC_STREAM_FM

#define SSD_DESC_STREAM_FM   0x80

Definition at line 3496 of file scsi_all.h.

◆ SSD_DESC_STREAM_ILI

#define SSD_DESC_STREAM_ILI   0x20

Definition at line 3498 of file scsi_all.h.

◆ SSD_DESC_VENDOR_MAX

#define SSD_DESC_VENDOR_MAX   0xff

Definition at line 3637 of file scsi_all.h.

◆ SSD_DESC_VENDOR_MIN

#define SSD_DESC_VENDOR_MIN   0x80

Definition at line 3636 of file scsi_all.h.

◆ SSD_DEVOFFL

#define SSD_DEVOFFL   0x02

Definition at line 150 of file scsi_all.h.

◆ SSD_EOM

#define SSD_EOM   0x40

Definition at line 3294 of file scsi_all.h.

◆ SSD_ERRCODE

#define SSD_ERRCODE   0x7F

Definition at line 3269 of file scsi_all.h.

◆ SSD_ERRCODE_VALID

#define SSD_ERRCODE_VALID   0x80

Definition at line 3272 of file scsi_all.h.

◆ SSD_EXTRA_MAX

#define SSD_EXTRA_MAX   244

Definition at line 3260 of file scsi_all.h.

◆ SSD_FIELDPTR_CMD

#define SSD_FIELDPTR_CMD   0x40

Definition at line 3304 of file scsi_all.h.

◆ SSD_FILEMARK

#define SSD_FILEMARK   0x80

Definition at line 3295 of file scsi_all.h.

◆ SSD_FIXED_IS_FILLED

#define SSD_FIXED_IS_FILLED (   sense,
  field 
)
Value:
((((offsetof(struct scsi_sense_data_fixed, field) + \
sizeof(sense->field)) - \
(offsetof(struct scsi_sense_data_fixed, extra_len) + \
sizeof(sense->extra_len))) <= sense->extra_len) ? 1 : 0)

Definition at line 3311 of file scsi_all.h.

◆ SSD_FIXED_IS_PRESENT

#define SSD_FIXED_IS_PRESENT (   sense,
  length,
  field 
)
Value:
((length >= (offsetof(struct scsi_sense_data_fixed, field) + \
sizeof(sense->field))) ? 1 :0)

Definition at line 3308 of file scsi_all.h.

◆ SSD_FORWARDED_FSDT

#define SSD_FORWARDED_FSDT   0x80

Definition at line 3620 of file scsi_all.h.

◆ SSD_FORWARDED_SDS_EXDST

#define SSD_FORWARDED_SDS_EXDST   0x02

Definition at line 3624 of file scsi_all.h.

◆ SSD_FORWARDED_SDS_EXSRC

#define SSD_FORWARDED_SDS_EXSRC   0x01

Definition at line 3623 of file scsi_all.h.

◆ SSD_FORWARDED_SDS_MASK

#define SSD_FORWARDED_SDS_MASK   0x0f

Definition at line 3621 of file scsi_all.h.

◆ SSD_FORWARDED_SDS_UNK

#define SSD_FORWARDED_SDS_UNK   0x00

Definition at line 3622 of file scsi_all.h.

◆ SSD_FULL_SIZE

#define SSD_FULL_SIZE   252

Definition at line 3251 of file scsi_all.h.

◆ SSD_ILI

#define SSD_ILI   0x20

Definition at line 3293 of file scsi_all.h.

◆ SSD_INFO_VALID

#define SSD_INFO_VALID   0x80

Definition at line 3365 of file scsi_all.h.

◆ SSD_KEY

#define SSD_KEY   0x0F

Definition at line 3275 of file scsi_all.h.

◆ SSD_KEY_ABORTED_COMMAND

#define SSD_KEY_ABORTED_COMMAND   0x0b

Definition at line 3287 of file scsi_all.h.

◆ SSD_KEY_BLANK_CHECK

#define SSD_KEY_BLANK_CHECK   0x08

Definition at line 3284 of file scsi_all.h.

◆ SSD_KEY_COMPLETED

#define SSD_KEY_COMPLETED   0x0f

Definition at line 3291 of file scsi_all.h.

◆ SSD_KEY_COPY_ABORTED

#define SSD_KEY_COPY_ABORTED   0x0a

Definition at line 3286 of file scsi_all.h.

◆ SSD_KEY_DATA_PROTECT

#define SSD_KEY_DATA_PROTECT   0x07

Definition at line 3283 of file scsi_all.h.

◆ SSD_KEY_EQUAL

#define SSD_KEY_EQUAL   0x0c

Definition at line 3288 of file scsi_all.h.

◆ SSD_KEY_HARDWARE_ERROR

#define SSD_KEY_HARDWARE_ERROR   0x04

Definition at line 3280 of file scsi_all.h.

◆ SSD_KEY_ILLEGAL_REQUEST

#define SSD_KEY_ILLEGAL_REQUEST   0x05

Definition at line 3281 of file scsi_all.h.

◆ SSD_KEY_MEDIUM_ERROR

#define SSD_KEY_MEDIUM_ERROR   0x03

Definition at line 3279 of file scsi_all.h.

◆ SSD_KEY_MISCOMPARE

#define SSD_KEY_MISCOMPARE   0x0e

Definition at line 3290 of file scsi_all.h.

◆ SSD_KEY_NO_SENSE

#define SSD_KEY_NO_SENSE   0x00

Definition at line 3276 of file scsi_all.h.

◆ SSD_KEY_NOT_READY

#define SSD_KEY_NOT_READY   0x02

Definition at line 3278 of file scsi_all.h.

◆ SSD_KEY_RECOVERED_ERROR

#define SSD_KEY_RECOVERED_ERROR   0x01

Definition at line 3277 of file scsi_all.h.

◆ SSD_KEY_UNIT_ATTENTION

#define SSD_KEY_UNIT_ATTENTION   0x06

Definition at line 3282 of file scsi_all.h.

◆ SSD_KEY_Vendor_Specific

#define SSD_KEY_Vendor_Specific   0x09

Definition at line 3285 of file scsi_all.h.

◆ SSD_KEY_VOLUME_OVERFLOW

#define SSD_KEY_VOLUME_OVERFLOW   0x0d

Definition at line 3289 of file scsi_all.h.

◆ SSD_MIN_SIZE

#define SSD_MIN_SIZE   18

Definition at line 3256 of file scsi_all.h.

◆ SSD_PF

#define SSD_PF   0x10

Definition at line 152 of file scsi_all.h.

◆ SSD_SCS_VALID

#define SSD_SCS_VALID   0x80

Definition at line 3303 of file scsi_all.h.

◆ SSD_SDAT_OVFL

#define SSD_SDAT_OVFL   0x10

Definition at line 3292 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_BG_ABORT

#define SSD_SELF_TEST_CODE_BG_ABORT   0x04

Definition at line 158 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_BG_EXTENDED

#define SSD_SELF_TEST_CODE_BG_EXTENDED   0x02

Definition at line 157 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_BG_SHORT

#define SSD_SELF_TEST_CODE_BG_SHORT   0x01

Definition at line 156 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_FG_EXTENDED

#define SSD_SELF_TEST_CODE_FG_EXTENDED   0x06

Definition at line 160 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_FG_SHORT

#define SSD_SELF_TEST_CODE_FG_SHORT   0x05

Definition at line 159 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_MASK

#define SSD_SELF_TEST_CODE_MASK   0xE0

Definition at line 153 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_NONE

#define SSD_SELF_TEST_CODE_NONE   0x00

Definition at line 155 of file scsi_all.h.

◆ SSD_SELF_TEST_CODE_SHIFT

#define SSD_SELF_TEST_CODE_SHIFT   5

Definition at line 154 of file scsi_all.h.

◆ SSD_SELFTEST

#define SSD_SELFTEST   0x04

Definition at line 151 of file scsi_all.h.

◆ SSD_SKS_BIT_VALUE

#define SSD_SKS_BIT_VALUE   0x07

Definition at line 3415 of file scsi_all.h.

◆ SSD_SKS_BPV

#define SSD_SKS_BPV   0x08

Definition at line 3414 of file scsi_all.h.

◆ SSD_SKS_FIELD_CMD

#define SSD_SKS_FIELD_CMD   0x40

Definition at line 3413 of file scsi_all.h.

◆ SSD_SKS_FIELD_VALID

#define SSD_SKS_FIELD_VALID   0x80

Definition at line 3412 of file scsi_all.h.

◆ SSD_SKS_OVERFLOW_SET

#define SSD_SKS_OVERFLOW_SET   0x01

Definition at line 3464 of file scsi_all.h.

◆ SSD_SKS_OVERFLOW_VALID

#define SSD_SKS_OVERFLOW_VALID   0x80

Definition at line 3463 of file scsi_all.h.

◆ SSD_SKS_PROGRESS_DENOM

#define SSD_SKS_PROGRESS_DENOM   0x10000

Definition at line 3438 of file scsi_all.h.

◆ SSD_SKS_PROGRESS_VALID

#define SSD_SKS_PROGRESS_VALID   0x80

Definition at line 3436 of file scsi_all.h.

◆ SSD_SKS_RETRY_VALID

#define SSD_SKS_RETRY_VALID   0x80

Definition at line 3426 of file scsi_all.h.

◆ SSD_SKS_SEGMENT_BITPTR

#define SSD_SKS_SEGMENT_BITPTR   0x07

Definition at line 3450 of file scsi_all.h.

◆ SSD_SKS_SEGMENT_BPV

#define SSD_SKS_SEGMENT_BPV   0x08

Definition at line 3449 of file scsi_all.h.

◆ SSD_SKS_SEGMENT_SD

#define SSD_SKS_SEGMENT_SD   0x20

Definition at line 3448 of file scsi_all.h.

◆ SSD_SKS_SEGMENT_VALID

#define SSD_SKS_SEGMENT_VALID   0x80

Definition at line 3447 of file scsi_all.h.

◆ SSD_SKS_VALID

#define SSD_SKS_VALID   0x80

Definition at line 3402 of file scsi_all.h.

◆ SSD_UNITOFFL

#define SSD_UNITOFFL   0x01

Definition at line 149 of file scsi_all.h.

◆ SSDD_SDAT_OVFL

#define SSDD_SDAT_OVFL   0x80

Definition at line 3331 of file scsi_all.h.

◆ SSS_IMMED

#define SSS_IMMED   0x01

Definition at line 1416 of file scsi_all.h.

◆ SSS_LOEJ

#define SSS_LOEJ   0x02

Definition at line 1420 of file scsi_all.h.

◆ SSS_PC_ACTIVE

#define SSS_PC_ACTIVE   0x10

Definition at line 1423 of file scsi_all.h.

◆ SSS_PC_FORCE_IDLE_0

#define SSS_PC_FORCE_IDLE_0   0xa0

Definition at line 1427 of file scsi_all.h.

◆ SSS_PC_FORCE_STANDBY_0

#define SSS_PC_FORCE_STANDBY_0   0xb0

Definition at line 1428 of file scsi_all.h.

◆ SSS_PC_IDLE

#define SSS_PC_IDLE   0x20

Definition at line 1424 of file scsi_all.h.

◆ SSS_PC_LU_CONTROL

#define SSS_PC_LU_CONTROL   0x70

Definition at line 1426 of file scsi_all.h.

◆ SSS_PC_MASK

#define SSS_PC_MASK   0xf0

Definition at line 1421 of file scsi_all.h.

◆ SSS_PC_STANDBY

#define SSS_PC_STANDBY   0x30

Definition at line 1425 of file scsi_all.h.

◆ SSS_PC_START_VALID

#define SSS_PC_START_VALID   0x00

Definition at line 1422 of file scsi_all.h.

◆ SSS_START

#define SSS_START   0x01

Definition at line 1419 of file scsi_all.h.

◆ START_STOP

#define START_STOP   0x1B

Definition at line 2089 of file scsi_all.h.

◆ START_STOP_UNIT

#define START_STOP_UNIT   0x1B

Definition at line 2088 of file scsi_all.h.

◆ STG_PDF_EXTENDED

#define STG_PDF_EXTENDED   0x20

Definition at line 3109 of file scsi_all.h.

◆ STG_PDF_LENGTH

#define STG_PDF_LENGTH   0x00

Definition at line 3108 of file scsi_all.h.

◆ STG_PDF_MASK

#define STG_PDF_MASK   0xe0

Definition at line 3107 of file scsi_all.h.

◆ SU_ANCHOR

#define SU_ANCHOR   0x01

Definition at line 1358 of file scsi_all.h.

◆ SVPD_ATA_INFORMATION

#define SVPD_ATA_INFORMATION   0x89

Definition at line 2637 of file scsi_all.h.

◆ SVPD_BDC

#define SVPD_BDC   0xB1

Definition at line 2800 of file scsi_all.h.

◆ SVPD_BL_PL_BASIC

#define SVPD_BL_PL_BASIC   0x10

Definition at line 2865 of file scsi_all.h.

◆ SVPD_BL_PL_TP

#define SVPD_BL_PL_TP   0x3C

Definition at line 2866 of file scsi_all.h.

◆ SVPD_BL_WSNZ

#define SVPD_BL_WSNZ   0x01

Definition at line 2868 of file scsi_all.h.

◆ SVPD_BLOCK_LIMITS

#define SVPD_BLOCK_LIMITS   0xB0

Definition at line 2863 of file scsi_all.h.

◆ SVPD_BOCS

#define SVPD_BOCS   0x04

Definition at line 2810 of file scsi_all.h.

◆ SVPD_DEVICE_ID

#define SVPD_DEVICE_ID   0x83

Definition at line 2354 of file scsi_all.h.

◆ SVPD_DEVICE_ID_DESC_HDR_LEN

#define SVPD_DEVICE_ID_DESC_HDR_LEN    __offsetof(struct scsi_vpd_id_descriptor, identifier)

Definition at line 2393 of file scsi_all.h.

◆ SVPD_DEVICE_ID_HDR_LEN

#define SVPD_DEVICE_ID_HDR_LEN    __offsetof(struct scsi_vpd_device_id, desc_list)

Definition at line 2356 of file scsi_all.h.

◆ SVPD_DEVICE_ID_MAX_SIZE

#define SVPD_DEVICE_ID_MAX_SIZE   252

Definition at line 2355 of file scsi_all.h.

◆ SVPD_DM_ZBC

#define SVPD_DM_ZBC   0x20 /* Drive Managed */

Definition at line 2814 of file scsi_all.h.

◆ SVPD_EID_AM_DEFER

#define SVPD_EID_AM_DEFER   0x80

Definition at line 2514 of file scsi_all.h.

◆ SVPD_EID_AM_IMMED

#define SVPD_EID_AM_IMMED   0x40

Definition at line 2515 of file scsi_all.h.

◆ SVPD_EID_AM_MASK

#define SVPD_EID_AM_MASK   0xC0

Definition at line 2513 of file scsi_all.h.

◆ SVPD_EID_AM_RESERVED

#define SVPD_EID_AM_RESERVED   0xc0

Definition at line 2517 of file scsi_all.h.

◆ SVPD_EID_AM_UNDEFINED

#define SVPD_EID_AM_UNDEFINED   0x00

Definition at line 2516 of file scsi_all.h.

◆ SVPD_EID_APP_CHK

#define SVPD_EID_APP_CHK   0x02

Definition at line 2531 of file scsi_all.h.

◆ SVPD_EID_CBCS

#define SVPD_EID_CBCS   0x01

Definition at line 2558 of file scsi_all.h.

◆ SVPD_EID_CRD_SUP

#define SVPD_EID_CRD_SUP   0x04

Definition at line 2543 of file scsi_all.h.

◆ SVPD_EID_GRD_CHK

#define SVPD_EID_GRD_CHK   0x04

Definition at line 2530 of file scsi_all.h.

◆ SVPD_EID_GROUP_SUP

#define SVPD_EID_GROUP_SUP   0x10

Definition at line 2536 of file scsi_all.h.

◆ SVPD_EID_HEADSUP

#define SVPD_EID_HEADSUP   0x04

Definition at line 2538 of file scsi_all.h.

◆ SVPD_EID_HRA_SUP

#define SVPD_EID_HRA_SUP   0x40

Definition at line 2568 of file scsi_all.h.

◆ SVPD_EID_HSSRELEF

#define SVPD_EID_HSSRELEF   0x02

Definition at line 2557 of file scsi_all.h.

◆ SVPD_EID_IAS

#define SVPD_EID_IAS   0x40

Definition at line 2573 of file scsi_all.h.

◆ SVPD_EID_IBS

#define SVPD_EID_IBS   0x80

Definition at line 2572 of file scsi_all.h.

◆ SVPD_EID_LUCT_CONGL

#define SVPD_EID_LUCT_CONGL   0x20

Definition at line 2553 of file scsi_all.h.

◆ SVPD_EID_LUCT_GROUP

#define SVPD_EID_LUCT_GROUP   0x40

Definition at line 2554 of file scsi_all.h.

◆ SVPD_EID_LUCT_MASK

#define SVPD_EID_LUCT_MASK   0xe0

Definition at line 2551 of file scsi_all.h.

◆ SVPD_EID_LUCT_NOT_REP

#define SVPD_EID_LUCT_NOT_REP   0x00

Definition at line 2552 of file scsi_all.h.

◆ SVPD_EID_LUICLR

#define SVPD_EID_LUICLR   0x01

Definition at line 2549 of file scsi_all.h.

◆ SVPD_EID_MC_MODE_1

#define SVPD_EID_MC_MODE_1   0x01

Definition at line 2562 of file scsi_all.h.

◆ SVPD_EID_MC_MODE_2

#define SVPD_EID_MC_MODE_2   0x02

Definition at line 2563 of file scsi_all.h.

◆ SVPD_EID_MC_MODE_3

#define SVPD_EID_MC_MODE_3   0x03

Definition at line 2564 of file scsi_all.h.

◆ SVPD_EID_MC_VENDOR_SPEC

#define SVPD_EID_MC_VENDOR_SPEC   0x00

Definition at line 2561 of file scsi_all.h.

◆ SVPD_EID_MULTI_I_T_FW

#define SVPD_EID_MULTI_I_T_FW   0x0F

Definition at line 2560 of file scsi_all.h.

◆ SVPD_EID_NO_PI_CHK

#define SVPD_EID_NO_PI_CHK   0x20

Definition at line 2547 of file scsi_all.h.

◆ SVPD_EID_NRD0

#define SVPD_EID_NRD0   0x01

Definition at line 2576 of file scsi_all.h.

◆ SVPD_EID_NRD1

#define SVPD_EID_NRD1   0x02

Definition at line 2575 of file scsi_all.h.

◆ SVPD_EID_NV_SUP

#define SVPD_EID_NV_SUP   0x02

Definition at line 2544 of file scsi_all.h.

◆ SVPD_EID_ORDSUP

#define SVPD_EID_ORDSUP   0x02

Definition at line 2539 of file scsi_all.h.

◆ SVPD_EID_P_I_I_SUP

#define SVPD_EID_P_I_I_SUP   0x10

Definition at line 2548 of file scsi_all.h.

◆ SVPD_EID_POA_SUP

#define SVPD_EID_POA_SUP   0x80

Definition at line 2567 of file scsi_all.h.

◆ SVPD_EID_PRIOR_SUP

#define SVPD_EID_PRIOR_SUP   0x08

Definition at line 2537 of file scsi_all.h.

◆ SVPD_EID_R_SUP

#define SVPD_EID_R_SUP   0x10

Definition at line 2555 of file scsi_all.h.

◆ SVPD_EID_REF_CHK

#define SVPD_EID_REF_CHK   0x01

Definition at line 2532 of file scsi_all.h.

◆ SVPD_EID_RTD_SUP

#define SVPD_EID_RTD_SUP   0x08

Definition at line 2556 of file scsi_all.h.

◆ SVPD_EID_SA_SPT_LBP

#define SVPD_EID_SA_SPT_LBP   0x08

Definition at line 2528 of file scsi_all.h.

◆ SVPD_EID_SAC

#define SVPD_EID_SAC   0x04

Definition at line 2574 of file scsi_all.h.

◆ SVPD_EID_SIMPSUP

#define SVPD_EID_SIMPSUP   0x01

Definition at line 2540 of file scsi_all.h.

◆ SVPD_EID_SPT

#define SVPD_EID_SPT   0x38

Definition at line 2518 of file scsi_all.h.

◆ SVPD_EID_SPT_1

#define SVPD_EID_SPT_1   0x00

Definition at line 2519 of file scsi_all.h.

◆ SVPD_EID_SPT_12

#define SVPD_EID_SPT_12   0x08

Definition at line 2520 of file scsi_all.h.

◆ SVPD_EID_SPT_123

#define SVPD_EID_SPT_123   0x38

Definition at line 2525 of file scsi_all.h.

◆ SVPD_EID_SPT_13

#define SVPD_EID_SPT_13   0x18

Definition at line 2522 of file scsi_all.h.

◆ SVPD_EID_SPT_2

#define SVPD_EID_SPT_2   0x10

Definition at line 2521 of file scsi_all.h.

◆ SVPD_EID_SPT_23

#define SVPD_EID_SPT_23   0x28

Definition at line 2524 of file scsi_all.h.

◆ SVPD_EID_SPT_3

#define SVPD_EID_SPT_3   0x20

Definition at line 2523 of file scsi_all.h.

◆ SVPD_EID_UASK_SUP

#define SVPD_EID_UASK_SUP   0x20

Definition at line 2535 of file scsi_all.h.

◆ SVPD_EID_V_SUP

#define SVPD_EID_V_SUP   0x01

Definition at line 2545 of file scsi_all.h.

◆ SVPD_EID_VSA_SUP

#define SVPD_EID_VSA_SUP   0x20

Definition at line 2569 of file scsi_all.h.

◆ SVPD_EID_WU_SUP

#define SVPD_EID_WU_SUP   0x08

Definition at line 2542 of file scsi_all.h.

◆ SVPD_EXTENDED_INQUIRY_DATA

#define SVPD_EXTENDED_INQUIRY_DATA   0x86

Definition at line 2508 of file scsi_all.h.

◆ SVPD_FUAB

#define SVPD_FUAB   0x02

Definition at line 2809 of file scsi_all.h.

◆ SVPD_HAW_ZBC

#define SVPD_HAW_ZBC   0x10 /* Host Aware */

Definition at line 2813 of file scsi_all.h.

◆ SVPD_ID_ASSOC_LUN

#define SVPD_ID_ASSOC_LUN   0x00

Definition at line 2375 of file scsi_all.h.

◆ SVPD_ID_ASSOC_MASK

#define SVPD_ID_ASSOC_MASK   0x30

Definition at line 2378 of file scsi_all.h.

◆ SVPD_ID_ASSOC_PORT

#define SVPD_ID_ASSOC_PORT   0x10

Definition at line 2376 of file scsi_all.h.

◆ SVPD_ID_ASSOC_TARGET

#define SVPD_ID_ASSOC_TARGET   0x20

Definition at line 2377 of file scsi_all.h.

◆ SVPD_ID_CODESET_ASCII

#define SVPD_ID_CODESET_ASCII   0x02

Definition at line 2370 of file scsi_all.h.

◆ SVPD_ID_CODESET_BINARY

#define SVPD_ID_CODESET_BINARY   0x01

Definition at line 2369 of file scsi_all.h.

◆ SVPD_ID_CODESET_MASK

#define SVPD_ID_CODESET_MASK   0x0f

Definition at line 2372 of file scsi_all.h.

◆ SVPD_ID_CODESET_UTF8

#define SVPD_ID_CODESET_UTF8   0x03

Definition at line 2371 of file scsi_all.h.

◆ SVPD_ID_NAA_IEEE_EXT

#define SVPD_ID_NAA_IEEE_EXT   0x02

Definition at line 2418 of file scsi_all.h.

◆ SVPD_ID_NAA_IEEE_REG

#define SVPD_ID_NAA_IEEE_REG   0x05

Definition at line 2420 of file scsi_all.h.

◆ SVPD_ID_NAA_IEEE_REG_EXT

#define SVPD_ID_NAA_IEEE_REG_EXT   0x06

Definition at line 2421 of file scsi_all.h.

◆ SVPD_ID_NAA_LOCAL_REG

#define SVPD_ID_NAA_LOCAL_REG   0x03

Definition at line 2419 of file scsi_all.h.

◆ SVPD_ID_NAA_NAA_SHIFT

#define SVPD_ID_NAA_NAA_SHIFT   4

Definition at line 2417 of file scsi_all.h.

◆ SVPD_ID_PIV

#define SVPD_ID_PIV   0x80

Definition at line 2374 of file scsi_all.h.

◆ SVPD_ID_PROTO_SHIFT

#define SVPD_ID_PROTO_SHIFT   4

Definition at line 2368 of file scsi_all.h.

◆ SVPD_ID_TYPE_EUI64

#define SVPD_ID_TYPE_EUI64   0x02

Definition at line 2381 of file scsi_all.h.

◆ SVPD_ID_TYPE_LUNGRP

#define SVPD_ID_TYPE_LUNGRP   0x06

Definition at line 2385 of file scsi_all.h.

◆ SVPD_ID_TYPE_MASK

#define SVPD_ID_TYPE_MASK   0x0f

Definition at line 2390 of file scsi_all.h.

◆ SVPD_ID_TYPE_MD5_LUN_ID

#define SVPD_ID_TYPE_MD5_LUN_ID   0x07

Definition at line 2386 of file scsi_all.h.

◆ SVPD_ID_TYPE_NAA

#define SVPD_ID_TYPE_NAA   0x03

Definition at line 2382 of file scsi_all.h.

◆ SVPD_ID_TYPE_PROTO

#define SVPD_ID_TYPE_PROTO   0x09

Definition at line 2388 of file scsi_all.h.

◆ SVPD_ID_TYPE_RELTARG

#define SVPD_ID_TYPE_RELTARG   0x04

Definition at line 2383 of file scsi_all.h.

◆ SVPD_ID_TYPE_SCSI_NAME

#define SVPD_ID_TYPE_SCSI_NAME   0x08

Definition at line 2387 of file scsi_all.h.

◆ SVPD_ID_TYPE_T10

#define SVPD_ID_TYPE_T10   0x01

Definition at line 2380 of file scsi_all.h.

◆ SVPD_ID_TYPE_TPORTGRP

#define SVPD_ID_TYPE_TPORTGRP   0x05

Definition at line 2384 of file scsi_all.h.

◆ SVPD_ID_TYPE_UUID

#define SVPD_ID_TYPE_UUID   0x0a

Definition at line 2389 of file scsi_all.h.

◆ SVPD_ID_TYPE_VENDOR

#define SVPD_ID_TYPE_VENDOR   0x00

Definition at line 2379 of file scsi_all.h.

◆ SVPD_LBP

#define SVPD_LBP   0xB2

Definition at line 2835 of file scsi_all.h.

◆ SVPD_LBP_ANC_SUP

#define SVPD_LBP_ANC_SUP   0x02

Definition at line 2844 of file scsi_all.h.

◆ SVPD_LBP_DP

#define SVPD_LBP_DP   0x01

Definition at line 2845 of file scsi_all.h.

◆ SVPD_LBP_PL_BASIC

#define SVPD_LBP_PL_BASIC   0x04

Definition at line 2837 of file scsi_all.h.

◆ SVPD_LBP_RESOURCE

#define SVPD_LBP_RESOURCE   0x01

Definition at line 2847 of file scsi_all.h.

◆ SVPD_LBP_RZ

#define SVPD_LBP_RZ   0x04

Definition at line 2843 of file scsi_all.h.

◆ SVPD_LBP_THIN

#define SVPD_LBP_THIN   0x02

Definition at line 2848 of file scsi_all.h.

◆ SVPD_LBP_UNMAP

#define SVPD_LBP_UNMAP   0x80

Definition at line 2840 of file scsi_all.h.

◆ SVPD_LBP_WS10

#define SVPD_LBP_WS10   0x20

Definition at line 2842 of file scsi_all.h.

◆ SVPD_LBP_WS16

#define SVPD_LBP_WS16   0x40

Definition at line 2841 of file scsi_all.h.

◆ SVPD_MODE_PAGE_POLICY

#define SVPD_MODE_PAGE_POLICY   0x87

Definition at line 2596 of file scsi_all.h.

◆ SVPD_MPP_I_T

#define SVPD_MPP_I_T   0x03

Definition at line 2587 of file scsi_all.h.

◆ SVPD_MPP_MLUS

#define SVPD_MPP_MLUS   0x80

Definition at line 2588 of file scsi_all.h.

◆ SVPD_MPP_PORT

#define SVPD_MPP_PORT   0x01

Definition at line 2586 of file scsi_all.h.

◆ SVPD_MPP_SHARED

#define SVPD_MPP_SHARED   0x00

Definition at line 2585 of file scsi_all.h.

◆ SVPD_NON_ROTATING

#define SVPD_NON_ROTATING   0x0001

Definition at line 2804 of file scsi_all.h.

◆ SVPD_NOT_REPORTED

#define SVPD_NOT_REPORTED   0x0000

Definition at line 2803 of file scsi_all.h.

◆ SVPD_RBWZ

#define SVPD_RBWZ   0x08

Definition at line 2811 of file scsi_all.h.

◆ SVPD_SCSI_PORTS

#define SVPD_SCSI_PORTS   0x88

Definition at line 2628 of file scsi_all.h.

◆ SVPD_SCSI_SFS

#define SVPD_SCSI_SFS   0x92

Definition at line 2787 of file scsi_all.h.

◆ SVPD_SCSI_TPC

#define SVPD_SCSI_TPC   0x8F

Definition at line 2775 of file scsi_all.h.

◆ SVPD_SERIAL_NUM_SIZE

#define SVPD_SERIAL_NUM_SIZE   251

Definition at line 2346 of file scsi_all.h.

◆ SVPD_SUPPORTED_PAGE_LIST

#define SVPD_SUPPORTED_PAGE_LIST   0x00

Definition at line 2317 of file scsi_all.h.

◆ SVPD_SUPPORTED_PAGES

#define SVPD_SUPPORTED_PAGES   0x00

Definition at line 2334 of file scsi_all.h.

◆ SVPD_SUPPORTED_PAGES_HDR_LEN

#define SVPD_SUPPORTED_PAGES_HDR_LEN   4

Definition at line 2318 of file scsi_all.h.

◆ SVPD_SUPPORTED_PAGES_SIZE

#define SVPD_SUPPORTED_PAGES_SIZE   251

Definition at line 2321 of file scsi_all.h.

◆ SVPD_TPC_BDRL

#define SVPD_TPC_BDRL   0x0000

Definition at line 2649 of file scsi_all.h.

◆ SVPD_TPC_GCO

#define SVPD_TPC_GCO   0x8001

Definition at line 2761 of file scsi_all.h.

◆ SVPD_TPC_PD

#define SVPD_TPC_PD   0x0004

Definition at line 2678 of file scsi_all.h.

◆ SVPD_TPC_RTF

#define SVPD_TPC_RTF   0x0106

Definition at line 2724 of file scsi_all.h.

◆ SVPD_TPC_RTF_BLOCK

#define SVPD_TPC_RTF_BLOCK   0x00

Definition at line 2709 of file scsi_all.h.

◆ SVPD_TPC_SC

#define SVPD_TPC_SC   0x0001

Definition at line 2669 of file scsi_all.h.

◆ SVPD_TPC_SD

#define SVPD_TPC_SD   0x0008

Definition at line 2691 of file scsi_all.h.

◆ SVPD_TPC_SDID

#define SVPD_TPC_SDID   0x000C

Definition at line 2700 of file scsi_all.h.

◆ SVPD_TPC_SRT

#define SVPD_TPC_SRT   0x0108

Definition at line 2751 of file scsi_all.h.

◆ SVPD_TPC_SRTD_ECPY

#define SVPD_TPC_SRTD_ECPY   0x80

Definition at line 2742 of file scsi_all.h.

◆ SVPD_TPC_SRTD_TIN

#define SVPD_TPC_SRTD_TIN   0x02

Definition at line 2741 of file scsi_all.h.

◆ SVPD_TPC_SRTD_TOUT

#define SVPD_TPC_SRTD_TOUT   0x01

Definition at line 2740 of file scsi_all.h.

◆ SVPD_UNIT_SERIAL_NUMBER

#define SVPD_UNIT_SERIAL_NUMBER   0x80

Definition at line 2343 of file scsi_all.h.

◆ SVPD_VBULS

#define SVPD_VBULS   0x01

Definition at line 2808 of file scsi_all.h.

◆ SVPD_ZBC_MASK

#define SVPD_ZBC_MASK   0x30 /* Zoned mask */

Definition at line 2815 of file scsi_all.h.

◆ SVPD_ZBC_NR

#define SVPD_ZBC_NR   0x00 /* Not Reported */

Definition at line 2812 of file scsi_all.h.

◆ SVPD_ZBDC_MAX_SEQ_UNLIMITED

#define SVPD_ZBDC_MAX_SEQ_UNLIMITED   0xffffffff

Definition at line 2904 of file scsi_all.h.

◆ SVPD_ZBDC_OPT_NONSEQ_NR

#define SVPD_ZBDC_OPT_NONSEQ_NR   0xffffffff

Definition at line 2902 of file scsi_all.h.

◆ SVPD_ZBDC_OPT_SEQ_NR

#define SVPD_ZBDC_OPT_SEQ_NR   0xffffffff

Definition at line 2900 of file scsi_all.h.

◆ SVPD_ZBDC_PL

#define SVPD_ZBDC_PL   0x3C

Definition at line 2895 of file scsi_all.h.

◆ SVPD_ZBDC_URSWRZ

#define SVPD_ZBDC_URSWRZ   0x01

Definition at line 2897 of file scsi_all.h.

◆ SVPD_ZONED_BDC

#define SVPD_ZONED_BDC   0xB6

Definition at line 2893 of file scsi_all.h.

◆ SWA_WTC

#define SWA_WTC   0x01

Definition at line 1085 of file scsi_all.h.

◆ SWS_ANCHOR

#define SWS_ANCHOR   0x10

Definition at line 1336 of file scsi_all.h.

◆ SWS_LBDATA

#define SWS_LBDATA   0x02

Definition at line 1333 of file scsi_all.h.

◆ SWS_NDOB

#define SWS_NDOB   0x01

Definition at line 1347 of file scsi_all.h.

◆ SWS_PBDATA

#define SWS_PBDATA   0x04

Definition at line 1334 of file scsi_all.h.

◆ SWS_UNMAP

#define SWS_UNMAP   0x08

Definition at line 1335 of file scsi_all.h.

◆ SWV_BYTCHK

#define SWV_BYTCHK   0x02

Definition at line 1383 of file scsi_all.h.

◆ SWV_DPO

#define SWV_DPO   0x10

Definition at line 1384 of file scsi_all.h.

◆ SWV_WRPROECT_MASK

#define SWV_WRPROECT_MASK   0xe0

Definition at line 1385 of file scsi_all.h.

◆ SYNCHRONIZE_CACHE

#define SYNCHRONIZE_CACHE   0x35

Definition at line 2101 of file scsi_all.h.

◆ SYNCHRONIZE_CACHE_16

#define SYNCHRONIZE_CACHE_16   0x91

Definition at line 2128 of file scsi_all.h.

◆ T_ADC

#define T_ADC   0x12

Definition at line 2187 of file scsi_all.h.

◆ T_ANY

#define T_ANY   0xff /* Used in Quirk table matches */

Definition at line 2190 of file scsi_all.h.

◆ T_ASC0

#define T_ASC0   0x0a

Definition at line 2180 of file scsi_all.h.

◆ T_ASC1

#define T_ASC1   0x0b

Definition at line 2181 of file scsi_all.h.

◆ T_CDROM

#define T_CDROM   0x05

Definition at line 2175 of file scsi_all.h.

◆ T_CHANGER

#define T_CHANGER   0x08

Definition at line 2178 of file scsi_all.h.

◆ T_COMM

#define T_COMM   0x09

Definition at line 2179 of file scsi_all.h.

◆ T_DIRECT

#define T_DIRECT   0x00

Definition at line 2170 of file scsi_all.h.

◆ T_ENCLOSURE

#define T_ENCLOSURE   0x0d

Definition at line 2183 of file scsi_all.h.

◆ T_FIXED

#define T_FIXED   0

Definition at line 2193 of file scsi_all.h.

◆ T_NODEVICE

#define T_NODEVICE   0x1f

Definition at line 2189 of file scsi_all.h.

◆ T_OCRW

#define T_OCRW   0x0f

Definition at line 2185 of file scsi_all.h.

◆ T_OPTICAL

#define T_OPTICAL   0x07

Definition at line 2177 of file scsi_all.h.

◆ T_OSD

#define T_OSD   0x11

Definition at line 2186 of file scsi_all.h.

◆ T_PRINTER

#define T_PRINTER   0x02

Definition at line 2172 of file scsi_all.h.

◆ T_PROCESSOR

#define T_PROCESSOR   0x03

Definition at line 2173 of file scsi_all.h.

◆ T_RBC

#define T_RBC   0x0e

Definition at line 2184 of file scsi_all.h.

◆ T_REMOV

#define T_REMOV   1

Definition at line 2192 of file scsi_all.h.

◆ T_SCANNER

#define T_SCANNER   0x06

Definition at line 2176 of file scsi_all.h.

◆ T_SEQUENTIAL

#define T_SEQUENTIAL   0x01

Definition at line 2171 of file scsi_all.h.

◆ T_STORARRAY

#define T_STORARRAY   0x0c

Definition at line 2182 of file scsi_all.h.

◆ T_WORM

#define T_WORM   0x04

Definition at line 2174 of file scsi_all.h.

◆ T_ZBC_HM

#define T_ZBC_HM   0x14

Definition at line 2188 of file scsi_all.h.

◆ TEST_UNIT_READY

#define TEST_UNIT_READY   0x00

Definition at line 2081 of file scsi_all.h.

◆ TPG_AN_SUP

#define TPG_AN_SUP   0x02

Definition at line 3160 of file scsi_all.h.

◆ TPG_AO_SUP

#define TPG_AO_SUP   0x01

Definition at line 3159 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_LBA_DEPENDENT

#define TPG_ASYMMETRIC_ACCESS_LBA_DEPENDENT   0x4

Definition at line 3155 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_NONOPTIMIZED

#define TPG_ASYMMETRIC_ACCESS_NONOPTIMIZED   0x1

Definition at line 3152 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_OFFLINE

#define TPG_ASYMMETRIC_ACCESS_OFFLINE   0xE

Definition at line 3156 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_OPTIMIZED

#define TPG_ASYMMETRIC_ACCESS_OPTIMIZED   0x0

Definition at line 3151 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_STANDBY

#define TPG_ASYMMETRIC_ACCESS_STANDBY   0x2

Definition at line 3153 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_STATE_MASK

#define TPG_ASYMMETRIC_ACCESS_STATE_MASK   0xf

Definition at line 3150 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_TRANSITIONING

#define TPG_ASYMMETRIC_ACCESS_TRANSITIONING   0xF

Definition at line 3157 of file scsi_all.h.

◆ TPG_ASYMMETRIC_ACCESS_UNAVAILABLE

#define TPG_ASYMMETRIC_ACCESS_UNAVAILABLE   0x3

Definition at line 3154 of file scsi_all.h.

◆ TPG_IMPLICIT

#define TPG_IMPLICIT   0x02

Definition at line 3171 of file scsi_all.h.

◆ TPG_LBD_SUP

#define TPG_LBD_SUP   0x10

Definition at line 3163 of file scsi_all.h.

◆ TPG_O_SUP

#define TPG_O_SUP   0x40

Definition at line 3164 of file scsi_all.h.

◆ TPG_PRIMARY

#define TPG_PRIMARY   0x80

Definition at line 3149 of file scsi_all.h.

◆ TPG_S_SUP

#define TPG_S_SUP   0x04

Definition at line 3161 of file scsi_all.h.

◆ TPG_SET_BY_STPG

#define TPG_SET_BY_STPG   0x01

Definition at line 3170 of file scsi_all.h.

◆ TPG_T_SUP

#define TPG_T_SUP   0x80

Definition at line 3165 of file scsi_all.h.

◆ TPG_U_SUP

#define TPG_U_SUP   0x08

Definition at line 3162 of file scsi_all.h.

◆ TPG_UNAVLBL

#define TPG_UNAVLBL   0

Definition at line 3169 of file scsi_all.h.

◆ UNMAP

#define UNMAP   0x42

Definition at line 2107 of file scsi_all.h.

◆ VARIABLE_LEN_CDB

#define VARIABLE_LEN_CDB   0x7F

Definition at line 2117 of file scsi_all.h.

◆ VERIFY_10

#define VERIFY_10   0x2F

Definition at line 2100 of file scsi_all.h.

◆ VERIFY_12

#define VERIFY_12   0xAF

Definition at line 2142 of file scsi_all.h.

◆ VERIFY_16

#define VERIFY_16   0x8F

Definition at line 2127 of file scsi_all.h.

◆ WRITE_10

#define WRITE_10   0x2A

Definition at line 2097 of file scsi_all.h.

◆ WRITE_12

#define WRITE_12   0xAA

Definition at line 2140 of file scsi_all.h.

◆ WRITE_16

#define WRITE_16   0x8A

Definition at line 2123 of file scsi_all.h.

◆ WRITE_6

#define WRITE_6   0x0A

Definition at line 2084 of file scsi_all.h.

◆ WRITE_ATOMIC_16

#define WRITE_ATOMIC_16   0x9C

Definition at line 2131 of file scsi_all.h.

◆ WRITE_ATTRIBUTE

#define WRITE_ATTRIBUTE   0x8D

Definition at line 2125 of file scsi_all.h.

◆ WRITE_BUFFER

#define WRITE_BUFFER   0x3B

Definition at line 2103 of file scsi_all.h.

◆ WRITE_SAME_10

#define WRITE_SAME_10   0x41

Definition at line 2106 of file scsi_all.h.

◆ WRITE_SAME_16

#define WRITE_SAME_16   0x93

Definition at line 2129 of file scsi_all.h.

◆ WRITE_VERIFY_10

#define WRITE_VERIFY_10   0x2E

Definition at line 2099 of file scsi_all.h.

◆ WRITE_VERIFY_12

#define WRITE_VERIFY_12   0xAE

Definition at line 2141 of file scsi_all.h.

◆ WRITE_VERIFY_16

#define WRITE_VERIFY_16   0x8E

Definition at line 2126 of file scsi_all.h.

Typedef Documentation

◆ scsi_devid_checkfn_t

typedef int(* scsi_devid_checkfn_t) (uint8_t *)

Definition at line 3918 of file scsi_all.h.

Enumeration Type Documentation

◆ scsi_attrib_flags

Enumerator
SCSI_ATTR_FLAG_NONE 
SCSI_ATTR_FLAG_HEX 
SCSI_ATTR_FLAG_FP 
SCSI_ATTR_FLAG_DIV_10 
SCSI_ATTR_FLAG_FP_1DIGIT 

Definition at line 1221 of file scsi_all.h.

◆ scsi_attrib_output_flags

Enumerator
SCSI_ATTR_OUTPUT_NONE 
SCSI_ATTR_OUTPUT_TEXT_MASK 
SCSI_ATTR_OUTPUT_TEXT_RAW 
SCSI_ATTR_OUTPUT_TEXT_ESC 
SCSI_ATTR_OUTPUT_TEXT_RSV1 
SCSI_ATTR_OUTPUT_TEXT_RSV2 
SCSI_ATTR_OUTPUT_NONASCII_MASK 
SCSI_ATTR_OUTPUT_NONASCII_TRIM 
SCSI_ATTR_OUTPUT_NONASCII_ESC 
SCSI_ATTR_OUTPUT_NONASCII_RAW 
SCSI_ATTR_OUTPUT_NONASCII_RSV1 
SCSI_ATTR_OUTPUT_FIELD_MASK 
SCSI_ATTR_OUTPUT_FIELD_ALL 
SCSI_ATTR_OUTPUT_FIELD_NONE 
SCSI_ATTR_OUTPUT_FIELD_DESC 
SCSI_ATTR_OUTPUT_FIELD_NUM 
SCSI_ATTR_OUTPUT_FIELD_SIZE 
SCSI_ATTR_OUTPUT_FIELD_RW 

Definition at line 1229 of file scsi_all.h.

◆ scsi_nv_flags

Enumerator
SCSI_NV_FLAG_NONE 
SCSI_NV_FLAG_IG_CASE 

Definition at line 3770 of file scsi_all.h.

◆ scsi_nv_status

Enumerator
SCSI_NV_FOUND 
SCSI_NV_AMBIGUOUS 
SCSI_NV_NOT_FOUND 

Definition at line 3764 of file scsi_all.h.

◆ scsi_sense_action

Enumerator
SS_NOP 
SS_RETRY 
SS_FAIL 
SS_START 
SS_TUR 
SS_MASK 

Definition at line 68 of file scsi_all.h.

◆ scsi_sense_action_qualifier

Enumerator
SSQ_NONE 
SSQ_DECREMENT_COUNT 
SSQ_MANY 
SSQ_RANGE 
SSQ_PRINT_SENSE 
SSQ_UA 
SSQ_RESCAN 
SSQ_LOST 
SSQ_MASK 

Definition at line 81 of file scsi_all.h.

◆ scsi_sense_data_type

Enumerator
SSD_TYPE_NONE 
SSD_TYPE_FIXED 
SSD_TYPE_DESC 

Definition at line 3226 of file scsi_all.h.

◆ scsi_sense_elem_type

Enumerator
SSD_ELEM_NONE 
SSD_ELEM_SKIP 
SSD_ELEM_DESC 
SSD_ELEM_SKS 
SSD_ELEM_COMMAND 
SSD_ELEM_INFO 
SSD_ELEM_FRU 
SSD_ELEM_STREAM 
SSD_ELEM_MAX 

Definition at line 3232 of file scsi_all.h.

◆ scsi_sense_string_flags

Enumerator
SSS_FLAG_NONE 
SSS_FLAG_PRINT_COMMAND 

Definition at line 3754 of file scsi_all.h.

Function Documentation

◆ _Static_assert() [1/5]

_Static_assert ( sizeof(struct scsi_get_physical_element_descriptor = =32,
"scsi_get_physical_element_descriptor wrong size"   
)

◆ _Static_assert() [2/5]

_Static_assert ( sizeof(struct scsi_get_physical_element_hdr = =32,
"scsi_get_physical_element_hdr wrong size"   
)

◆ _Static_assert() [3/5]

_Static_assert ( sizeof(struct scsi_get_physical_element_status = =16,
"scsi_get_physical_element_status wrong size"   
)

◆ _Static_assert() [4/5]

_Static_assert ( sizeof(struct scsi_remove_element_and_truncate = =16,
"scsi_remove_element_and_truncate wrong size"   
)

◆ _Static_assert() [5/5]

_Static_assert ( sizeof(struct scsi_vpd_block_device_characteristics = =64,
"scsi_vpd_block_characteristics wrong size"   
)

◆ find_mode_page_10()

static __inline void * find_mode_page_10 ( struct scsi_mode_header_10 mode_header)
static

Definition at line 4490 of file scsi_all.h.

Referenced by cdgetpage().

Here is the caller graph for this function:

◆ find_mode_page_6()

static __inline void * find_mode_page_6 ( struct scsi_mode_header_6 mode_header)
static

Definition at line 4479 of file scsi_all.h.

Referenced by cd6byteworkaround(), cdgetpage(), chdone(), and chgetparams().

Here is the caller graph for this function:

◆ scsi_2btoul()

static __inline uint32_t scsi_2btoul ( const uint8_t *  bytes)
static

◆ scsi_3btol()

static __inline int32_t scsi_3btol ( const uint8_t *  bytes)
static

Definition at line 4436 of file scsi_all.h.

◆ scsi_3btoul()

static __inline uint32_t scsi_3btoul ( const uint8_t *  bytes)
static

◆ scsi_4btoul()

static __inline uint32_t scsi_4btoul ( const uint8_t *  bytes)
static

Definition at line 4447 of file scsi_all.h.

Referenced by cddone(), ctl_backend_ramdisk_unmap(), ctl_be_block_unmap_dev(), ctl_be_block_unmap_file(), ctl_copy_operation_abort(), ctl_extended_copy_lid1(), ctl_extended_copy_lid4(), ctl_extent_check_unmap(), ctl_format(), ctl_get_lba_len(), ctl_get_lba_status(), ctl_ie_page_handler(), ctl_ie_timer(), ctl_persistent_reserve_out(), ctl_populate_token(), ctl_read_buffer(), ctl_read_capacity(), ctl_read_capacity_16(), ctl_read_defect(), ctl_read_write(), ctl_receive_copy_failure_details(), ctl_receive_copy_operating_parameters(), ctl_receive_copy_status_lid1(), ctl_receive_copy_status_lid4(), ctl_receive_rod_token_information(), ctl_report_all_rod_tokens(), ctl_report_ident_info(), ctl_report_luns(), ctl_report_supported_opcodes(), ctl_report_supported_tmf(), ctl_report_tagret_port_groups(), ctl_report_timestamp(), ctl_sense_to_desc(), ctl_sync_cache(), ctl_thresh_thread(), ctl_unmap(), ctl_verify(), ctl_write_same(), ctl_write_using_token(), ctlfe_adjust_cdb(), dadone_probeblklimits(), dadone_proberc(), dadone_probezone(), dazonedone(), probe_purge_old(), probedone(), sagetparams(), sagetpos(), saloadtimeouts(), sardpos(), sasetparams(), scsi_attrib_int_sbuf(), scsi_attrib_volcoh_sbuf(), scsi_get_sense_info(), scsi_scan_bus(), scsi_sense_only_sbuf(), ses_config_cache_valid(), ses_paths_iter(), ses_print_addl_data_ata(), ses_process_config(), ses_process_status(), tpc_check_ranges_l(), tpc_check_ranges_x(), tpc_process_wut(), tpc_process_zero_wut(), tpc_ranges_length(), and tpc_skip_ranges().

◆ scsi_8btou64()

◆ scsi_ata_identify()

void scsi_ata_identify ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t *  data_ptr,
u_int16_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 8284 of file scsi_all.c.

References AP_FLAG_BYT_BLOK_BLOCKS, AP_FLAG_TDIR_FROM_DEV, AP_FLAG_TLEN_SECT_CNT, AP_PROTO_PIO_IN, CAM_DIR_IN, and scsi_ata_pass().

Referenced by dastart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_ata_pass()

int scsi_ata_pass ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint32_t  flags,
uint8_t  tag_action,
uint8_t  protocol,
uint8_t  ata_flags,
uint16_t  features,
uint16_t  sector_count,
uint64_t  lba,
uint8_t  command,
uint8_t  device,
uint8_t  icc,
uint32_t  auxiliary,
uint8_t  control,
u_int8_t *  data_ptr,
uint32_t  dxfer_len,
uint8_t *  cdb_storage,
size_t  cdb_storage_len,
int  minimum_cmd_size,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_ata_pass_16()

void scsi_ata_pass_16 ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int32_t  flags,
u_int8_t  tag_action,
u_int8_t  protocol,
u_int8_t  ata_flags,
u_int16_t  features,
u_int16_t  sector_count,
uint64_t  lba,
u_int8_t  command,
u_int8_t  control,
u_int8_t *  data_ptr,
u_int16_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_ata_read_log()

int scsi_ata_read_log ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint32_t  log_address,
uint32_t  page_number,
uint16_t  block_count,
uint8_t  protocol,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
uint8_t  sense_len,
uint32_t  timeout 
)

Definition at line 8342 of file scsi_all.c.

References AP_EXTEND, AP_FLAG_BYT_BLOK_BLOCKS, AP_FLAG_TDIR_FROM_DEV, AP_FLAG_TLEN_SECT_CNT, AP_PROTO_DMA, AP_PROTO_PIO_IN, CAM_DIR_IN, and scsi_ata_pass().

Referenced by dastart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_ata_setfeatures()

int scsi_ata_setfeatures ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint8_t  feature,
uint64_t  lba,
uint32_t  count,
uint8_t  sense_len,
uint32_t  timeout 
)

Definition at line 8404 of file scsi_all.c.

References AP_FLAG_BYT_BLOK_BYTES, AP_FLAG_TDIR_FROM_DEV, AP_FLAG_TLEN_SECT_CNT, AP_PROTO_PIO_IN, CAM_DIR_NONE, and scsi_ata_pass().

Here is the call graph for this function:

◆ scsi_ata_trim()

void scsi_ata_trim ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int16_t  block_count,
u_int8_t *  data_ptr,
u_int16_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 8317 of file scsi_all.c.

References AP_EXTEND, AP_FLAG_BYT_BLOK_BLOCKS, AP_FLAG_TLEN_SECT_CNT, AP_PROTO_DMA, CAM_DIR_OUT, and scsi_ata_pass_16().

Referenced by da_delete_trim().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_attrib_ascii_sbuf()

int scsi_attrib_ascii_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_attrib_hexdump_sbuf()

int scsi_attrib_hexdump_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

Definition at line 7135 of file scsi_all.c.

References scsi_mam_attribute_header::attribute, scsi_mam_attribute_header::length, and scsi_2btoul().

Referenced by scsi_attrib_int_sbuf(), and scsi_attrib_value_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_attrib_int_sbuf()

int scsi_attrib_int_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_attrib_prefix_sbuf()

void scsi_attrib_prefix_sbuf ( struct sbuf *  sb,
uint32_t  output_flags,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
const char *  desc 
)

◆ scsi_attrib_sbuf()

int scsi_attrib_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
struct scsi_attrib_table_entry user_table,
size_t  num_user_entries,
int  prefer_user_table,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_attrib_text_sbuf()

int scsi_attrib_text_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

Definition at line 7299 of file scsi_all.c.

References scsi_mam_attribute_header::attribute, scsi_mam_attribute_header::id, scsi_mam_attribute_header::length, scsi_2btoul(), SCSI_ATTR_OUTPUT_TEXT_MASK, and SCSI_ATTR_OUTPUT_TEXT_RAW.

Referenced by scsi_attrib_value_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_attrib_value_sbuf()

int scsi_attrib_value_sbuf ( struct sbuf *  sb,
uint32_t  valid_len,
struct scsi_mam_attribute_header hdr,
uint32_t  output_flags,
char *  error_str,
size_t  error_str_len 
)

◆ scsi_attrib_vendser_sbuf()

int scsi_attrib_vendser_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_attrib_volcoh_sbuf()

int scsi_attrib_volcoh_sbuf ( struct sbuf *  sb,
struct scsi_mam_attribute_header hdr,
uint32_t  valid_len,
uint32_t  flags,
uint32_t  output_flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_block_sbuf()

void scsi_block_sbuf ( struct sbuf *  sb,
uint8_t  block_bits 
)

Definition at line 4506 of file scsi_all.c.

References SSD_DESC_BLOCK_ILI.

Referenced by scsi_sense_block_sbuf(), and scsi_sense_only_sbuf().

Here is the caller graph for this function:

◆ scsi_calc_syncparam()

u_int scsi_calc_syncparam ( u_int  period)

Definition at line 5562 of file scsi_all.c.

References period, period_factor, and scsi_syncrates.

◆ scsi_calc_syncsrate()

u_int scsi_calc_syncsrate ( u_int  period_factor)

Definition at line 5527 of file scsi_all.c.

References period, period_factor, and scsi_syncrates.

Referenced by _scsi_announce_periph().

Here is the caller graph for this function:

◆ scsi_cdb_sbuf()

void scsi_cdb_sbuf ( u_int8_t *  cdb_ptr,
struct sbuf *  sb 
)

Definition at line 3514 of file scsi_all.c.

Referenced by cam_periph_devctl_notify(), scsi_cdb_string(), and scsi_command_string().

Here is the caller graph for this function:

◆ scsi_cdb_string()

char * scsi_cdb_string ( u_int8_t *  cdb_ptr,
char *  cdb_string,
size_t  len 
)

Definition at line 3488 of file scsi_all.c.

References scsi_cdb_sbuf().

Referenced by ctl_scsi_command_string(), and scsi_proto_debug_out().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_command_sbuf()

void scsi_command_sbuf ( struct sbuf *  sb,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
uint64_t  csi 
)

Definition at line 4366 of file scsi_all.c.

Referenced by scsi_sense_command_sbuf(), and scsi_sense_only_sbuf().

Here is the caller graph for this function:

◆ scsi_command_string()

int scsi_command_string ( struct ccb_scsiio csio,
struct sbuf *  sb 
)

◆ scsi_create_timestamp()

void scsi_create_timestamp ( uint8_t *  timestamp_6b_buf,
uint64_t  timestamp 
)

Definition at line 8030 of file scsi_all.c.

References scsi_u64to8b().

Here is the call graph for this function:

◆ scsi_desc_iterate()

void scsi_desc_iterate ( struct scsi_sense_data_desc sense,
u_int  sense_len,
int(*)(struct scsi_sense_data_desc *sense, u_int, struct scsi_sense_desc_header *, void *)  iter_func,
void *  arg 
)

Definition at line 3658 of file scsi_all.c.

References scsi_sense_data_desc::extra_len, scsi_sense_desc_header::length, scsi_sense_data_desc::sense_desc, SSD_DESC_IS_PRESENT, and SSD_EXTRA_MAX.

Referenced by scsi_find_desc(), and scsi_sense_only_sbuf().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_eui64()

int scsi_devid_is_lun_eui64 ( uint8_t *  bufp)

Definition at line 5623 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_EUI64, and SVPD_ID_TYPE_MASK.

Referenced by tpc_create_token(), and xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_md5()

int scsi_devid_is_lun_md5 ( uint8_t *  bufp)

Definition at line 5675 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_MASK, and SVPD_ID_TYPE_MD5_LUN_ID.

Referenced by xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_naa()

int scsi_devid_is_lun_naa ( uint8_t *  bufp)

Definition at line 5636 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_MASK, and SVPD_ID_TYPE_NAA.

Referenced by tpc_create_token(), and xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_name()

int scsi_devid_is_lun_name ( uint8_t *  bufp)

Definition at line 5662 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_MASK, and SVPD_ID_TYPE_SCSI_NAME.

Referenced by xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_t10()

int scsi_devid_is_lun_t10 ( uint8_t *  bufp)

Definition at line 5649 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_MASK, and SVPD_ID_TYPE_T10.

Referenced by xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_lun_uuid()

int scsi_devid_is_lun_uuid ( uint8_t *  bufp)

Definition at line 5688 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, SVPD_ID_ASSOC_LUN, SVPD_ID_ASSOC_MASK, SVPD_ID_TYPE_MASK, and SVPD_ID_TYPE_UUID.

Referenced by xpt_getattr().

Here is the caller graph for this function:

◆ scsi_devid_is_naa_ieee_reg()

◆ scsi_devid_is_port_naa()

int scsi_devid_is_port_naa ( uint8_t *  bufp)

◆ scsi_devid_is_sas_target()

int scsi_devid_is_sas_target ( uint8_t *  bufp)

◆ scsi_devid_match()

int scsi_devid_match ( uint8_t *  lhs,
size_t  lhs_len,
uint8_t *  rhs,
size_t  rhs_len 
)

Compare two buffers of vpd device descriptors for a match.

Parameters
lhsPointer to first buffer of descriptors to compare.
lhs_lenThe length of the first buffer.
rhsPointer to second buffer of descriptors to compare.
rhs_lenThe length of the second buffer.
Returns
0 on a match, -1 otherwise.

Treat rhs and lhs as arrays of vpd device id descriptors. Walk lhs matching against each element in rhs until all data are exhausted or we have found a match.

Definition at line 9227 of file scsi_all.c.

References scsi_vpd_id_descriptor::id_type, scsi_vpd_id_descriptor::identifier, scsi_vpd_id_descriptor::length, SVPD_ID_ASSOC_MASK, and SVPD_ID_TYPE_MASK.

Referenced by tpcl_resolve(), and xptdevicematch().

Here is the caller graph for this function:

◆ scsi_error_action()

◆ scsi_extract_sense()

void scsi_extract_sense ( struct scsi_sense_data sense,
int *  error_code,
int *  sense_key,
int *  asc,
int *  ascq 
)

Definition at line 5203 of file scsi_all.c.

References scsi_extract_sense_len().

Here is the call graph for this function:

◆ scsi_extract_sense_ccb()

int scsi_extract_sense_ccb ( union ccb ccb,
int *  error_code,
int *  sense_key,
int *  asc,
int *  ascq 
)

◆ scsi_extract_sense_len()

◆ scsi_find_attrib_entry()

struct scsi_attrib_table_entry * scsi_find_attrib_entry ( struct scsi_attrib_table_entry table,
size_t  num_table_entries,
uint32_t  id 
)

Definition at line 7348 of file scsi_all.c.

Referenced by scsi_attrib_sbuf(), and scsi_get_attrib_entry().

Here is the caller graph for this function:

◆ scsi_find_desc()

uint8_t * scsi_find_desc ( struct scsi_sense_data_desc sense,
u_int  sense_len,
uint8_t  desc_type 
)

Definition at line 3746 of file scsi_all.c.

References scsi_find_desc_info::desc_type, scsi_find_desc_info::header, scsi_desc_iterate(), and scsi_find_desc_func().

Referenced by scsi_get_block_info(), scsi_get_sense_info(), scsi_get_sks(), and scsi_get_stream_info().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_fru_sbuf()

void scsi_fru_sbuf ( struct sbuf *  sb,
uint64_t  fru 
)

Definition at line 4476 of file scsi_all.c.

Referenced by scsi_sense_fru_sbuf(), and scsi_sense_only_sbuf().

Here is the caller graph for this function:

◆ scsi_get_asc()

int scsi_get_asc ( struct scsi_sense_data sense,
u_int  sense_len,
int  show_errors 
)

Definition at line 5333 of file scsi_all.c.

References scsi_sense_data_fixed::error_code, and scsi_extract_sense_len().

Here is the call graph for this function:

◆ scsi_get_ascq()

int scsi_get_ascq ( struct scsi_sense_data sense,
u_int  sense_len,
int  show_errors 
)

Definition at line 5345 of file scsi_all.c.

References scsi_sense_data_fixed::error_code, and scsi_extract_sense_len().

Here is the call graph for this function:

◆ scsi_get_attrib_entry()

struct scsi_attrib_table_entry * scsi_get_attrib_entry ( uint32_t  id)

Definition at line 7362 of file scsi_all.c.

References scsi_find_attrib_entry(), and scsi_mam_attr_table.

Here is the call graph for this function:

◆ scsi_get_block_info()

int scsi_get_block_info ( struct scsi_sense_data sense_data,
u_int  sense_len,
struct scsi_inquiry_data inq_data,
uint8_t *  block_bits 
)

Definition at line 4251 of file scsi_all.c.

References scsi_sense_block::byte3, scsi_sense_data_fixed::flags, scsi_find_desc(), scsi_sense_type(), SID_TYPE, SSD_DESC_BLOCK, SSD_FIXED_IS_PRESENT, SSD_ILI, SSD_TYPE_DESC, SSD_TYPE_FIXED, T_DIRECT, T_RBC, and T_ZBC_HM.

Referenced by scsi_sense_only_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_get_devid()

struct scsi_vpd_id_descriptor * scsi_get_devid ( struct scsi_vpd_device_id id,
uint32_t  len,
scsi_devid_checkfn_t  ck_fn 
)

Definition at line 5732 of file scsi_all.c.

References scsi_vpd_device_id::desc_list, scsi_vpd_device_id::length, scsi_2btoul(), and scsi_get_devid_desc().

Referenced by ses_set_physpath(), and xpt_getattr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_get_devid_desc()

struct scsi_vpd_id_descriptor * scsi_get_devid_desc ( struct scsi_vpd_id_descriptor desc,
uint32_t  len,
scsi_devid_checkfn_t  ck_fn 
)

Definition at line 5714 of file scsi_all.c.

References scsi_vpd_id_descriptor::identifier, and scsi_vpd_id_descriptor::length.

Referenced by scsi_get_devid(), and tpc_create_token().

Here is the caller graph for this function:

◆ scsi_get_nv()

scsi_nv_status scsi_get_nv ( struct scsi_nv table,
int  num_table_entries,
char *  name,
int *  table_entry,
scsi_nv_flags  flags 
)

Definition at line 5950 of file scsi_all.c.

References scsi_nv::name, SCSI_NV_AMBIGUOUS, SCSI_NV_FLAG_IG_CASE, SCSI_NV_FOUND, and SCSI_NV_NOT_FOUND.

Referenced by scsi_parse_transportid().

Here is the caller graph for this function:

◆ scsi_get_physical_element_status()

void scsi_get_physical_element_status ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint8_t *  data_ptr,
uint16_t  allocation_length,
uint8_t  report_type,
uint32_t  starting_element,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_get_sense_info()

int scsi_get_sense_info ( struct scsi_sense_data sense_data,
u_int  sense_len,
uint8_t  info_type,
uint64_t *  info,
int64_t *  signed_info 
)

◆ scsi_get_sense_key()

int scsi_get_sense_key ( struct scsi_sense_data sense,
u_int  sense_len,
int  show_errors 
)

Definition at line 5321 of file scsi_all.c.

References scsi_sense_data_fixed::error_code, and scsi_extract_sense_len().

Here is the call graph for this function:

◆ scsi_get_sks()

int scsi_get_sks ( struct scsi_sense_data sense_data,
u_int  sense_len,
uint8_t *  sks 
)

Definition at line 4193 of file scsi_all.c.

References scsi_find_desc(), scsi_sense_type(), scsi_sense_data_fixed::sense_key_spec, scsi_sense_sks::sense_key_spec, SSD_DESC_SKS, SSD_FIXED_IS_FILLED, SSD_FIXED_IS_PRESENT, SSD_SCS_VALID, SSD_SKS_VALID, SSD_TYPE_DESC, and SSD_TYPE_FIXED.

Referenced by scsi_sense_only_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_get_stream_info()

int scsi_get_stream_info ( struct scsi_sense_data sense_data,
u_int  sense_len,
struct scsi_inquiry_data inq_data,
uint8_t *  stream_bits 
)

Definition at line 4306 of file scsi_all.c.

References scsi_sense_stream::byte3, scsi_sense_data_fixed::flags, scsi_find_desc(), scsi_sense_type(), SID_TYPE, SSD_DESC_STREAM, SSD_EOM, SSD_FILEMARK, SSD_FIXED_IS_PRESENT, SSD_ILI, SSD_TYPE_DESC, SSD_TYPE_FIXED, and T_SEQUENTIAL.

Referenced by saerror(), and scsi_sense_only_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_info_sbuf()

void scsi_info_sbuf ( struct sbuf *  sb,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
uint64_t  info 
)

Definition at line 4359 of file scsi_all.c.

References scsi_sense_data_fixed::info.

Referenced by scsi_sense_info_sbuf(), and scsi_sense_only_sbuf().

Here is the caller graph for this function:

◆ scsi_inquiry()

void scsi_inquiry ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t *  inq_buf,
u_int32_t  inq_len,
int  evpd,
u_int8_t  page_code,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7595 of file scsi_all.c.

References scsi_inquiry::byte2, CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, INQUIRY, scsi_inquiry::length, scsi_inquiry::opcode, scsi_inquiry::page_code, scsi_ulto2b(), and SI_EVPD.

Referenced by aprobestart(), dastart(), and probestart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_inquiry_match()

◆ scsi_log_select()

void scsi_log_select ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  page_code,
int  save_pages,
int  pc_reset,
u_int8_t *  param_buf,
u_int32_t  param_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_log_sense()

void scsi_log_sense ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  page_code,
u_int8_t  page,
int  save_pages,
int  ppc,
u_int32_t  paramptr,
u_int8_t *  param_buf,
u_int32_t  param_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_mode_select()

void scsi_mode_select ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
int  scsi_page_fmt,
int  save_pages,
u_int8_t *  param_buf,
u_int32_t  param_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7704 of file scsi_all.c.

References scsi_mode_select_len().

Referenced by sasetparams(), and ses_set_timed_completion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_mode_select_len()

void scsi_mode_select_len ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
int  scsi_page_fmt,
int  save_pages,
u_int8_t *  param_buf,
u_int32_t  param_len,
int  minimum_cmd_size,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_mode_sense()

void scsi_mode_sense ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  dbd,
uint8_t  pc,
uint8_t  page,
uint8_t *  param_buf,
uint32_t  param_len,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_mode_sense_len()

void scsi_mode_sense_len ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  dbd,
uint8_t  pc,
uint8_t  page,
uint8_t *  param_buf,
uint32_t  param_len,
int  minimum_cmd_size,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_mode_sense_subpage()

void scsi_mode_sense_subpage ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  dbd,
uint8_t  pc,
uint8_t  page,
uint8_t  subpage,
uint8_t *  param_buf,
uint32_t  param_len,
int  minimum_cmd_size,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_nv_to_str()

const char * scsi_nv_to_str ( struct scsi_nv table,
int  num_table_entries,
uint64_t  value 
)

Definition at line 5930 of file scsi_all.c.

References scsi_nv::name, and scsi_nv::value.

◆ scsi_op_desc()

const char * scsi_op_desc ( u_int16_t  opcode,
struct scsi_inquiry_data inq_data 
)

Definition at line 628 of file scsi_all.c.

References cam_quirkmatch(), scsi_op_quirk_entry::num_ops, op_table_entry::opcode, op_table_entry::opmask, scsi_inquiry_match(), scsi_op_codes, scsi_op_quirk_table, SID_TYPE, T_DIRECT, T_NODEVICE, T_RBC, and T_ZBC_HM.

Referenced by ctl_scsi_command_string(), scsi_command_string(), and scsi_proto_debug_out().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_parse_transportid()

int scsi_parse_transportid ( char *  transportid_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_parse_transportid_64bit()

int scsi_parse_transportid_64bit ( int  proto_id,
char *  id_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_parse_transportid_iscsi()

int scsi_parse_transportid_iscsi ( char *  id_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_parse_transportid_rdma()

int scsi_parse_transportid_rdma ( char *  id_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_parse_transportid_sop()

int scsi_parse_transportid_sop ( char *  id_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

◆ scsi_parse_transportid_spi()

int scsi_parse_transportid_spi ( char *  id_str,
struct scsi_transportid_header **  hdr,
unsigned int *  alloc_len,
struct malloc_type *  type,
int  flags,
char *  error_str,
int  error_str_len 
)

Definition at line 6099 of file scsi_all.c.

References scsi_transportid_spi::format_protocol, scsi_transportid_spi::rel_trgt_port_id, scsi_transportid_spi::scsi_addr, SCSI_PROTO_SPI, SCSI_TRN_SPI_FORMAT_DEFAULT, and scsi_ulto2b().

Referenced by scsi_parse_transportid().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_persistent_reserve_in()

void scsi_persistent_reserve_in ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  service_action,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
int  sense_len,
int  timeout 
)

◆ scsi_persistent_reserve_out()

void scsi_persistent_reserve_out ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  service_action,
int  scope,
int  res_type,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
int  sense_len,
int  timeout 
)

◆ scsi_prevent()

void scsi_prevent ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  action,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7845 of file scsi_all.c.

References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_prevent::how, scsi_prevent::opcode, and PREVENT_ALLOW.

Referenced by cdprevent(), cdstart(), daprevent(), and saprevent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_print_inquiry()

void scsi_print_inquiry ( struct scsi_inquiry_data inq_data)

Definition at line 5471 of file scsi_all.c.

References scsi_print_inquiry_sbuf().

Referenced by scsi_proto_announce().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_print_inquiry_sbuf()

void scsi_print_inquiry_sbuf ( struct sbuf *  sb,
struct scsi_inquiry_data inq_data 
)

◆ scsi_print_inquiry_short()

void scsi_print_inquiry_short ( struct scsi_inquiry_data inq_data)

Definition at line 5496 of file scsi_all.c.

References scsi_print_inquiry_short_sbuf().

Referenced by scsi_proto_denounce().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_print_inquiry_short_sbuf()

void scsi_print_inquiry_short_sbuf ( struct sbuf *  sb,
struct scsi_inquiry_data inq_data 
)

Definition at line 5483 of file scsi_all.c.

References cam_strvis_sbuf(), scsi_inquiry_data::product, scsi_inquiry_data::revision, and scsi_inquiry_data::vendor.

Referenced by scsi_print_inquiry_sbuf(), scsi_print_inquiry_short(), and scsi_proto_denounce_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_progress_sbuf()

void scsi_progress_sbuf ( struct sbuf *  sb,
uint16_t  progress 
)

Definition at line 4373 of file scsi_all.c.

References SSD_SKS_PROGRESS_DENOM.

Referenced by scsi_sense_progress_sbuf(), and scsi_sks_sbuf().

Here is the caller graph for this function:

◆ scsi_read_attribute()

void scsi_read_attribute ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  service_action,
uint32_t  element,
u_int8_t  elem_type,
int  logical_volume,
int  partition,
u_int32_t  first_attribute,
int  cache,
u_int8_t *  data_ptr,
u_int32_t  length,
int  sense_len,
u_int32_t  timeout 
)

◆ scsi_read_buffer()

void scsi_read_buffer ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  mode,
uint8_t  buffer_id,
u_int32_t  offset,
uint8_t *  data_ptr,
uint32_t  allocation_length,
uint8_t  sense_len,
uint32_t  timeout 
)

Definition at line 8841 of file scsi_all.c.

References scsi_read_buffer::buffer_id, scsi_read_buffer::byte2, CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_read_buffer::length, scsi_read_buffer::offset, scsi_read_buffer::opcode, READ_BUFFER, and scsi_ulto3b().

Referenced by safte_fill_read_buf_io().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_read_capacity()

void scsi_read_capacity ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
struct scsi_read_capacity_data rcap_buf,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7871 of file scsi_all.c.

References CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_read_capacity::opcode, and READ_CAPACITY.

Referenced by cdstart(), and dastart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_read_capacity_16()

void scsi_read_capacity_16 ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint64_t  lba,
int  reladr,
int  pmi,
uint8_t *  rcap_buf,
int  rcap_buf_len,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_read_write()

void scsi_read_write ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
int  readop,
u_int8_t  byte2,
int  minimum_cmd_size,
u_int64_t  lba,
u_int32_t  block_count,
u_int8_t *  data_ptr,
u_int32_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_receive_diagnostic_results()

void scsi_receive_diagnostic_results ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  pcv,
uint8_t  page_code,
uint8_t *  data_ptr,
uint16_t  allocation_length,
uint8_t  sense_len,
uint32_t  timeout 
)

Definition at line 8688 of file scsi_all.c.

References scsi_receive_diag::byte2, CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_receive_diag::length, scsi_receive_diag::opcode, scsi_receive_diag::page_code, RECEIVE_DIAGNOSTIC, scsi_ulto2b(), and SRD_PCV.

Referenced by ses_fill_rcv_diag_io().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_remove_element_and_truncate()

void scsi_remove_element_and_truncate ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint64_t  requested_capacity,
uint32_t  element_id,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_report_luns()

void scsi_report_luns ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  select_report,
struct scsi_report_luns_data rpl_buf,
u_int32_t  alloc_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7927 of file scsi_all.c.

References CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_report_luns::length, scsi_report_luns::opcode, REPORT_LUNS, scsi_ulto4b(), and scsi_report_luns::select_report.

Referenced by probestart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_report_supported_opcodes()

void scsi_report_supported_opcodes ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  options,
int  req_opcode,
int  req_service_action,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
int  sense_len,
int  timeout 
)

◆ scsi_report_target_group()

void scsi_report_target_group ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  pdf,
void *  buf,
u_int32_t  alloc_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_report_timestamp()

void scsi_report_timestamp ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  pdf,
void *  buf,
u_int32_t  alloc_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_request_sense()

void scsi_request_sense ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
void *  data_ptr,
u_int8_t  dxfer_len,
u_int8_t  tag_action,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7570 of file scsi_all.c.

References CAM_DIR_IN, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_request_sense::length, scsi_request_sense::opcode, and REQUEST_SENSE.

Here is the call graph for this function:

◆ scsi_restore_elements_and_rebuild()

void scsi_restore_elements_and_rebuild ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_security_protocol_in()

void scsi_security_protocol_in ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint32_t  security_protocol,
uint32_t  security_protocol_specific,
int  byte4,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
int  sense_len,
int  timeout 
)

◆ scsi_security_protocol_out()

void scsi_security_protocol_out ( struct ccb_scsiio csio,
uint32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
uint32_t  security_protocol,
uint32_t  security_protocol_specific,
int  byte4,
uint8_t *  data_ptr,
uint32_t  dxfer_len,
int  sense_len,
int  timeout 
)

◆ scsi_send_diagnostic()

void scsi_send_diagnostic ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  unit_offline,
int  device_offline,
int  self_test,
int  page_format,
int  self_test_code,
uint8_t *  data_ptr,
uint16_t  param_list_length,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_sense_ata_sbuf()

◆ scsi_sense_block_sbuf()

void scsi_sense_block_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4593 of file scsi_all.c.

References scsi_sense_block::byte3, and scsi_block_sbuf().

Here is the call graph for this function:

◆ scsi_sense_command_sbuf()

void scsi_sense_command_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4531 of file scsi_all.c.

References scsi_sense_command::command_info, scsi_8btou64(), and scsi_command_sbuf().

Here is the call graph for this function:

◆ scsi_sense_desc()

__BEGIN_DECLS void scsi_sense_desc ( int  sense_key,
int  asc,
int  ascq,
struct scsi_inquiry_data inq_data,
const char **  sense_key_desc,
const char **  asc_desc 
)

Definition at line 3361 of file scsi_all.c.

References sense_key_table_entry::desc, asc_table_entry::desc, fetchtableentries(), and sense_key_table_entry::sense_key.

Referenced by cddone(), dadone_proberc(), scsi_sense_forwarded_sbuf(), scsi_sense_only_sbuf(), and scsi_sense_progress_sbuf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_sense_desc_sbuf()

void scsi_sense_desc_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4757 of file scsi_all.c.

References scsi_sense_desc_printer::desc_type, scsi_sense_desc_header::desc_type, scsi_sense_desc_printer::print_func, scsi_sense_generic_sbuf(), and scsi_sense_printers.

Referenced by scsi_print_desc_func().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_sense_forwarded_sbuf()

void scsi_sense_forwarded_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4686 of file scsi_all.c.

References scsi_sense_forwarded::length, scsi_extract_sense_len(), scsi_sense_desc(), and scsi_sense_forwarded::sense_data.

Here is the call graph for this function:

◆ scsi_sense_fru_sbuf()

void scsi_sense_fru_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4565 of file scsi_all.c.

References scsi_sense_fru::fru, and scsi_fru_sbuf().

Here is the call graph for this function:

◆ scsi_sense_generic_sbuf()

void scsi_sense_generic_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4710 of file scsi_all.c.

References scsi_sense_desc_header::desc_type, and scsi_sense_desc_header::length.

Referenced by scsi_sense_desc_sbuf().

Here is the caller graph for this function:

◆ scsi_sense_info_sbuf()

void scsi_sense_info_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4515 of file scsi_all.c.

References scsi_sense_info::info, scsi_8btou64(), scsi_info_sbuf(), and SSD_INFO_VALID.

Here is the call graph for this function:

◆ scsi_sense_only_sbuf()

◆ scsi_sense_print()

void scsi_sense_print ( struct ccb_scsiio csio)

Definition at line 5161 of file scsi_all.c.

References scsi_sense_sbuf(), and SSS_FLAG_PRINT_COMMAND.

Referenced by cddone(), chdone(), chgetparams(), dadone_proberc(), sagetparams(), and sgread().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_sense_progress_sbuf()

void scsi_sense_progress_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4605 of file scsi_all.c.

References scsi_sense_progress::progress, scsi_2btoul(), scsi_progress_sbuf(), and scsi_sense_desc().

Here is the call graph for this function:

◆ scsi_sense_sbuf()

◆ scsi_sense_sks_sbuf()

void scsi_sense_sks_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4545 of file scsi_all.c.

References scsi_extract_sense_len(), scsi_sks_sbuf(), scsi_sense_sks::sense_key_spec, and SSD_SKS_VALID.

Here is the call graph for this function:

◆ scsi_sense_stream_sbuf()

void scsi_sense_stream_sbuf ( struct sbuf *  sb,
struct scsi_sense_data sense,
u_int  sense_len,
uint8_t *  cdb,
int  cdb_len,
struct scsi_inquiry_data inq_data,
struct scsi_sense_desc_header header 
)

Definition at line 4581 of file scsi_all.c.

References scsi_sense_stream::byte3, and scsi_stream_sbuf().

Here is the call graph for this function:

◆ scsi_sense_string()

char * scsi_sense_string ( struct ccb_scsiio csio,
char *  str,
int  str_len 
)

Definition at line 5137 of file scsi_all.c.

References scsi_sense_sbuf(), and SSS_FLAG_PRINT_COMMAND.

Here is the call graph for this function:

◆ scsi_sense_type()

◆ scsi_set_sense_data()

void scsi_set_sense_data ( struct scsi_sense_data sense_data,
scsi_sense_data_type  sense_format,
int  current_error,
int  sense_key,
int  asc,
int  ascq,
  ... 
)

Definition at line 4031 of file scsi_all.c.

References scsi_set_sense_data_va(), and SSD_FULL_SIZE.

Here is the call graph for this function:

◆ scsi_set_sense_data_len()

void scsi_set_sense_data_len ( struct scsi_sense_data sense_data,
u_int *  sense_len,
scsi_sense_data_type  sense_format,
int  current_error,
int  sense_key,
int  asc,
int  ascq,
  ... 
)

Definition at line 4045 of file scsi_all.c.

References scsi_set_sense_data_va().

Here is the call graph for this function:

◆ scsi_set_sense_data_va()

void scsi_set_sense_data_va ( struct scsi_sense_data sense_data,
u_int *  sense_len,
scsi_sense_data_type  sense_format,
int  current_error,
int  sense_key,
int  asc,
int  ascq,
va_list  ap 
)

Definition at line 4015 of file scsi_all.c.

References scsi_set_sense_data_desc_va(), scsi_set_sense_data_fixed_va(), SSD_FULL_SIZE, and SSD_TYPE_DESC.

Referenced by ctl_set_sense_data_va(), scsi_set_sense_data(), and scsi_set_sense_data_len().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_set_target_group()

void scsi_set_target_group ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
void *  buf,
u_int32_t  alloc_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_set_timestamp()

void scsi_set_timestamp ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
void *  buf,
u_int32_t  alloc_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

◆ scsi_sks_sbuf()

◆ scsi_start_stop()

void scsi_start_stop ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
int  start,
int  load_eject,
int  immediate,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 8901 of file scsi_all.c.

References scsi_start_stop_unit::byte2, CAM_DIR_NONE, cam_fill_csio(), CAM_HIGH_POWER, cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_start_stop_unit::how, scsi_start_stop_unit::opcode, SSS_IMMED, SSS_LOEJ, SSS_START, and START_STOP_UNIT.

Referenced by camperiphscsisenseerror(), cdstartunit(), and cdstopunit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_static_inquiry_match()

int scsi_static_inquiry_match ( caddr_t  inqbuffer,
caddr_t  table_entry 
)

◆ scsi_status_string()

◆ scsi_stream_sbuf()

void scsi_stream_sbuf ( struct sbuf *  sb,
uint8_t  stream_bits 
)

Definition at line 4482 of file scsi_all.c.

References SSD_DESC_STREAM_EOM, SSD_DESC_STREAM_FM, and SSD_DESC_STREAM_ILI.

Referenced by scsi_sense_only_sbuf(), and scsi_sense_stream_sbuf().

Here is the caller graph for this function:

◆ scsi_synchronize_cache()

void scsi_synchronize_cache ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int32_t  begin_lba,
u_int16_t  lb_count,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 8074 of file scsi_all.c.

References scsi_sync_cache::begin_lba, CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_sync_cache::lb_count, scsi_sync_cache::opcode, scsi_ulto2b(), scsi_ulto4b(), and SYNCHRONIZE_CACHE.

Referenced by daclose(), dadump(), dashutdown(), and dastart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_test_unit_ready()

void scsi_test_unit_ready ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 7547 of file scsi_all.c.

References CAM_DIR_NONE, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_test_unit_ready::opcode, and TEST_UNIT_READY.

Referenced by camperiphscsisenseerror(), cdstart(), dastart(), probestart(), and samount().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_transportid_sbuf()

◆ scsi_u64to8b()

◆ scsi_ulto2b()

static __inline void scsi_ulto2b ( u_int32_t  val,
u_int8_t *  bytes 
)
static

Definition at line 4374 of file scsi_all.h.

Referenced by cd6byteworkaround(), cdplay(), cdreadsubchannel(), cdsendkey(), cdsetmode(), cdsetspeed(), chsetvoltag(), cmd6workaround(), ctl_create_iid(), ctl_get_config(), ctl_get_event_status(), ctl_ie_log_sense_handler(), ctl_init_page_index(), ctl_inquiry_evpd_bdc(), ctl_inquiry_evpd_block_limits(), ctl_inquiry_evpd_devid(), ctl_inquiry_evpd_eid(), ctl_inquiry_evpd_lbp(), ctl_inquiry_evpd_mpp(), ctl_inquiry_evpd_scsi_ports(), ctl_inquiry_evpd_sfs(), ctl_inquiry_evpd_tpc(), ctl_inquiry_std(), ctl_lbp_log_sense_handler(), ctl_log_sense(), ctl_mechanism_status(), ctl_mode_sense(), ctl_persistent_reserve_in(), ctl_read_capacity_16(), ctl_read_defect(), ctl_read_toc(), ctl_receive_copy_failure_details(), ctl_receive_copy_operating_parameters(), ctl_receive_copy_status_lid1(), ctl_receive_copy_status_lid4(), ctl_receive_rod_token_information(), ctl_report_ident_info(), ctl_report_supported_opcodes(), ctl_report_tagret_port_groups(), ctl_report_timestamp(), ctl_sap_log_sense_handler(), ctl_scsi_inquiry(), ctl_scsi_mode_sense(), ctl_scsi_persistent_res_in(), ctl_scsi_read_write(), ctl_scsi_sync_cache(), ctl_set_invalid_field(), ctl_set_invalid_opcode(), ctl_temp_log_sense_handler(), ctlfe_adjust_cdb(), da_delete_unmap(), nvme_probe_done(), sasetprot(), scsi_ata_pass(), scsi_exchange_medium(), scsi_format_medium(), scsi_inquiry(), scsi_log_select(), scsi_log_sense(), scsi_mode_select_len(), scsi_mode_sense_subpage(), scsi_move_medium(), scsi_parse_transportid_iscsi(), scsi_parse_transportid_spi(), scsi_persistent_reserve_in(), scsi_position_to_element(), scsi_read_attribute(), scsi_read_dvd_structure(), scsi_read_element_status(), scsi_read_position_10(), scsi_read_toc(), scsi_read_write(), scsi_receive_diagnostic_results(), scsi_report_density_support(), scsi_report_key(), scsi_report_supported_opcodes(), scsi_security_protocol_in(), scsi_security_protocol_out(), scsi_send_diagnostic(), scsi_send_key(), scsi_send_volume_tag(), scsi_set_capacity(), scsi_synchronize_cache(), scsi_unmap(), scsi_write_same(), smp_phy_control(), tpc_create_token(), tpc_set_io_error_sense(), and tpcl_init().

◆ scsi_ulto3b()

◆ scsi_ulto4b()

static __inline void scsi_ulto4b ( u_int32_t  val,
u_int8_t *  bytes 
)
static

Definition at line 4391 of file scsi_all.h.

Referenced by cdplay(), cmd6workaround(), ctl_backend_ramdisk_gls(), ctl_backend_ramdisk_ws(), ctl_be_block_cw_dispatch_ws(), ctl_be_block_gls_file(), ctl_be_block_gls_zvol(), ctl_get_config(), ctl_get_lba_status(), ctl_init_page_index(), ctl_inquiry_evpd_block_limits(), ctl_inquiry_evpd_tpc(), ctl_lbp_log_sense_handler(), ctl_mode_sense(), ctl_persistent_reserve_in(), ctl_read_capacity(), ctl_read_capacity_16(), ctl_read_defect(), ctl_read_toc(), ctl_receive_copy_failure_details(), ctl_receive_copy_operating_parameters(), ctl_receive_copy_status_lid1(), ctl_receive_copy_status_lid4(), ctl_receive_rod_token_information(), ctl_report_all_rod_tokens(), ctl_report_luns(), ctl_report_supported_opcodes(), ctl_report_tagret_port_groups(), ctl_report_timestamp(), ctl_sap_log_sense_handler(), ctl_scsi_maintenance_in(), ctl_scsi_persistent_res_out(), ctl_scsi_read_capacity(), ctl_scsi_read_capacity_16(), ctl_scsi_read_write(), ctl_scsi_report_luns(), ctl_scsi_sync_cache(), ctl_scsi_write_same(), ctlfe_adjust_cdb(), da_delete_unmap(), sasetparams(), scsi_ata_pass(), scsi_get_physical_element_status(), scsi_locate_10(), scsi_persistent_reserve_out(), scsi_read_attribute(), scsi_read_capacity_16(), scsi_read_dvd_structure(), scsi_read_write(), scsi_remove_element_and_truncate(), scsi_report_key(), scsi_report_luns(), scsi_report_supported_opcodes(), scsi_report_target_group(), scsi_report_timestamp(), scsi_security_protocol_in(), scsi_security_protocol_out(), scsi_set_position(), scsi_set_target_group(), scsi_set_timestamp(), scsi_synchronize_cache(), scsi_unmap(), scsi_write_attribute(), scsi_write_same(), scsi_zbc_in(), tpc_create_token(), tpc_process(), tpc_process_b2b(), tpc_process_register_key(), tpc_process_verify(), and tpc_set_io_error_sense().

◆ scsi_unmap()

void scsi_unmap ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  byte2,
u_int8_t *  data_ptr,
u_int16_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Definition at line 8659 of file scsi_all.c.

References scsi_unmap::byte2, CAM_DIR_OUT, cam_fill_csio(), cdb_t::cdb_bytes, ccb_scsiio::cdb_io, scsi_unmap::control, scsi_unmap::group, scsi_unmap::length, scsi_unmap::opcode, scsi_unmap::reserved, scsi_ulto2b(), scsi_ulto4b(), and UNMAP.

Referenced by da_delete_unmap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scsi_vpd_supported_page()

int scsi_vpd_supported_page ( struct cam_periph periph,
uint8_t  page_id 
)

◆ scsi_write_attribute()

void scsi_write_attribute ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
uint32_t  element,
int  logical_volume,
int  partition,
int  wtc,
u_int8_t *  data_ptr,
u_int32_t  length,
int  sense_len,
u_int32_t  timeout 
)

◆ scsi_write_buffer()

void scsi_write_buffer ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
uint8_t  tag_action,
int  mode,
uint8_t  buffer_id,
u_int32_t  offset,
uint8_t *  data_ptr,
uint32_t  param_list_length,
uint8_t  sense_len,
uint32_t  timeout 
)

◆ scsi_write_same()

void scsi_write_same ( struct ccb_scsiio csio,
u_int32_t  retries,
void(*)(struct cam_periph *, union ccb *)  cbfcnp,
u_int8_t  tag_action,
u_int8_t  byte2,
int  minimum_cmd_size,
u_int64_t  lba,
u_int32_t  block_count,
u_int8_t *  data_ptr,
u_int32_t  dxfer_len,
u_int8_t  sense_len,
u_int32_t  timeout 
)

Variable Documentation

◆ scsi_delay

int scsi_delay
extern

Definition at line 108 of file scsi_all.c.

Referenced by proberegister(), scsi_dev_async(), set_scsi_delay(), and sysctl_scsi_delay().

◆ scsi_sense_key_text

const char* scsi_sense_key_text[]
extern