msdbot.c File Reference

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

Version
5.4.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] 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 57 of file msdbot.c .

References MSDBOT_INIT_ERROR , and MSDBOT_STATUS_OK .

Referenced by MSDSCSI_Init() .

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