msdbot.c File Reference

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

Version
5.6.0

License

Copyright 2015 Silicon Labs, Inc. http://www.silabs.com

This file is licensed 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.

#include "em_usb.h"
#include "msdbot.h"

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).
 

Function Documentation

int MSDBOT_Init ( USBH_Ep_TypeDef *  out,
USBH_Ep_TypeDef *  in 
)

MSDBOT module initialization.

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

Definition at line 57 of file msdbot.c.

References MSDBOT_INIT_ERROR, MSDBOT_STATUS_OK, and PORT_FULL_SPEED.

Referenced by MSDSCSI_Init().

int MSDBOT_Xfer ( void *  cbw,
void *  data 
)

Perform an MSD Bulk Only Transfer (BOT).

Parameters
[in]cbwPointer to a Command Block Wrapper (CBW) data structure.
[in]dataData 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 97 of file msdbot.c.

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

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