msc_interface Struct Reference
[USB MSC BBB Device Interface driver]

A Mass Storage Class interface instance. More...

Collaboration diagram for msc_interface:
Collaboration graph
[legend]

Data Fields

struct udm_interface iface
 Interface object registered with the UDM layer.
struct udcudc
 The low-level USB Device Controller.
struct block_devicebdev
 The block device used for storage.
usb_ep_id_t bulk_in_ep
 Bulk-IN endpoint used for data transfer.
usb_ep_id_t bulk_out_ep
 Bulk-OUT endpoint used for data transfer.
dma_addr_t sense_data
 Buffer holding the current sense information.
uint32_t blocks_queued
 Number of blocks queued for transfer via bdev.
uint32_t blocks_total
 The total number of blocks to be transfered.
uint32_t first_lba
 The first Logical Block Address to be transfered.
atomic_t blk_blocks_pending
 Number of pending block buffer blocks.
atomic_t usb_reqs_pending
 Number of pending USB data requests.
dma_addr_t cbw
 The Command Block Wrapper.
dma_addr_t csw
 The Command Status Wrapper.
struct usb_requestcbw_csw_req
 USB request used for transfering the CBW and CSW.
struct block_requestblock_req
 Block request used for doing block data transfers via bdev.
uint16_t busy_asc
 Additional Sense Code (Qualifier) set by usb_msc_set_busy().
void(* busy_cb )(void *)
 Function to be called when the MSC interface has been blocked.
void * busy_cb_data
 Arbitrary data to be passed to busy_cb().
bool queue_locked
 True while queuing new buffers for a request.
bool not_ready
 True if all block data transfer requests are to be blocked.
bool xfer_in_progress
 True if there's currently a block data transfer in progress.

Detailed Description

A Mass Storage Class interface instance.

For internal use only.

Definition at line 100 of file msc_bulk.c.


Field Documentation

The block device used for storage.

Definition at line 106 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), and msc_write_worker().

Number of pending block buffer blocks.

Definition at line 120 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), and msc_submit_read_buffers().

Block request used for doing block data transfers via bdev.

Definition at line 130 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), and msc_write_worker().

Number of blocks queued for transfer via bdev.

Definition at line 114 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), msc_submit_read_buffers(), msc_submit_write_data_req(), and msc_write_worker().

The total number of blocks to be transfered.

Definition at line 116 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), and msc_write_worker().

Bulk-IN endpoint used for data transfer.

Definition at line 108 of file msc_bulk.c.

Bulk-OUT endpoint used for data transfer.

Definition at line 110 of file msc_bulk.c.

Referenced by msc_submit_write_data_req().

Additional Sense Code (Qualifier) set by usb_msc_set_busy().

Definition at line 132 of file msc_bulk.c.

Referenced by msc_do_read().

void(* msc_interface::busy_cb)(void *)

Function to be called when the MSC interface has been blocked.

Definition at line 134 of file msc_bulk.c.

Referenced by msc_queue_empty().

Arbitrary data to be passed to busy_cb().

Definition at line 136 of file msc_bulk.c.

Referenced by msc_queue_empty().

The Command Block Wrapper.

Definition at line 124 of file msc_bulk.c.

USB request used for transfering the CBW and CSW.

Definition at line 128 of file msc_bulk.c.

The Command Status Wrapper.

Definition at line 126 of file msc_bulk.c.

The first Logical Block Address to be transfered.

Definition at line 118 of file msc_bulk.c.

Interface object registered with the UDM layer.

Definition at line 102 of file msc_bulk.c.

True if all block data transfer requests are to be blocked.

Definition at line 140 of file msc_bulk.c.

Referenced by msc_do_read(), and msc_queue_empty().

True while queuing new buffers for a request.

Definition at line 138 of file msc_bulk.c.

Referenced by msc_do_read(), msc_read_worker(), and msc_write_worker().

Buffer holding the current sense information.

Definition at line 112 of file msc_bulk.c.

The low-level USB Device Controller.

Definition at line 104 of file msc_bulk.c.

Referenced by msc_submit_write_data_req().

Number of pending USB data requests.

Definition at line 122 of file msc_bulk.c.

Referenced by msc_do_read(), msc_submit_write_data_req(), and msc_write_worker().

True if there's currently a block data transfer in progress.

Definition at line 142 of file msc_bulk.c.

Referenced by msc_do_read(), and msc_queue_empty().


The documentation for this struct was generated from the following file:
Generated on Thu Apr 29 14:10:36 2010 for xplain-bc by  doxygen 1.6.3