123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef _FATFS_PORTABLE_H_
- #define _FATFS_PORTABLE_H_
- #include "osi_compiler.h"
- #include "ff.h"
- #include "diskio.h"
- OSI_EXTERN_C_BEGIN
- /**
- * \brief forward declaration
- */
- struct blockDevice;
- /**
- * \brief register a block device to fatfs
- *
- * fatfs uses BYTE as device. And the mapping between BYTE and block
- * device instance are maintained outside.
- *
- * \param dev block device
- * \return
- * - fatfs device index
- * - 0xFF on error
- */
- BYTE fat_disk_register_device(struct blockDevice *dev);
- /**
- * \brief unregister block device at specified index
- *
- * \param idx fatfs device index
- * \return
- * - true on success
- * - false on error, invalid parameter
- */
- bool fat_disk_unregister_device(BYTE idx);
- /**
- * \brief get drive status
- *
- * \param idx fatfs device index
- * \return drive status
- */
- DSTATUS fat_disk_status(BYTE idx);
- /**
- * \brief initialize a drive
- *
- * \param idx fatfs device index
- * \return drive status
- */
- DSTATUS fat_disk_initialize(BYTE idx);
- /**
- * \brief read sector or sectors
- *
- * \param idx fatfs device index
- * \param buff data buffer to store read data
- * \param sector start sector in LBA
- * \param count number of sectors to read
- * \return result
- */
- DRESULT fat_disk_read(BYTE idx, BYTE *buff, DWORD sector, UINT count);
- /**
- * \brief write sector or sectors
- *
- * \param idx fatfs device index
- * \param buff data to be written
- * \param sector start sector in LBA
- * \param count number of sectors to read
- * \return result
- */
- DRESULT fat_disk_write(BYTE idx, const BYTE *buff, DWORD sector, UINT count);
- /**
- * \brief miscellaneous functions
- *
- * \param idx fatfs device index
- * \param cmd control code
- * \param buff buffer to send/receive control data
- * \return result
- */
- DRESULT fat_disk_ioctl(BYTE idx, BYTE cmd, void *buff);
- OSI_EXTERN_C_END
- #endif
|