1 /*
2 * UsbMsc.h
3 *
4 * This file contains API declarations for function to use by User Application.
5 *
6 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
7 *
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 *
16 * Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the
19 * distribution.
20 *
21 * Neither the name of Texas Instruments Incorporated nor the names of
22 * its contributors may be used to endorse or promote products derived
23 * from this software without specific prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 */
39 /*----------------------------------------------------------------------------+
40 | |
41 | Texas Instruments |
42 | |
43 | MSP430 USB-Example (MSC Driver) |
44 | |
45 +-----------------------------------------------------------------------------+
46 | Source: UsbMsc.h, File Version 1.01 |
47 | Description: This file contains API declarations for function to use by |
48 | User Application. |
49 | Author: RSTO |
50 | |
51 | WHO WHEN WHAT |
52 | --- ---------- ------------------------------------------------ |
53 | RSTO 2010/10/29 Created |
54 +----------------------------------------------------------------------------*/
55 #ifndef _USB_MSC_H_
56 #define _USB_MSC_H_
58 #include "UsbMscScsi.h"
60 #ifdef __cplusplus
61 extern "C"
62 {
63 #endif
65 /*Return values of getState() and USBMSC_poll() API */
66 #define kUSBMSC_idle 0
67 #define kUSBMSC_readInProgress 1
68 #define kUSBMSC_writeInProgress 2
69 #define kUSBMSC_cmdBeingProcessed 3
70 #define kUSBMSC_okToSleep 4
71 #define kUSBMSC_processBuffer 5
73 /*----------------------------------------------------------------------------+
74 | Function Prototypes |
75 +----------------------------------------------------------------------------*/
76 /*Function to handle the MSC SCSI state machine */
77 BYTE USBMSC_poll(VOID);
79 /* MSC functions */
80 BOOL MSCToHostFromBuffer();
81 BOOL MSCFromHostToBuffer();
82 BYTE USBMSC_bufferProcessed(VOID);
83 BYTE USBMSC_getState();
84 BYTE USBMSC_updateMediaInfo(BYTE lun, struct USBMSC_mediaInfoStr *info);
86 BYTE USBMSC_handleBufferEvent(VOID);
87 BYTE USBMSC_registerBufInfo( BYTE* RWbuf_x, BYTE* RWbuf_y, WORD size);
89 #ifdef __cplusplus
90 }
91 #endif
92 #endif //_USB_MSC_H_