|  |  |  | /*-----------------------------------------------------------------------
 | 
					
						
							|  |  |  | /  Low level disk interface module include file | 
					
						
							|  |  |  | /-----------------------------------------------------------------------*/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _DISKIO_DEFINED
 | 
					
						
							|  |  |  | #define _DISKIO_DEFINED
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "integer.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "../DataflashManager.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Status of Disk Functions */ | 
					
						
							|  |  |  | typedef BYTE	DSTATUS; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Results of Disk Functions */ | 
					
						
							|  |  |  | typedef enum { | 
					
						
							|  |  |  | 	RES_OK = 0,		/* 0: Successful */ | 
					
						
							|  |  |  | 	RES_ERROR,		/* 1: R/W Error */ | 
					
						
							|  |  |  | 	RES_WRPRT,		/* 2: Write Protected */ | 
					
						
							|  |  |  | 	RES_NOTRDY,		/* 3: Not Ready */ | 
					
						
							|  |  |  | 	RES_PARERR		/* 4: Invalid Parameter */ | 
					
						
							|  |  |  | } DRESULT; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*---------------------------------------*/ | 
					
						
							|  |  |  | /* Prototypes for disk control functions */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DSTATUS disk_initialize (BYTE); | 
					
						
							|  |  |  | DSTATUS disk_status (BYTE); | 
					
						
							|  |  |  | DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); | 
					
						
							|  |  |  | #if	_READONLY == 0
 | 
					
						
							|  |  |  | DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | DRESULT disk_ioctl (BYTE, BYTE, void*); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Disk Status Bits (DSTATUS) */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define STA_NOINIT		0x01	/* Drive not initialized */
 | 
					
						
							|  |  |  | #define STA_NODISK		0x02	/* No medium in the drive */
 | 
					
						
							|  |  |  | #define STA_PROTECT		0x04	/* Write protected */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Generic command */ | 
					
						
							|  |  |  | #define CTRL_SYNC			0	/* Mandatory for write functions */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |