summaryrefslogtreecommitdiff
path: root/vendor/fatfs/diskio.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fatfs/diskio.h')
-rw-r--r--vendor/fatfs/diskio.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/vendor/fatfs/diskio.h b/vendor/fatfs/diskio.h
index 580fbf747..5a69f69d6 100644
--- a/vendor/fatfs/diskio.h
+++ b/vendor/fatfs/diskio.h
@@ -13,7 +13,7 @@ extern "C" {
#define _USE_IOCTL 1 /* 1: Enable disk_ioctl fucntion */
#include "integer.h"
-
+#include <stdbool.h>
/* Status of Disk Functions */
typedef BYTE DSTATUS;
@@ -28,17 +28,6 @@ typedef enum {
} DRESULT;
-/*---------------------------------------*/
-/* Prototypes for disk control functions */
-
-
-DSTATUS disk_initialize (BYTE pdrv);
-DSTATUS disk_status (BYTE pdrv);
-DRESULT disk_read (BYTE pdrv, BYTE*buff, DWORD sector, BYTE count);
-DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, BYTE count);
-DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
-
-
/* Disk Status Bits (DSTATUS) */
#define STA_NOINIT 0x01 /* Drive not initialized */
#define STA_NODISK 0x02 /* No medium in the drive */
@@ -80,6 +69,22 @@ DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
#define CT_SDC (CT_SD1|CT_SD2) /* SD */
#define CT_BLOCK 0x08 /* Block addressing */
+/*---------------------------------------*/
+/* Prototypes for disk control functions */
+
+
+DSTATUS disk_initialize (BYTE pdrv);
+DSTATUS disk_status (BYTE pdrv);
+DRESULT disk_read (BYTE pdrv, BYTE*buff, DWORD sector, BYTE count);
+DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, BYTE count);
+DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
+
+static inline bool disk_is_ready(BYTE pdrv);
+static inline bool disk_is_ready(BYTE pdrv)
+{
+ return (disk_status(pdrv) & (STA_NOINIT | STA_NODISK)) == 0;
+}
+
#ifdef __cplusplus
}