| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
Mass Storage Class Device Mode Driver
Mass Storage Class Driver

## Detailed Description

# Module Source Dependencies

The following files must be built with any user project that uses this module:

- nxpUSBlib/Drivers/USB/Class/Device/MassStorage.c (Makefile source module name: NXPUSBLIB_SRC_USBCLASS)

# Module Description

Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver.

## Data Structures
struct | USB_ClassInfo_MS_Device_t
| Mass Storage Class Device Mode Configuration and State Structure. More...

## Functions
bool | MS_Device_ConfigureEndpoints (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Configures the endpoints of a given Mass Storage interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given Mass Storage interface is selected.
void | MS_Device_ProcessControlRequest (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be linked to the library EVENT_USB_Device_ControlRequest() event.
void | MS_Device_USBTask (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().
bool | CALLBACK_MS_Device_SCSICommandReceived (USB_ClassInfo_MS_Device_t *const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure inside the Mass Storage class state structure passed as a parameter to the callback function.

## Function Documentation

bool CALLBACK_MS_Device_SCSICommandReceived | ( | USB_ClassInfo_MS_Device_t *const | MSInterfaceInfo | ) |

Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure inside the Mass Storage class state structure passed as a parameter to the callback function.

Parameters

  MSInterfaceInfo | : Pointer to a structure containing a Mass Storage Class configuration and state.

Returns
  Boolean `true` if the SCSI command was successfully processed, `false` otherwise.

Mass Storage class driver callback function the reception of SCSI commands from the host, which must be processed.

Mass Storage class driver callback for the user processing of a received SCSI command. This callback will fire each time the host sends a SCSI command which requires processing by the user application. Inside this callback the user is responsible for the processing of the received SCSI command from the host. The SCSI command is available in the CommandBlock structure inside the Mass Storage class state structure passed as a parameter to the callback function.

Returns
  Nothing

Note
  The reception of SCSI commands from the host, which must be processed

Definition at line 332 of file usbmsdev.c.

bool MS_Device_ConfigureEndpoints | ( | USB_ClassInfo_MS_Device_t *const | MSInterfaceInfo | ) |

Configures the endpoints of a given Mass Storage interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given Mass Storage interface is selected.

Parameters

  MSInterfaceInfo | : Pointer to a structure containing a Mass Storage Class configuration and state.

Returns
  Boolean `true` if the endpoints were successfully configured, `false` otherwise.

Definition at line 76 of file MassStorageClassDevice.c.

void MS_Device_ProcessControlRequest | ( | USB_ClassInfo_MS_Device_t *const | MSInterfaceInfo | ) |

Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be linked to the library EVENT_USB_Device_ControlRequest() event.

Parameters

  MSInterfaceInfo | : Pointer to a structure containing a Mass Storage Class configuration and state.

Returns
  Nothing

Definition at line 43 of file MassStorageClassDevice.c.

void MS_Device_USBTask | ( | USB_ClassInfo_MS_Device_t *const | MSInterfaceInfo | ) |

General management task for a given Mass Storage class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().

Parameters

  MSInterfaceInfo | : Pointer to a structure containing a Mass Storage configuration and state.

Returns
  Nothing

Definition at line 116 of file MassStorageClassDevice.c.