Select one of the symbols to view example projects that use it.
 
Outline
#define __USBD_MSC_H
#include "usbd_msc_bot.h"
#include "usbd_msc_scsi.h"
#include "usbd_ioreq.h"
#define MSC_MEDIA_PACKET
#define MSC_MAX_FS_PACKET
#define MSC_MAX_HS_PACKET
#define BOT_GET_MAX_LUN
#define BOT_RESET
#define USB_MSC_CONFIG_DESC_SIZ
#define MSC_EPIN_ADDR
#define MSC_EPOUT_ADDR
_USBD_STORAGE
USBD_MSC_BOT_HandleTypeDef
USBD_MSC;
#define USBD_MSC_CLASS
USBD_MSC_RegisterStorage(USBD_HandleTypeDef *, USBD_StorageTypeDef *);
Files
loading...
SourceVuSTM32 Libraries and SamplesSTM32_USB_Device_LibraryClass/MSC/Inc/usbd_msc.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file usbd_msc.h * @author MCD Application Team * @brief Header for the usbd_msc.c file ****************************************************************************** * @attention * * Copyright (c) 2015 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __USBD_MSC_H #define __USBD_MSC_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "usbd_msc_bot.h" #include "usbd_msc_scsi.h" #include "usbd_ioreq.h" /** @addtogroup USBD_MSC_BOT * @{ *//* ... */ /** @defgroup USBD_MSC * @brief This file is the Header file for usbd_msc.c * @{ *//* ... */ /** @defgroup USBD_BOT_Exported_Defines * @{ *//* ... */ /* MSC Class Config */ #ifndef MSC_MEDIA_PACKET #define MSC_MEDIA_PACKET 512U #endif /* MSC_MEDIA_PACKET */ #define MSC_MAX_FS_PACKET 0x40U #define MSC_MAX_HS_PACKET 0x200U #define BOT_GET_MAX_LUN 0xFE #define BOT_RESET 0xFF #define USB_MSC_CONFIG_DESC_SIZ 32 5 defines #ifndef MSC_EPIN_ADDR #define MSC_EPIN_ADDR 0x81U #endif /* MSC_EPIN_ADDR */ #ifndef MSC_EPOUT_ADDR #define MSC_EPOUT_ADDR 0x01U #endif /* MSC_EPOUT_ADDR */ /** * @} *//* ... */ /** @defgroup USB_CORE_Exported_Types * @{ *//* ... */ typedef struct _USBD_STORAGE { int8_t (* Init)(uint8_t lun); int8_t (* GetCapacity)(uint8_t lun, uint32_t *block_num, uint16_t *block_size); int8_t (* IsReady)(uint8_t lun); int8_t (* IsWriteProtected)(uint8_t lun); int8_t (* Read)(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len); int8_t (* Write)(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len); int8_t (* GetMaxLun)(void); int8_t *pInquiry; ...} USBD_StorageTypeDef; typedef struct { uint32_t max_lun; uint32_t interface; uint8_t bot_state; uint8_t bot_status; uint32_t bot_data_length; uint8_t bot_data[MSC_MEDIA_PACKET]; USBD_MSC_BOT_CBWTypeDef cbw; USBD_MSC_BOT_CSWTypeDef csw; USBD_SCSI_SenseTypeDef scsi_sense [SENSE_LIST_DEEPTH]; uint8_t scsi_sense_head; uint8_t scsi_sense_tail; uint8_t scsi_medium_state; uint16_t scsi_blk_size; uint32_t scsi_blk_nbr; uint32_t scsi_blk_addr; uint32_t scsi_blk_len; ...} USBD_MSC_BOT_HandleTypeDef; /* Structure for MSC process */ extern USBD_ClassTypeDef USBD_MSC; #define USBD_MSC_CLASS &USBD_MSC uint8_t USBD_MSC_RegisterStorage(USBD_HandleTypeDef *pdev, USBD_StorageTypeDef *fops); /** * @} *//* ... */ /** * @} *//* ... */ #ifdef __cplusplus }extern "C" { ... } #endif /* ... */ #endif /* __USBD_MSC_H */ /** * @} *//* ... */
Details