#include <lpc_types.h>

#ifndef __MSCUSER_H__
#define __MSCUSER_H__


/* Mass Storage Memory Layout */
#define MSC_MemorySize  16384
#define MSC_BlockSize   512
#define MSC_BlockCount  (MSC_MemorySize / MSC_BlockSize)
/* MSC Disk Image Definitions */
#define MSC_ImageSize   0x00001000


/* Max In/Out Packet Size */
#define MSC_MAX_PACKET  512

/* MSC In/Out Endpoint Address */
#define MSC_EP_IN       0x81
#define MSC_EP_OUT      0x01

extern UNS_8*  Memory;  /* MSC RAM */
extern const UNS_8 DiskImage[MSC_ImageSize];  /* Initial fat table & MBR */

/* MSC Requests Callback Functions */
extern UNS_32 MSC_Reset(void);
extern UNS_32 MSC_GetMaxLUN(void);

/* MSC Bulk Callback Functions */
extern void MSC_GetCBW(void);
extern void MSC_SetCSW(void);
extern void MSC_BulkIn(void);
extern void MSC_BulkOut(void);
extern void MSC_BulkOutNak(void);


#endif  /* __MSCUSER_H__ */
