sl_usbd_msc_scsi_lun_api_t Struct Reference

SCSI Logical Unit Driver API.

#include <sl_usbd_class_msc_scsi.h>

Data Fields

sl_status_t(* init )(sl_usbd_msc_scsi_lun_t *p_scsi_lun)
 Initialize storage driver.
 
sl_status_t(* open )(sl_usbd_msc_scsi_lun_t *p_scsi_lun)
 Request exclusive access to media.
 
sl_status_t(* close )(sl_usbd_msc_scsi_lun_t *p_scsi_lun)
 Release exclusive access to media.
 
sl_status_t(* get_capacity )(sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lb_qty_t *p_nbr_blks, uint32_t *p_blk_size)
 Retrieve storage media capacity.
 
sl_status_t(* read )(sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lba_t blk_addr, uint32_t nbr_blks, uint8_t *p_data_buf)
 Read data from storage media.
 
sl_status_t(* write )(sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lba_t blk_addr, uint32_t nbr_blks, uint8_t *p_data_buf)
 Write data to storage media.

SCSI Logical Unit Driver API.

Field Documentation

◆ init

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::init) (sl_usbd_msc_scsi_lun_t *p_scsi_lun)

Initialize storage driver.

◆ open

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::open) (sl_usbd_msc_scsi_lun_t *p_scsi_lun)

Request exclusive access to media.

◆ close

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::close) (sl_usbd_msc_scsi_lun_t *p_scsi_lun)

Release exclusive access to media.

◆ get_capacity

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::get_capacity) (sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lb_qty_t *p_nbr_blks, uint32_t *p_blk_size)

Retrieve storage media capacity.

◆ read

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::read) (sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lba_t blk_addr, uint32_t nbr_blks, uint8_t *p_data_buf)

Read data from storage media.

◆ write

sl_status_t(* sl_usbd_msc_scsi_lun_api_t::write) (sl_usbd_msc_scsi_lun_t *p_scsi_lun, sl_usbd_msc_scsi_lba_t blk_addr, uint32_t nbr_blks, uint8_t *p_data_buf)

Write data to storage media.