scsi_periph_device_info
status_t (*read_write)(scsi_periph_device_info *device, scsi_ccb *request,
status_t (*trim_device)(scsi_periph_device_info *device, scsi_ccb *request,
typedef struct scsi_periph_device_info *scsi_periph_device;
read_capacity_10(scsi_periph_device_info* device, scsi_ccb* request,
read_capacity_16(scsi_periph_device_info* device, scsi_ccb* request,
get_unmap_commands(scsi_periph_device_info* device, scsi_ccb* request,
get_unmap_limits(scsi_periph_device_info* device, scsi_ccb* request,
periph_check_capacity(scsi_periph_device_info* device, scsi_ccb* request)
trim_unmap(scsi_periph_device_info* device, scsi_ccb* request,
trim_writesame16(scsi_periph_device_info* device, scsi_ccb* request,
prefer_read_capacity_16(scsi_periph_device_info* device)
trim_writesame10(scsi_periph_device_info* device, scsi_ccb* request,
periph_trim_device(scsi_periph_device_info* device, scsi_ccb* request,
vpd_pages_supported(scsi_periph_device_info* device)
periph_unregister_device(scsi_periph_device_info *device)
scsi_periph_device_info *device
= (scsi_periph_device_info *)malloc(sizeof(*device));
err_res check_sense(scsi_periph_device_info *device, scsi_ccb *request)
check_scsi_status(scsi_periph_device_info *device, scsi_ccb *request)
periph_check_error(scsi_periph_device_info *device, scsi_ccb *request)
periph_handle_open(scsi_periph_device_info *device,
scsi_periph_device_info *device = handle->device;
prevent_allow(scsi_periph_device_info *device, bool prevent)
raw_command(scsi_periph_device_info *device, raw_device_command *cmd)
read_write(scsi_periph_device_info *device, scsi_ccb *request,
inquiry(scsi_periph_device_info *device, scsi_inquiry *inquiry)
vpd_page_inquiry(scsi_periph_device_info* device, scsi_ccb* ccb,
scsi_periph_device_info *device = (scsi_periph_device_info *)arg;
periph_read_write(scsi_periph_device_info *device, scsi_ccb *request,
periph_io(scsi_periph_device_info *device, io_operation *operation,
vpd_page_get(scsi_periph_device_info* device, scsi_ccb* request,
wait_for_ready(scsi_periph_device_info *device, scsi_ccb *request)
scsi_periph_device_info *device = handle->device;
periph_media_changed(scsi_periph_device_info *device, scsi_ccb *request)
periph_send_start_stop(scsi_periph_device_info *device, scsi_ccb *request,
periph_media_changed_public(scsi_periph_device_info *device)
send_tur(scsi_periph_device_info *device, scsi_ccb *request)
periph_simple_exec(scsi_periph_device_info* device, void* cdb, uchar cdbLength,
periph_safe_exec(scsi_periph_device_info *device, scsi_ccb *request)
status_t periph_unregister_device(scsi_periph_device_info *driver);
status_t periph_read_write(scsi_periph_device_info *device, scsi_ccb *request,
status_t periph_io(scsi_periph_device_info* device, io_operation* operation,
status_t vpd_page_get(scsi_periph_device_info *device, scsi_ccb* request,
status_t periph_safe_exec(scsi_periph_device_info *device, scsi_ccb *request);
status_t periph_simple_exec(scsi_periph_device_info *device, void *cdb,
err_res periph_synchronize_cache(scsi_periph_device_info *device,
scsi_periph_device_info *device;
void periph_media_changed(scsi_periph_device_info *device, scsi_ccb *ccb);
void periph_media_changed_public(scsi_periph_device_info *device);
err_res periph_send_start_stop(scsi_periph_device_info *device, scsi_ccb *request,
err_res periph_check_error(scsi_periph_device_info *device, scsi_ccb *request);
status_t periph_handle_open(scsi_periph_device_info *device, periph_handle_cookie periph_handle,
status_t periph_check_capacity(scsi_periph_device_info *device, scsi_ccb *ccb);
status_t periph_trim_device(scsi_periph_device_info *device, scsi_ccb *request,
periph_synchronize_cache(scsi_periph_device_info *device, scsi_ccb *request)