Jump to main content

##

# 2.8.4.1 USB_DEVICE_MSD_INIT Structure

## C

    typedef struct {
      uint8_t numberOfLogicalUnits;
      USB_MSD_CBW * msdCBW;
      USB_MSD_CSW * msdCSW;
      USB_DEVICE_MSD_MEDIA_INIT_DATA * mediaInit;
    } USB_DEVICE_MSD_INIT;

## Summary

USB MSD init structure.

This structure contains interface number, bulk-IN and bulk-OUT endpoint addresses, endpointSize, number of logical units supported and pointer to array of structure that contains media initialization.

## Members

Members | Description
uint8_t numberOfLogicalUnits; | Number of logical units supported.
USB_MSD_CBW * msdCBW; | Pointer to a Command Block Wrapper structure allocated to this instance of the MSD function driver. In case of PIC32MZ device, this should be placed in non cacheable section of RAM and should be aligned at a 4 byte boundary.
USB_MSD_CSW * msdCSW; | Pointer to a Command Status Wrapper structure allocated to this instance of the MSD function driver. In case of PIC32MZ device, this should be placed in non cacheable section of RAM and should be aligned at a 4 byte boundary.
USB_DEVICE_MSD_MEDIA_INIT_DATA * mediaInit; | Pointer to a table of media initialization data. This should contain an entry for every logical unit.

## Remarks

This structure must be configured by the user at compile time.