Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Implementation of UHI Mass Storage Class

Class internal implementation.

Data Structures

struct  uhi_msc_dev_t
 USB MSC device information. More...
 

Macros

#define UHI_MSC_SCSI_TIMEOUT   20000
 Timeout on SCSI commands. More...
 

Typedefs

typedef void(* uhi_msc_scsi_sense_callback_t )(void)
 Callback type used by scsi sense command. More...
 

Internal defines and variables to manage MSC unit

static volatile bool b_uhi_msc_free = true
 Flag to secure the UHI MSC resources. More...
 
static uhi_msc_dev_t uhi_msc_dev
 Information about the enumerated USB MSC device. More...
 
#define uhi_msc_dev_sel   (&uhi_msc_dev)
 Current USB MSC device selected by the UHI MSC. More...
 
static uhi_msc_lun_tuhi_msc_lun_sel
 Current LUN selected in USB MSC device by the UHI MSC. More...
 
#define uhi_msc_lun_num_sel   uhi_msc_cbw.bCBWLUN
 
static struct
sbc_read_capacity10_data 
uhi_msc_capacity
 Temporary structures used to read LUN information via a SCSI command. More...
 
static struct scsi_inquiry_data uhi_msc_inquiry
 
static struct
scsi_request_sense_data 
uhi_msc_sense
 
struct {
   struct scsi_mode_param_header6   header
 
   struct spc_control_page_info_execpt   sense_data
 
uhi_msc_sense6
 
static uhi_msc_scsi_callback_t uhi_msc_scsi_sub_callback
 Internal callbacks. More...
 
static uhi_msc_scsi_callback_t uhi_msc_scsi_callback
 
static
uhi_msc_scsi_sense_callback_t 
uhi_msc_scsi_sense_callback
 

#define uhi_msc_dev_sel   (&uhi_msc_dev)

Current USB MSC device selected by the UHI MSC.

#define uhi_msc_lun_num_sel   uhi_msc_cbw.bCBWLUN
#define UHI_MSC_SCSI_TIMEOUT   20000

Timeout on SCSI commands.

Referenced by uhi_msc_transfer().

typedef void(* uhi_msc_scsi_sense_callback_t)(void)

Callback type used by scsi sense command.

volatile bool b_uhi_msc_free = true
static

Flag to secure the UHI MSC resources.

Referenced by uhi_msc_enable(), uhi_msc_enable_step2(), uhi_msc_enable_step3(), and uhi_msc_is_available().

struct { ... } header
struct { ... } sense_data
struct sbc_read_capacity10_data uhi_msc_capacity
static

Temporary structures used to read LUN information via a SCSI command.

Referenced by uhi_msc_scsi_read_capacity(), and uhi_msc_scsi_read_capacity_done().

uhi_msc_dev_t uhi_msc_dev
static
Initial value:
= {
.dev = NULL,
.lun = NULL,
.nb_lun = 0,
}

Information about the enumerated USB MSC device.

struct scsi_inquiry_data uhi_msc_inquiry
static

Referenced by uhi_msc_scsi_inquiry().

uhi_msc_lun_t* uhi_msc_lun_sel
static

Current LUN selected in USB MSC device by the UHI MSC.

struct { ... } uhi_msc_sense6