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.