Auto updated submodule references [07-02-2025]
[betaflight.git] / src / platform / APM32 / usb / msc / usbd_memory.h
blob0cf061205aa817b3d9fb3e291a7dc618199b7d56
1 /*!
2 * @file usbd_memory.h
4 * @brief usb device memory management header file
6 * @attention
8 * Copyright (C) 2023 Geehy Semiconductor
10 * You may not use this file except in compliance with the
11 * GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
13 * The program is only for reference, which is distributed in the hope
14 * that it will be useful and instructional for customers to develop
15 * their software. Unless required by applicable law or agreed to in
16 * writing, the program is distributed on an "AS IS" BASIS, WITHOUT
17 * ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
19 * and limitations under the License.
22 /* Define to prevent recursive inclusion */
23 #ifndef _USBD_MEMORY_H_
24 #define _USBD_MEMORY_H_
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
30 /* Includes ***************************************************************/
31 #include "usbd_msc.h"
33 /* Exported macro *********************************************************/
35 /* Exported typedef *******************************************************/
37 /* Exported function prototypes *******************************************/
38 uint8_t USBD_MSC_MemoryReadMaxLun(void);
39 USBD_STA_T USBD_MSC_MemoryCheckWPR(uint8_t lun);
40 USBD_STA_T USBD_MSC_MemoryCheckReady(uint8_t lun);
41 USBD_STA_T USBD_MSC_MemoryInit(uint8_t lun);
42 USBD_STA_T USBD_MSC_MemoryReadCapacity(uint8_t lun, uint32_t* blockNum, \
43 uint16_t* blockSize);
44 USBD_STA_T USBD_MSC_MemoryReadData(uint8_t lun, uint8_t* buffer, uint32_t blockAddr, \
45 uint16_t blockLength);
46 USBD_STA_T USBD_MSC_MemoryWriteData(uint8_t lun, uint8_t* buffer, uint32_t blockAddr, \
47 uint16_t blockLength);
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
53 #endif