Add FatFS library to the Webserver project, extend the HTTP server so that it now...
[pub/lufa.git] / Projects / Webserver / Lib / FATFs / diskio.h
diff --git a/Projects/Webserver/Lib/FATFs/diskio.h b/Projects/Webserver/Lib/FATFs/diskio.h
new file mode 100644 (file)
index 0000000..3df93ae
--- /dev/null
@@ -0,0 +1,72 @@
+/*-----------------------------------------------------------------------\r
+/  Low level disk interface modlue include file  R0.07   (C)ChaN, 2010\r
+/-----------------------------------------------------------------------*/\r
+\r
+#ifndef _DISKIO\r
+\r
+#define _READONLY      0       /* 1: Read-only mode */\r
+#define _USE_IOCTL     1\r
+\r
+#include "integer.h"\r
+#include "ff.h"\r
+\r
+#include "../DataflashManager.h"\r
+\r
+\r
+/* Status of Disk Functions */\r
+typedef BYTE   DSTATUS;\r
+\r
+/* Results of Disk Functions */\r
+typedef enum {\r
+       RES_OK = 0,             /* 0: Successful */\r
+       RES_ERROR,              /* 1: R/W Error */\r
+       RES_WRPRT,              /* 2: Write Protected */\r
+       RES_NOTRDY,             /* 3: Not Ready */\r
+       RES_PARERR              /* 4: Invalid Parameter */\r
+} DRESULT;\r
+\r
+\r
+/*---------------------------------------*/\r
+/* Prototypes for disk control functions */\r
+\r
+BOOL assign_drives (int argc, char *argv[]);\r
+DSTATUS disk_initialize (BYTE);\r
+DSTATUS disk_status (BYTE);\r
+DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE);\r
+#if    _READONLY == 0\r
+DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE);\r
+#endif\r
+DRESULT disk_ioctl (BYTE, BYTE, void*);\r
+\r
+\r
+/* Disk Status Bits (DSTATUS) */\r
+\r
+#define STA_NOINIT             0x01    /* Drive not initialized */\r
+#define STA_NODISK             0x02    /* No medium in the drive */\r
+#define STA_PROTECT            0x04    /* Write protected */\r
+\r
+\r
+/* Command code for disk_ioctrl() */\r
+\r
+/* Generic command */\r
+#define CTRL_SYNC                      0       /* Mandatory for write functions */\r
+#define GET_SECTOR_COUNT       1       /* Mandatory for only f_mkfs() */\r
+#define GET_SECTOR_SIZE                2       /* Mandatory for multiple sector size cfg */\r
+#define GET_BLOCK_SIZE         3       /* Mandatory for only f_mkfs() */\r
+#define CTRL_POWER                     4\r
+#define CTRL_LOCK                      5\r
+#define CTRL_EJECT                     6\r
+/* MMC/SDC command */\r
+#define MMC_GET_TYPE           10\r
+#define MMC_GET_CSD                    11\r
+#define MMC_GET_CID                    12\r
+#define MMC_GET_OCR                    13\r
+#define MMC_GET_SDSTAT         14\r
+/* ATA/CF command */\r
+#define ATA_GET_REV                    20\r
+#define ATA_GET_MODEL          21\r
+#define ATA_GET_SN                     22\r
+\r
+\r
+#define _DISKIO\r
+#endif\r