A physical device instance managed by an MSC interface. More...

#include <Device.h>

Collaboration diagram for USB::MSC::LogicalUnit:

Public Member Functions

 operator bool () const
 
void getCapacity (uint32_t *block_count, uint16_t *block_size)
 
int read (uint32_t lba, uint32_t offset, void *buffer, uint32_t bufsize)
 
int write (uint32_t lba, uint32_t offset, uint8_t *buffer, uint32_t bufsize)
 
 LogicalUnit (HostDevice &device, uint8_t lun)
 
Type getType () const override
 
String getName () const override
 
uint32_t getId () const override
 

Public Attributes

Storage::Devicedevice
 
bool readOnly
 

Protected Member Functions

bool raw_sector_read (storage_size_t address, void *dst, size_t size) override
 
bool raw_sector_write (storage_size_t address, const void *src, size_t size) override
 
bool raw_sector_erase_range (storage_size_t address, size_t size) override
 
bool raw_sync () override
 

Detailed Description

A physical device instance managed by an MSC interface.

Constructor & Destructor Documentation

◆ LogicalUnit()

USB::MSC::LogicalUnit::LogicalUnit ( HostDevice device,
uint8_t  lun 
)

Member Function Documentation

◆ getCapacity()

void USB::MSC::LogicalUnit::getCapacity ( uint32_t *  block_count,
uint16_t block_size 
)
inline

◆ getId()

uint32_t USB::MSC::LogicalUnit::getId ( ) const
override

◆ getName()

String USB::MSC::LogicalUnit::getName ( ) const
override

◆ getType()

Type USB::MSC::LogicalUnit::getType ( ) const
inlineoverride

◆ operator bool()

USB::MSC::LogicalUnit::operator bool ( ) const
inline

◆ raw_sector_erase_range()

bool USB::MSC::LogicalUnit::raw_sector_erase_range ( storage_size_t  address,
size_t  size 
)
overrideprotected

◆ raw_sector_read()

bool USB::MSC::LogicalUnit::raw_sector_read ( storage_size_t  address,
void *  dst,
size_t  size 
)
overrideprotected

◆ raw_sector_write()

bool USB::MSC::LogicalUnit::raw_sector_write ( storage_size_t  address,
const void *  src,
size_t  size 
)
overrideprotected

◆ raw_sync()

bool USB::MSC::LogicalUnit::raw_sync ( )
overrideprotected

◆ read()

int USB::MSC::LogicalUnit::read ( uint32_t  lba,
uint32_t  offset,
void *  buffer,
uint32_t  bufsize 
)
inline

◆ write()

int USB::MSC::LogicalUnit::write ( uint32_t  lba,
uint32_t  offset,
uint8_t buffer,
uint32_t  bufsize 
)
inline

Member Data Documentation

◆ device

Storage::Device* USB::MSC::LogicalUnit::device

◆ readOnly

bool USB::MSC::LogicalUnit::readOnly

The documentation for this class was generated from the following files: