#ifndef _SCSI_PROTO_H_
#define _SCSI_PROTO_H_
#include <linux/build_bug.h>
#include <linux/types.h>
#define TEST_UNIT_READY …
#define REZERO_UNIT …
#define REQUEST_SENSE …
#define FORMAT_UNIT …
#define READ_BLOCK_LIMITS …
#define REASSIGN_BLOCKS …
#define INITIALIZE_ELEMENT_STATUS …
#define READ_6 …
#define WRITE_6 …
#define SEEK_6 …
#define READ_REVERSE …
#define WRITE_FILEMARKS …
#define SPACE …
#define INQUIRY …
#define RECOVER_BUFFERED_DATA …
#define MODE_SELECT …
#define RESERVE …
#define RELEASE …
#define COPY …
#define ERASE …
#define MODE_SENSE …
#define START_STOP …
#define RECEIVE_DIAGNOSTIC …
#define SEND_DIAGNOSTIC …
#define ALLOW_MEDIUM_REMOVAL …
#define READ_FORMAT_CAPACITIES …
#define SET_WINDOW …
#define READ_CAPACITY …
#define READ_10 …
#define WRITE_10 …
#define SEEK_10 …
#define POSITION_TO_ELEMENT …
#define WRITE_VERIFY …
#define VERIFY …
#define SEARCH_HIGH …
#define SEARCH_EQUAL …
#define SEARCH_LOW …
#define SET_LIMITS …
#define PRE_FETCH …
#define READ_POSITION …
#define SYNCHRONIZE_CACHE …
#define LOCK_UNLOCK_CACHE …
#define READ_DEFECT_DATA …
#define MEDIUM_SCAN …
#define COMPARE …
#define COPY_VERIFY …
#define WRITE_BUFFER …
#define READ_BUFFER …
#define UPDATE_BLOCK …
#define READ_LONG …
#define WRITE_LONG …
#define CHANGE_DEFINITION …
#define WRITE_SAME …
#define UNMAP …
#define READ_TOC …
#define READ_HEADER …
#define GET_EVENT_STATUS_NOTIFICATION …
#define LOG_SELECT …
#define LOG_SENSE …
#define XDWRITEREAD_10 …
#define MODE_SELECT_10 …
#define RESERVE_10 …
#define RELEASE_10 …
#define MODE_SENSE_10 …
#define PERSISTENT_RESERVE_IN …
#define PERSISTENT_RESERVE_OUT …
#define VARIABLE_LENGTH_CMD …
#define REPORT_LUNS …
#define SECURITY_PROTOCOL_IN …
#define MAINTENANCE_IN …
#define MAINTENANCE_OUT …
#define MOVE_MEDIUM …
#define EXCHANGE_MEDIUM …
#define READ_12 …
#define SERVICE_ACTION_OUT_12 …
#define WRITE_12 …
#define READ_MEDIA_SERIAL_NUMBER …
#define SERVICE_ACTION_IN_12 …
#define WRITE_VERIFY_12 …
#define VERIFY_12 …
#define SEARCH_HIGH_12 …
#define SEARCH_EQUAL_12 …
#define SEARCH_LOW_12 …
#define SECURITY_PROTOCOL_OUT …
#define READ_ELEMENT_STATUS …
#define SEND_VOLUME_TAG …
#define WRITE_LONG_2 …
#define EXTENDED_COPY …
#define RECEIVE_COPY_RESULTS …
#define ACCESS_CONTROL_IN …
#define ACCESS_CONTROL_OUT …
#define READ_16 …
#define COMPARE_AND_WRITE …
#define WRITE_16 …
#define READ_ATTRIBUTE …
#define WRITE_ATTRIBUTE …
#define WRITE_VERIFY_16 …
#define VERIFY_16 …
#define SYNCHRONIZE_CACHE_16 …
#define WRITE_SAME_16 …
#define ZBC_OUT …
#define ZBC_IN …
#define WRITE_ATOMIC_16 …
#define SERVICE_ACTION_BIDIRECTIONAL …
#define SERVICE_ACTION_IN_16 …
#define SERVICE_ACTION_OUT_16 …
#define SAI_READ_CAPACITY_16 …
#define SAI_GET_LBA_STATUS …
#define SAI_REPORT_REFERRALS …
#define SAI_GET_STREAM_STATUS …
#define MI_REPORT_IDENTIFYING_INFORMATION …
#define MI_REPORT_TARGET_PGS …
#define MI_REPORT_ALIASES …
#define MI_REPORT_SUPPORTED_OPERATION_CODES …
#define MI_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS …
#define MI_REPORT_PRIORITY …
#define MI_REPORT_TIMESTAMP …
#define MI_MANAGEMENT_PROTOCOL_IN …
#define MI_EXT_HDR_PARAM_FMT …
#define MO_SET_IDENTIFYING_INFORMATION …
#define MO_SET_TARGET_PGS …
#define MO_CHANGE_ALIASES …
#define MO_SET_PRIORITY …
#define MO_SET_TIMESTAMP …
#define MO_MANAGEMENT_PROTOCOL_OUT …
#define ZI_REPORT_ZONES …
#define ZO_CLOSE_ZONE …
#define ZO_FINISH_ZONE …
#define ZO_OPEN_ZONE …
#define ZO_RESET_WRITE_POINTER …
#define READ_KEYS …
#define READ_RESERVATION …
#define REPORT_CAPABILITES …
#define READ_FULL_STATUS …
#define XDREAD_32 …
#define XDWRITE_32 …
#define XPWRITE_32 …
#define XDWRITEREAD_32 …
#define READ_32 …
#define VERIFY_32 …
#define WRITE_32 …
#define WRITE_VERIFY_32 …
#define WRITE_SAME_32 …
#define ATA_32 …
#define ATA_16 …
#define ATA_12 …
#define VENDOR_SPECIFIC_CDB …
#define SCSI_MAX_VARLEN_CDB_SIZE …
struct scsi_varlen_cdb_hdr { … };
enum sam_status { … };
#define STATUS_MASK …
#define NO_SENSE …
#define RECOVERED_ERROR …
#define NOT_READY …
#define MEDIUM_ERROR …
#define HARDWARE_ERROR …
#define ILLEGAL_REQUEST …
#define UNIT_ATTENTION …
#define DATA_PROTECT …
#define BLANK_CHECK …
#define VENDOR_SPECIFIC …
#define COPY_ABORTED …
#define ABORTED_COMMAND …
#define VOLUME_OVERFLOW …
#define MISCOMPARE …
#define COMPLETED …
#define TYPE_DISK …
#define TYPE_TAPE …
#define TYPE_PRINTER …
#define TYPE_PROCESSOR …
#define TYPE_WORM …
#define TYPE_ROM …
#define TYPE_SCANNER …
#define TYPE_MOD …
#define TYPE_MEDIUM_CHANGER …
#define TYPE_COMM …
#define TYPE_RAID …
#define TYPE_ENCLOSURE …
#define TYPE_RBC …
#define TYPE_OSD …
#define TYPE_ZBC …
#define TYPE_WLUN …
#define TYPE_NO_LUN …
enum scsi_protocol { … };
struct scsi_lun { … };
struct scsi_io_group_descriptor { … };
static_assert(…);
struct scsi_stream_status { … };
static_assert(…);
struct scsi_stream_status_header { … };
static_assert(…);
#define SCSI_ACCESS_STATE_OPTIMAL …
#define SCSI_ACCESS_STATE_ACTIVE …
#define SCSI_ACCESS_STATE_STANDBY …
#define SCSI_ACCESS_STATE_UNAVAILABLE …
#define SCSI_ACCESS_STATE_LBA …
#define SCSI_ACCESS_STATE_OFFLINE …
#define SCSI_ACCESS_STATE_TRANSITIONING …
#define SCSI_ACCESS_STATE_MASK …
#define SCSI_ACCESS_STATE_PREFERRED …
enum zbc_zone_reporting_options { … };
#define ZBC_REPORT_ZONE_PARTIAL …
enum zbc_zone_type { … };
enum zbc_zone_cond { … };
enum zbc_zone_alignment_method { … };
enum scsi_version_descriptor { … };
enum scsi_support_opcode { … };
#define SCSI_CONTROL_MASK …
#define SCSI_GROUP_NUMBER_MASK …
#endif