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_fat.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  *  FullFAT - High Performance, Thread-Safe Embedded FAT File-System         *
00003  *  Copyright (C) 2009  James Walmsley (james@worm.me.uk)                    *
00004  *                                                                           *
00005  *  This program is free software: you can redistribute it and/or modify     *
00006  *  it under the terms of the GNU General Public License as published by     *
00007  *  the Free Software Foundation, either version 3 of the License, or        *
00008  *  (at your option) any later version.                                      *
00009  *                                                                           *
00010  *  This program is distributed in the hope that it will be useful,          *
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            *
00013  *  GNU General Public License for more details.                             *
00014  *                                                                           *
00015  *  You should have received a copy of the GNU General Public License        *
00016  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.    *
00017  *                                                                           *
00018  *  IMPORTANT NOTICE:                                                        *
00019  *  =================                                                        *
00020  *  Alternative Licensing is available directly from the Copyright holder,   *
00021  *  (James Walmsley). For more information consult LICENSING.TXT to obtain   *
00022  *  a Commercial license.                                                    *
00023  *                                                                           *
00024  *  See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT.       *
00025  *                                                                           *
00026  *  Removing the above notice is illegal and will invalidate this license.   *
00027  *****************************************************************************
00028  *  See http://worm.me.uk/fullfat for more information.                      *
00029  *  Or  http://fullfat.googlecode.com/ for latest releases and the wiki.     *
00030  *****************************************************************************/
00031 
00038 #ifndef _FF_FAT_H_
00039 #define _FF_FAT_H_
00040 
00041 #include "ff_config.h"
00042 #include "ff_fatdef.h"
00043 #include "ff_ioman.h"
00044 #include "ff_blk.h"
00045 #include "ff_types.h"
00046 
00047 //---------- ERROR CODES
00048 
00049 
00050 //---------- PROTOTYPES
00051 
00052         FF_T_UINT32 FF_getRealLBA           (FF_IOMAN *pIoman, FF_T_UINT32 LBA);
00053         FF_T_UINT32 FF_Cluster2LBA          (FF_IOMAN *pIoman, FF_T_UINT32 Cluster);
00054         FF_T_UINT32 FF_LBA2Cluster          (FF_IOMAN *pIoman, FF_T_UINT32 Address);
00055         FF_T_UINT32 FF_getFatEntry          (FF_IOMAN *pIoman, FF_T_UINT32 nCluster, FF_ERROR *pError);
00056         FF_ERROR    FF_putFatEntry          (FF_IOMAN *pIoman, FF_T_UINT32 nCluster, FF_T_UINT32 Value);
00057         FF_T_BOOL   FF_isEndOfChain         (FF_IOMAN *pIoman, FF_T_UINT32 fatEntry);
00058         FF_T_UINT32 FF_FindFreeCluster      (FF_IOMAN *pIoman, FF_ERROR *pError);
00059         FF_T_UINT32 FF_ExtendClusterChain   (FF_IOMAN *pIoman, FF_T_UINT32 StartCluster, FF_T_UINT32 Count);
00060         FF_ERROR    FF_UnlinkClusterChain   (FF_IOMAN *pIoman, FF_T_UINT32 StartCluster, FF_T_UINT16 Count);
00061         FF_T_UINT32 FF_TraverseFAT          (FF_IOMAN *pIoman, FF_T_UINT32 Start, FF_T_UINT32 Count, FF_ERROR *pError);
00062         FF_T_UINT32 FF_CreateClusterChain   (FF_IOMAN *pIoman, FF_ERROR *pError);
00063         FF_T_UINT32 FF_GetChainLength       (FF_IOMAN *pIoman, FF_T_UINT32 pa_nStartCluster, FF_T_UINT32 *piEndOfChain, FF_ERROR *pError);
00064         FF_T_UINT32 FF_FindEndOfChain       (FF_IOMAN *pIoman, FF_T_UINT32 Start, FF_ERROR *pError);
00065         FF_ERROR    FF_ClearCluster         (FF_IOMAN *pIoman, FF_T_UINT32 nCluster);
00066 #ifdef FF_64_NUM_SUPPORT
00067         FF_T_UINT64 FF_GetFreeSize          (FF_IOMAN *pIoman, FF_ERROR *pError);
00068 #else
00069         FF_T_UINT32 FF_GetFreeSize          (FF_IOMAN *pIoman, FF_ERROR *pError);
00070 #endif
00071         FF_T_UINT32 FF_CountFreeClusters    (FF_IOMAN *pIoman, FF_ERROR *pError);   // WARNING: If this protoype changes, it must be updated in ff_ioman.c also!
00072         void        FF_lockFAT              (FF_IOMAN *pIoman);
00073         void        FF_unlockFAT            (FF_IOMAN *pIoman);
00074 
00075 #endif
00076 

Generated on Fri May 25 2012 04:31:38 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.