EFM32 Pearl Gecko 1 Software Documentation  efm32pg1-doc-5.1.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
msdbot.c File Reference

Detailed Description

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

Version
5.1.1

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"

Go to the source code of this file.

Functions

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

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 58 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]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 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().