| 1 | /**
|
|---|
| 2 | ******************************************************************************
|
|---|
| 3 | * @file ff_gen_drv.h
|
|---|
| 4 | * @author MCD Application Team
|
|---|
| 5 | * @brief Header for ff_gen_drv.c module.
|
|---|
| 6 | *****************************************************************************
|
|---|
| 7 | * @attention
|
|---|
| 8 | *
|
|---|
| 9 | * Copyright (c) 2017 STMicroelectronics. All rights reserved.
|
|---|
| 10 | *
|
|---|
| 11 | * This software component is licensed by ST under BSD 3-Clause license,
|
|---|
| 12 | * the "License"; You may not use this file except in compliance with the
|
|---|
| 13 | * License. You may obtain a copy of the License at:
|
|---|
| 14 | * opensource.org/licenses/BSD-3-Clause
|
|---|
| 15 | *
|
|---|
| 16 | ******************************************************************************
|
|---|
| 17 | **/
|
|---|
| 18 |
|
|---|
| 19 | /* Define to prevent recursive inclusion -------------------------------------*/
|
|---|
| 20 | #ifndef __FF_GEN_DRV_H
|
|---|
| 21 | #define __FF_GEN_DRV_H
|
|---|
| 22 |
|
|---|
| 23 | #ifdef __cplusplus
|
|---|
| 24 | extern "C" {
|
|---|
| 25 | #endif
|
|---|
| 26 |
|
|---|
| 27 | /* Includes ------------------------------------------------------------------*/
|
|---|
| 28 | #include "diskio.h"
|
|---|
| 29 | #include "ff.h"
|
|---|
| 30 | #include "stdint.h"
|
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 | /* Exported types ------------------------------------------------------------*/
|
|---|
| 34 |
|
|---|
| 35 | /**
|
|---|
| 36 | * @brief Disk IO Driver structure definition
|
|---|
| 37 | */
|
|---|
| 38 | typedef struct
|
|---|
| 39 | {
|
|---|
| 40 | DSTATUS (*disk_initialize) (BYTE); /*!< Initialize Disk Drive */
|
|---|
| 41 | DSTATUS (*disk_status) (BYTE); /*!< Get Disk Status */
|
|---|
| 42 | DRESULT (*disk_read) (BYTE, BYTE*, DWORD, UINT); /*!< Read Sector(s) */
|
|---|
| 43 | #if _USE_WRITE == 1
|
|---|
| 44 | DRESULT (*disk_write) (BYTE, const BYTE*, DWORD, UINT); /*!< Write Sector(s) when _USE_WRITE = 0 */
|
|---|
| 45 | #endif /* _USE_WRITE == 1 */
|
|---|
| 46 | #if _USE_IOCTL == 1
|
|---|
| 47 | DRESULT (*disk_ioctl) (BYTE, BYTE, void*); /*!< I/O control operation when _USE_IOCTL = 1 */
|
|---|
| 48 | #endif /* _USE_IOCTL == 1 */
|
|---|
| 49 |
|
|---|
| 50 | }Diskio_drvTypeDef;
|
|---|
| 51 |
|
|---|
| 52 | /**
|
|---|
| 53 | * @brief Global Disk IO Drivers structure definition
|
|---|
| 54 | */
|
|---|
| 55 | typedef struct
|
|---|
| 56 | {
|
|---|
| 57 | uint8_t is_initialized[_VOLUMES];
|
|---|
| 58 | const Diskio_drvTypeDef *drv[_VOLUMES];
|
|---|
| 59 | uint8_t lun[_VOLUMES];
|
|---|
| 60 | volatile uint8_t nbr;
|
|---|
| 61 |
|
|---|
| 62 | }Disk_drvTypeDef;
|
|---|
| 63 |
|
|---|
| 64 | /* Exported constants --------------------------------------------------------*/
|
|---|
| 65 | /* Exported macro ------------------------------------------------------------*/
|
|---|
| 66 | /* Exported functions ------------------------------------------------------- */
|
|---|
| 67 | uint8_t FATFS_LinkDriver(const Diskio_drvTypeDef *drv, char *path);
|
|---|
| 68 | uint8_t FATFS_UnLinkDriver(char *path);
|
|---|
| 69 | uint8_t FATFS_LinkDriverEx(const Diskio_drvTypeDef *drv, char *path, BYTE lun);
|
|---|
| 70 | uint8_t FATFS_UnLinkDriverEx(char *path, BYTE lun);
|
|---|
| 71 | uint8_t FATFS_GetAttachedDriversNbr(void);
|
|---|
| 72 |
|
|---|
| 73 | #ifdef __cplusplus
|
|---|
| 74 | }
|
|---|
| 75 | #endif
|
|---|
| 76 |
|
|---|
| 77 | #endif /* __FF_GEN_DRV_H */
|
|---|
| 78 |
|
|---|
| 79 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|---|
| 80 |
|
|---|