33 #ifndef PACK_STRUCT_BEGIN
34 #define PACK_STRUCT_BEGIN
37 #ifndef PACK_STRUCT_END
38 #define PACK_STRUCT_END
41 #ifndef PACK_STRUCT_STRUCT
42 #define PACK_STRUCT_STRUCT __attribute__((packed))
126 void (*rw_activity_callback)(bool);
BlockDeviceInfo block_dev_info
bool msdRequestsHook(USBDriver *usbp)
Default requests hook.
usbep_t bulk_ep
Index of the USB endpoint to use for transfers.
msd_state_t
Possible states for the USB mass storage driver.
Response to a READ_CAPACITY_10 SCSI command.
uint8_t additional_length
const USBMassStorageConfig * config
event_source_t evt_ejected
void msdInit(USBMassStorageDriver *msdp)
Initializes a USB mass storage driver.
USB mass storage driver structure.
void msdConfigureHookI(USBMassStorageDriver *msdp)
USB device configured handler.
Driver configuration structure.
USBDriver * usbp
USB driver to use for communication.
#define PACK_STRUCT_BEGIN
uint8_t response_data_format
void msdStart(USBMassStorageDriver *msdp, const USBMassStorageConfig *config)
Starts a USB mass storage driver.
static const struct usb_config_descriptor config
void msdStop(USBMassStorageDriver *msdp)
Stops a USB mass storage driver.
msd_scsi_inquiry_response_t inquiry
BaseBlockDevice * bbdp
Block device to use for storage.
msd_scsi_sense_response_t sense