44 lines
880 B
C
44 lines
880 B
C
#ifndef _DISKIO_DEFINED
|
|
#define _DISKIO_DEFINED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef BYTE DSTATUS;
|
|
|
|
typedef enum {
|
|
RES_OK = 0,
|
|
RES_ERROR,
|
|
RES_WRPRT,
|
|
RES_NOTRDY,
|
|
RES_PARERR
|
|
} DRESULT;
|
|
|
|
DSTATUS disk_initialize(BYTE pdrv);
|
|
DSTATUS disk_status(BYTE pdrv);
|
|
DRESULT disk_read(BYTE pdrv, BYTE* buff, LBA_t sector, UINT count);
|
|
DRESULT disk_write(BYTE pdrv, const BYTE* buff, LBA_t sector, UINT count);
|
|
DRESULT disk_ioctl(BYTE pdrv, BYTE cmd, void* buff);
|
|
|
|
#define STA_NOINIT 0x01
|
|
#define STA_NODISK 0x02
|
|
#define STA_PROTECT 0x04
|
|
|
|
#define CTRL_SYNC 0
|
|
#define GET_SECTOR_COUNT 1
|
|
#define GET_SECTOR_SIZE 2
|
|
#define GET_BLOCK_SIZE 3
|
|
#define CTRL_TRIM 4
|
|
|
|
#define CTRL_POWER 5
|
|
#define CTRL_LOCK 6
|
|
#define CTRL_EJECT 7
|
|
#define CTRL_FORMAT 8
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|