Data Structures |
| struct | FF_DEVICE_INFO |
| struct | FF_BLK_DEVICE |
| | Describes the block device driver interface to FullFAT. More...
|
| struct | FF_BUFFER |
| | FullFAT handles memory with buffers, described as below. More...
|
| struct | FF_PATHCACHE |
| struct | FF_PARTITION |
| | FullFAT identifies a partition with the following data. More...
|
| struct | FF_IOMAN |
| | FF_IOMAN Object. A developer should not touch these values. More...
|
Defines |
| #define | FF_T_FAT12 0x0A |
| #define | FF_T_FAT16 0x0B |
| #define | FF_T_FAT32 0x0C |
| #define | FF_MODE_READ 0x01 |
| | Buffer / FILE Mode for Read Access.
|
| #define | FF_MODE_WRITE 0x02 |
| | Buffer / FILE Mode for Write Access.
|
| #define | FF_MODE_APPEND 0x04 |
| | FILE Mode Append Access.
|
| #define | FF_MODE_CREATE 0x08 |
| | FILE Mode Create file if not existing.
|
| #define | FF_MODE_TRUNCATE 0x10 |
| | FILE Mode Truncate an Existing file.
|
| #define | FF_MODE_DIR 0x80 |
| | Special Mode to open a Dir. (Internal use ONLY!)
|
| #define | FF_BUF_MAX_HANDLES 0xFFFF |
| | Maximum number handles sharing a buffer. (16 bit integer, we don't want to overflow it!)
|
| #define | FF_ERR_DRIVER_BUSY -10 |
| #define | FF_ERR_DRIVER_FATAL_ERROR -11 |
| #define | FF_FAT_LOCK 0x01 |
| | FF_IOMAN Object description.
|
| #define | FF_DIR_LOCK 0x02 |
| | Lock bit mask for DIR modification locking.
|
| #define | FF_IOMAN_ALLOC_BLKDEV 0x01 |
| | Flags the pBlkDevice pointer is allocated.
|
| #define | FF_IOMAN_ALLOC_PART 0x02 |
| | Flags the pPartition pointer is allocated.
|
| #define | FF_IOMAN_ALLOC_BUFDESCR 0x04 |
| | Flags the pBuffers pointer is allocated.
|
| #define | FF_IOMAN_ALLOC_BUFFERS 0x08 |
| | Flags the pCacheMem pointer is allocated.
|
| #define | FF_IOMAN_ALLOC_RESERVED 0xF0 |
| | Reserved Section.
|
Typedefs |
| typedef FF_T_SINT32(* | FF_WRITE_BLOCKS )(FF_T_UINT8 *pBuffer, FF_T_UINT32 SectorAddress, FF_T_UINT32 Count, void *pParam) |
| typedef FF_T_SINT32(* | FF_READ_BLOCKS )(FF_T_UINT8 *pBuffer, FF_T_UINT32 SectorAddress, FF_T_UINT32 Count, void *pParam) |
Functions |
| FF_IOMAN * | FF_CreateIOMAN (FF_T_UINT8 *pCacheMem, FF_T_UINT32 Size, FF_T_UINT16 BlkSize, FF_ERROR *pError) |
| | Creates an FF_IOMAN object, to initialise FullFAT.
|
| FF_ERROR | FF_DestroyIOMAN (FF_IOMAN *pIoman) |
| | Destroys an FF_IOMAN object, and frees all assigned memory.
|
| FF_ERROR | FF_RegisterBlkDevice (FF_IOMAN *pIoman, FF_T_UINT16 BlkSize, FF_WRITE_BLOCKS fnWriteBlocks, FF_READ_BLOCKS fnReadBlocks, void *pParam) |
| | Registers a device driver with FullFAT.
|
| FF_ERROR | FF_UnregisterBlkDevice (FF_IOMAN *pIoman) |
| | Unregister a Blockdevice, so that the IOMAN can be re-used for another device.
|
| FF_ERROR | FF_MountPartition (FF_IOMAN *pIoman, FF_T_UINT8 PartitionNumber) |
| | Mounts the Specified partition, the volume specified by the FF_IOMAN object provided.
|
| FF_ERROR | FF_UnmountPartition (FF_IOMAN *pIoman) |
| | Unmounts the active partition.
|
| FF_ERROR | FF_FlushCache (FF_IOMAN *pIoman) |
| | Flushes all Write cache buffers with no active Handles.
|
| FF_T_SINT32 | FF_GetPartitionBlockSize (FF_IOMAN *pIoman) |
| | Returns the Block-size of a mounted Partition.
|
| FF_T_UINT64 | FF_GetVolumeSize (FF_IOMAN *pIoman) |
| FF_T_SINT32 | FF_BlockRead (FF_IOMAN *pIoman, FF_T_UINT32 ulSectorLBA, FF_T_UINT32 ulNumSectors, void *pBuffer) |
| FF_T_SINT32 | FF_BlockWrite (FF_IOMAN *pIoman, FF_T_UINT32 ulSectorLBA, FF_T_UINT32 ulNumSectors, void *pBuffer) |
| FF_ERROR | FF_IncreaseFreeClusters (FF_IOMAN *pIoman, FF_T_UINT32 Count) |
| FF_ERROR | FF_DecreaseFreeClusters (FF_IOMAN *pIoman, FF_T_UINT32 Count) |
| FF_BUFFER * | FF_GetBuffer (FF_IOMAN *pIoman, FF_T_UINT32 Sector, FF_T_UINT8 Mode) |
| void | FF_ReleaseBuffer (FF_IOMAN *pIoman, FF_BUFFER *pBuffer) |
| | Releases a buffer resource.
|
- Author:
- James Walmsley
Definition in file ff_ioman.h.