ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ff_ioman.h File Reference
#include <stdlib.h>
#include "ff_error.h"
#include "ff_config.h"
#include "ff_types.h"
#include "ff_safety.h"
#include "ff_memory.h"
#include "ff_hash.h"

Go to the source code of this file.

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_IOMANFF_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_BUFFERFF_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.

Detailed Description

Author:
James Walmsley

Definition in file ff_ioman.h.


Generated on Sat May 26 2012 05:55:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.