Renesas GR-PEACH OpenCV Development / gr-peach-opencv-project-sd-card_update

Fork of gr-peach-opencv-project-sd-card by the do

Embed: (wiki syntax)

« Back to documentation index

BlockDevice Class Reference

BlockDevice Class Reference

A hardware device capable of writing and reading blocks. More...

#include <BlockDevice.h>

Inherited by MBRBlockDevice, and USBHostMSD.

Public Member Functions

virtual ~BlockDevice ()
 Lifetime of a block device.
virtual int init ()=0
 Initialize a block device.
virtual int deinit ()=0
 Deinitialize a block device.
virtual int read (void *buffer, bd_addr_t addr, bd_size_t size)=0
 Read blocks from a block device.
virtual int program (const void *buffer, bd_addr_t addr, bd_size_t size)=0
 Program blocks to a block device.
virtual int erase (bd_addr_t addr, bd_size_t size)=0
 Erase blocks on a block device.
virtual bd_size_t get_read_size () const =0
 Get the size of a readable block.
virtual bd_size_t get_program_size () const =0
 Get the size of a programable block.
virtual bd_size_t get_erase_size () const =0
 Get the size of a eraseable block.
virtual bd_size_t size () const =0
 Get the total size of the underlying device.
bool is_valid_read (bd_addr_t addr, bd_size_t size) const
 Convenience function for checking block read validity.
bool is_valid_program (bd_addr_t addr, bd_size_t size) const
 Convenience function for checking block program validity.
bool is_valid_erase (bd_addr_t addr, bd_size_t size) const
 Convenience function for checking block erase validity.

Detailed Description

A hardware device capable of writing and reading blocks.

Definition at line 43 of file BlockDevice.h.


Constructor & Destructor Documentation

virtual ~BlockDevice (  ) [virtual]

Lifetime of a block device.

Definition at line 48 of file BlockDevice.h.


Member Function Documentation

virtual int deinit (  ) [pure virtual]

Deinitialize a block device.

Returns:
0 on success or a negative error code on failure

Implemented in MBRBlockDevice, and USBHostMSD.

virtual int erase ( bd_addr_t  addr,
bd_size_t  size 
) [pure virtual]

Erase blocks on a block device.

The state of an erased block is undefined until it has been programmed

Parameters:
addrAddress of block to begin erasing
sizeSize to erase in bytes, must be a multiple of erase block size
Returns:
0 on success, negative error code on failure

Implemented in MBRBlockDevice, and USBHostMSD.

virtual bd_size_t get_erase_size (  ) const [pure virtual]

Get the size of a eraseable block.

Returns:
Size of a eraseable block in bytes
Note:
Must be a multiple of the program size

Implemented in MBRBlockDevice, and USBHostMSD.

virtual bd_size_t get_program_size (  ) const [pure virtual]

Get the size of a programable block.

Returns:
Size of a programable block in bytes
Note:
Must be a multiple of the read size

Implemented in MBRBlockDevice, and USBHostMSD.

virtual bd_size_t get_read_size (  ) const [pure virtual]

Get the size of a readable block.

Returns:
Size of a readable block in bytes

Implemented in MBRBlockDevice, and USBHostMSD.

virtual int init (  ) [pure virtual]

Initialize a block device.

Returns:
0 on success or a negative error code on failure

Implemented in MBRBlockDevice, and USBHostMSD.

bool is_valid_erase ( bd_addr_t  addr,
bd_size_t  size 
) const

Convenience function for checking block erase validity.

Parameters:
addrAddress of block to begin erasing
sizeSize to erase in bytes
Returns:
True if erase is valid for underlying block device

Definition at line 156 of file BlockDevice.h.

bool is_valid_program ( bd_addr_t  addr,
bd_size_t  size 
) const

Convenience function for checking block program validity.

Parameters:
addrAddress of block to begin writing to
sizeSize to write in bytes
Returns:
True if program is valid for underlying block device

Definition at line 142 of file BlockDevice.h.

bool is_valid_read ( bd_addr_t  addr,
bd_size_t  size 
) const

Convenience function for checking block read validity.

Parameters:
addrAddress of block to begin reading from
sizeSize to read in bytes
Returns:
True if read is valid for underlying block device

Definition at line 128 of file BlockDevice.h.

virtual int program ( const void *  buffer,
bd_addr_t  addr,
bd_size_t  size 
) [pure virtual]

Program blocks to a block device.

The blocks must have been erased prior to being programmed

If a failure occurs, it is not possible to determine how many bytes succeeded

Parameters:
bufferBuffer of data to write to blocks
addrAddress of block to begin writing to
sizeSize to write in bytes, must be a multiple of program block size
Returns:
0 on success, negative error code on failure

Implemented in MBRBlockDevice, and USBHostMSD.

virtual int read ( void *  buffer,
bd_addr_t  addr,
bd_size_t  size 
) [pure virtual]

Read blocks from a block device.

If a failure occurs, it is not possible to determine how many bytes succeeded

Parameters:
bufferBuffer to write blocks to
addrAddress of block to begin reading from
sizeSize to read in bytes, must be a multiple of read block size
Returns:
0 on success, negative error code on failure

Implemented in MBRBlockDevice, and USBHostMSD.

virtual bd_size_t size (  ) const [pure virtual]

Get the total size of the underlying device.

Returns:
Size of the underlying device in bytes

Implemented in MBRBlockDevice, and USBHostMSD.