ARMEBS4  revision-26.06.2015
usbh_msc_core.h
1 #include "heivs/config.h"
2 #if (USE_STM32_USB_HOST_MODE || USE_STM32_USB_USE_DEVICE_MODE || USE_STM32_USB_OTG_MODE)
3 /**
4  ******************************************************************************
5  * @file usbh_msc_core.h
6  * @author MCD Application Team
7  * @version V2.1.0
8  * @date 19-March-2012
9  * @brief This file contains all the prototypes for the usbh_msc_core.c
10  ******************************************************************************
11  * @attention
12  *
13  * <h2><center>&copy; COPYRIGHT 2012 STMicroelectronics</center></h2>
14  *
15  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
16  * You may not use this file except in compliance with the License.
17  * You may obtain a copy of the License at:
18  *
19  * http://www.st.com/software_license_agreement_liberty_v2
20  *
21  * Unless required by applicable law or agreed to in writing, software
22  * distributed under the License is distributed on an "AS IS" BASIS,
23  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24  * See the License for the specific language governing permissions and
25  * limitations under the License.
26  *
27  ******************************************************************************
28  */
29 
30 /* Define to prevent recursive ----------------------------------------------*/
31 #ifndef __USBH_MSC_CORE_H
32 #define __USBH_MSC_CORE_H
33 
34 /* Includes ------------------------------------------------------------------*/
35 #include "config/usb_conf.h"
36 #if defined(USE_HOST_MODE)
37 
38 #include "stm32/usb/usbh_core.h"
39 #include "stm32/usb/usbh_stdreq.h"
40 #include "stm32/usb/usb_bsp.h"
41 #include "stm32/usb/usbh_ioreq.h"
42 #include "stm32/usb/usbh_hcs.h"
43 #include "stm32/usb/usbh_msc_core.h"
44 #include "stm32/usb/usbh_msc_scsi.h"
45 #include "stm32/usb/usbh_msc_bot.h"
46 
47 /** @addtogroup USBH_LIB
48  * @{
49  */
50 
51 /** @addtogroup USBH_CLASS
52  * @{
53  */
54 
55 /** @addtogroup USBH_MSC_CLASS
56  * @{
57  */
58 
59 /** @defgroup USBH_MSC_CORE
60  * @brief This file is the Header file for usbh_msc_core.c
61  * @{
62  */
63 
64 
65 /** @defgroup USBH_MSC_CORE_Exported_Types
66  * @{
67  */
68 
69 
70 /* Structure for MSC process */
71 typedef struct _MSC_Process
72 {
73  uint8_t hc_num_in;
74  uint8_t hc_num_out;
75  uint8_t MSBulkOutEp;
76  uint8_t MSBulkInEp;
77  uint16_t MSBulkInEpSize;
78  uint16_t MSBulkOutEpSize;
79  uint8_t buff[USBH_MSC_MPS_SIZE];
80  uint8_t maxLun;
81 }
82 MSC_Machine_TypeDef;
83 
84 
85 /**
86  * @}
87  */
88 
89 
90 
91 /** @defgroup USBH_MSC_CORE_Exported_Defines
92  * @{
93  */
94 
95 #define USB_REQ_BOT_RESET 0xFF
96 #define USB_REQ_GET_MAX_LUN 0xFE
97 
98 
99 /**
100  * @}
101  */
102 
103 /** @defgroup USBH_MSC_CORE_Exported_Macros
104  * @{
105  */
106 /**
107  * @}
108  */
109 
110 /** @defgroup USBH_MSC_CORE_Exported_Variables
111  * @{
112  */
113 extern USBH_Class_cb_TypeDef USBH_MSC_cb;
114 extern MSC_Machine_TypeDef MSC_Machine;
115 extern uint8_t MSCErrorCount;
116 
117 /**
118  * @}
119  */
120 
121 /** @defgroup USBH_MSC_CORE_Exported_FunctionsPrototype
122  * @{
123  */
124 
125 
126 
127 /**
128  * @}
129  */
130 
131 #endif /* __USBH_MSC_CORE_H */
132 
133 
134 /**
135  * @}
136  */
137 
138 /**
139  * @}
140  */
141 
142 /**
143  * @}
144  */
145 
146 /**
147  * @}
148  */
149 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
150 #endif
151 #endif /* (USE_STM32_USB_HOST_MODE || USE_STM32_USB_USE_DEVICE_MODE || USE_STM32_USB_OTG_MODE) */
libheivs configuration file