msdbot.c File Reference

Implements the host side of the Bulk Only Transport protocol for USB Mass Storage class Devices. More...

#include "em_usb.h"
#include "msdbot.h"
Include dependency graph for msdbot.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int MSDBOT_Init (USBH_Ep_TypeDef *out, USBH_Ep_TypeDef *in)
 MSDBOT module initialization.
int MSDBOT_Xfer (void *cbw, void *data)
 Perform an MSD Bulk Only Transfer (BOT).

Detailed Description

Implements the host side of the Bulk Only Transport protocol for USB Mass Storage class Devices.

Version:
3.20.5

License

(C) Copyright 2014 Silicon Labs, http://www.silabs.com

This file is licensensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file msdbot.c.


Function Documentation

int MSDBOT_Init ( USBH_Ep_TypeDef *  out,
USBH_Ep_TypeDef *  in 
)

MSDBOT module initialization.

Parameters:
[in] out Pointer to an MSD bulk OUT endpoint structure.
[in] in Pointer to an MSD bulk IN endpoint structure.
Returns:
MSDBOT_STATUS_OK on success, else MSDBOT_INIT_ERROR.

Definition at line 58 of file msdbot.c.

References MSDBOT_INIT_ERROR, and MSDBOT_STATUS_OK.

Referenced by MSDSCSI_Init().

Here is the caller graph for this function:

int MSDBOT_Xfer ( void *  cbw,
void *  data 
)

Perform an MSD Bulk Only Transfer (BOT).

Parameters:
[in] cbw Pointer to a Command Block Wrapper (CBW) data structure.
[in] data Data buffer for data to be transferred.
Returns:
A positive (or zero) value indicating the number of bytes transferred.
A negative value indicates a transfer error code enumerated in MSDBOT_Status_TypeDef.

Definition at line 98 of file msdbot.c.

References MSDBOT_CSW_TypeDef::bCSWStatus, MSDBOT_CBW_TypeDef::dCBWDataTransferLength, MSDBOT_CBW_TypeDef::Direction, MSDBOT_CMD_FAILED, and MSDBOT_XFER_ERROR.

Referenced by MSDSCSI_Inquiry(), MSDSCSI_Read10(), MSDSCSI_ReadCapacity(), MSDSCSI_RequestSense(), MSDSCSI_TestUnitReady(), and MSDSCSI_Write10().

Here is the caller graph for this function: