A Mass Storage Class interface instance. More...

Data Fields | |
| struct udm_interface | iface |
| Interface object registered with the UDM layer. | |
| struct udc * | udc |
| The low-level USB Device Controller. | |
| struct block_device * | bdev |
| 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_request * | cbw_csw_req |
| USB request used for transfering the CBW and CSW. | |
| struct block_request * | block_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. | |
A Mass Storage Class interface instance.
For internal use only.
Definition at line 100 of file msc_bulk.c.
| struct block_device* msc_interface::bdev |
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.
| struct udc* msc_interface::udc |
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().
1.6.3