Author: fireball
Date: Mon Sep 28 20:41:51 2009
New Revision: 43212
URL: http://svn.reactos.org/svn/reactos?rev=43212&view=rev
Log:
- Import FullFAT and add it to build.
Added:
trunk/reactos/include/reactos/libs/fullfat/ (with props)
trunk/reactos/include/reactos/libs/fullfat/fat.h
- copied unchanged from r43211, vendor/fullfat/current/fat.h
trunk/reactos/include/reactos/libs/fullfat/ff_blk.h
- copied unchanged from r43211, vendor/fullfat/current/ff_blk.h
trunk/reactos/include/reactos/libs/fullfat/ff_config.h
- copied unchanged from r43211, vendor/fullfat/current/ff_config.h
trunk/reactos/include/reactos/libs/fullfat/ff_crc.h
- copied unchanged from r43211, vendor/fullfat/current/ff_crc.h
trunk/reactos/include/reactos/libs/fullfat/ff_dir.h
- copied unchanged from r43211, vendor/fullfat/current/ff_dir.h
trunk/reactos/include/reactos/libs/fullfat/ff_error.h
- copied unchanged from r43211, vendor/fullfat/current/ff_error.h
trunk/reactos/include/reactos/libs/fullfat/ff_fat.h
- copied unchanged from r43211, vendor/fullfat/current/ff_fat.h
trunk/reactos/include/reactos/libs/fullfat/ff_file.h
- copied unchanged from r43211, vendor/fullfat/current/ff_file.h
trunk/reactos/include/reactos/libs/fullfat/ff_hash.h
- copied unchanged from r43211, vendor/fullfat/current/ff_hash.h
trunk/reactos/include/reactos/libs/fullfat/ff_ioman.h
- copied unchanged from r43211, vendor/fullfat/current/ff_ioman.h
trunk/reactos/include/reactos/libs/fullfat/ff_memory.h
- copied unchanged from r43211, vendor/fullfat/current/ff_memory.h
trunk/reactos/include/reactos/libs/fullfat/ff_safety.h
- copied unchanged from r43211, vendor/fullfat/current/ff_safety.h
trunk/reactos/include/reactos/libs/fullfat/ff_string.h
- copied unchanged from r43211, vendor/fullfat/current/ff_string.h
trunk/reactos/include/reactos/libs/fullfat/ff_time.h
- copied unchanged from r43211, vendor/fullfat/current/ff_time.h
trunk/reactos/include/reactos/libs/fullfat/ff_types.h
- copied unchanged from r43211, vendor/fullfat/current/ff_types.h
trunk/reactos/include/reactos/libs/fullfat/fullfat.h
- copied unchanged from r43211, vendor/fullfat/current/fullfat.h
trunk/reactos/lib/3rdparty/fullfat/
- copied from r43210, vendor/fullfat/current/
Removed:
trunk/reactos/lib/3rdparty/fullfat/fat.h
trunk/reactos/lib/3rdparty/fullfat/ff_blk.h
trunk/reactos/lib/3rdparty/fullfat/ff_config.h
trunk/reactos/lib/3rdparty/fullfat/ff_crc.h
trunk/reactos/lib/3rdparty/fullfat/ff_error.h
trunk/reactos/lib/3rdparty/fullfat/ff_fat.h
trunk/reactos/lib/3rdparty/fullfat/ff_file.h
trunk/reactos/lib/3rdparty/fullfat/ff_hash.h
trunk/reactos/lib/3rdparty/fullfat/ff_ioman.h
trunk/reactos/lib/3rdparty/fullfat/ff_memory.h
trunk/reactos/lib/3rdparty/fullfat/ff_safety.h
trunk/reactos/lib/3rdparty/fullfat/ff_string.h
trunk/reactos/lib/3rdparty/fullfat/ff_time.h
trunk/reactos/lib/3rdparty/fullfat/ff_types.h
trunk/reactos/lib/3rdparty/fullfat/fullfat.h
Modified:
trunk/reactos/lib/3rdparty/3rdparty.rbuild
Propchange: trunk/reactos/include/reactos/libs/fullfat/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Mon Sep 28 20:41:51 2009
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)
Propchange: trunk/reactos/include/reactos/libs/fullfat/
------------------------------------------------------------------------------
bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/reactos/include/reactos/libs/fullfat/
------------------------------------------------------------------------------
bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/include/reactos/libs/fullfat/
------------------------------------------------------------------------------
tsvn:logminsize = 10
Modified: trunk/reactos/lib/3rdparty/3rdparty.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/3rdparty.rbui…
==============================================================================
--- trunk/reactos/lib/3rdparty/3rdparty.rbuild [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/3rdparty.rbuild [iso-8859-1] Mon Sep 28 20:41:51 2009
@@ -12,6 +12,9 @@
</directory>
<directory name="freetype">
<xi:include href="freetype/freetype.rbuild" />
+ </directory>
+ <directory name="fullfat">
+ <xi:include href="fullfat/fullfat.rbuild" />
</directory>
<directory name="icu4ros">
<xi:include href="icu4ros/icu4ros.rbuild" />
Removed: trunk/reactos/lib/3rdparty/fullfat/fat.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/fat.h?rev=43210&v…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/fat.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/fat.h (removed)
@@ -1,83 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-#ifndef _FAT_H_
-#define _FAT_H_
-
-/*
- This file defines offsets to various data for the FAT specification.
-*/
-
-// MBR / PBR Offsets
-
-#define FF_FAT_BYTES_PER_SECTOR 0x00B
-#define FF_FAT_SECTORS_PER_CLUS 0x00D
-#define FF_FAT_RESERVED_SECTORS 0x00E
-#define FF_FAT_NUMBER_OF_FATS 0x010
-#define FF_FAT_ROOT_ENTRY_COUNT 0x011
-#define FF_FAT_16_TOTAL_SECTORS 0x013
-#define FF_FAT_32_TOTAL_SECTORS 0x020
-#define FF_FAT_16_SECTORS_PER_FAT 0x016
-#define FF_FAT_32_SECTORS_PER_FAT 0x024
-#define FF_FAT_ROOT_DIR_CLUSTER 0x02C
-
-#define FF_FAT_PTBL 0x1BE
-#define FF_FAT_PTBL_LBA 0x008
-
-#define FF_FAT_DELETED 0xE5
-
-// Directory Entry Offsets
-#define FF_FAT_DIRENT_SHORTNAME 0x000
-#define FF_FAT_DIRENT_ATTRIB 0x00B
-#define FF_FAT_DIRENT_CREATE_TIME 0x00E ///< Creation Time.
-#define FF_FAT_DIRENT_CREATE_DATE 0x010 ///< Creation Date.
-#define FF_FAT_DIRENT_LASTACC_DATE 0x012 ///< Date of Last Access.
-#define FF_FAT_DIRENT_CLUS_HIGH 0x014
-#define FF_FAT_DIRENT_LASTMOD_TIME 0x016 ///< Time of Last modification.
-#define FF_FAT_DIRENT_LASTMOD_DATE 0x018 ///< Date of Last modification.
-#define FF_FAT_DIRENT_CLUS_LOW 0x01A
-#define FF_FAT_DIRENT_FILESIZE 0x01C
-#define FF_FAT_LFN_ORD 0x000
-#define FF_FAT_LFN_NAME_1 0x001
-#define FF_FAT_LFN_CHECKSUM 0x00D
-#define FF_FAT_LFN_NAME_2 0x00E
-#define FF_FAT_LFN_NAME_3 0x01C
-
-// Dirent Attributes
-#define FF_FAT_ATTR_READONLY 0x01
-#define FF_FAT_ATTR_HIDDEN 0x02
-#define FF_FAT_ATTR_SYSTEM 0x04
-#define FF_FAT_ATTR_VOLID 0x08
-#define FF_FAT_ATTR_DIR 0x10
-#define FF_FAT_ATTR_ARCHIVE 0x20
-#define FF_FAT_ATTR_LFN 0x0F
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_blk.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_blk.h?rev=4321…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_blk.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_blk.h (removed)
@@ -1,53 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_blk.h
- * @author James Walmsley
- * @ingroup BLK
- *
- * Helps calculate block numbers.
- **/
-
-#ifndef _FF_BLK_H_
-#define _FF_BLK_H_
-
-#include "ff_ioman.h"
-
-// PROTOTYPES:
-FF_T_UINT32 FF_getClusterPosition (FF_IOMAN *pIoman, FF_T_UINT32 nEntry, FF_T_UINT16 nEntrySize);
-FF_T_UINT32 FF_getClusterChainNumber(FF_IOMAN *pIoman, FF_T_UINT32 nEntry, FF_T_UINT16 nEntrySize);
-FF_T_UINT32 FF_getMajorBlockNumber (FF_IOMAN *pIoman, FF_T_UINT32 nEntry, FF_T_UINT16 nEntrySize);
-FF_T_UINT8 FF_getMinorBlockNumber (FF_IOMAN *pIoman, FF_T_UINT32 nEntry, FF_T_UINT16 nEntrySize);
-FF_T_UINT32 FF_getMinorBlockEntry (FF_IOMAN *pIoman, FF_T_UINT32 nEntry, FF_T_UINT16 nEntrySize);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_config.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_config.h?rev=4…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_config.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_config.h (removed)
@@ -1,171 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-#ifndef _FF_CONFIG_H_
-#define _FF_CONFIG_H_
-/*
- Here you can change the configuration of FullFAT as appropriate to your
- platform.
-*/
-
-//---------- ENDIANESS
-#define FF_LITTLE_ENDIAN // Choosing the Byte-order of your system is important.
-//#define FF_BIG_ENDIAN // You may be able to provide better Byte-order swapping routines to FullFAT.
- // See ff_memory.c for more information.
-
-//---------- LFN (Long File-name) SUPPORT
-#define FF_LFN_SUPPORT // Comment this out if you don't want to worry about Patent Issues.
- // FullFAT works great with LFNs and without. You choose, its your project!
-
-//---------- LEGAL LFNS
-//#define FF_LEGAL_LFNS // Enabling this define causes FullFAT to not infringe on any of Microsoft's patents when making LFN names.
- // To do this, it will only create LFNs and no shortnames. Microsofts patents are only relevent when mapping
- // a shortname to a long name. This is the same way that Linux gets around the FAT legal issues:
- // see http://lkml.org/lkml/2009/6/26/314
- //
- // Enabling this may break compatibility with devices that cannot read LFN filenames.
- // Enabling this option causes no compatibility issues when reading any media.
-
-//---------- TIME SUPPORT
-#define FF_TIME_SUPPORT // Should FullFAT use time stamping. Only if you have provided the relevant time drivers in ff_time.c
- // Note, by default ff_time.c is set-up for the Windows Demonstration. Please see ff_time.c to disable.
-
-//---------- FILE SPACE ALLOCATION PERFORMANCE
- // Uncomment the prefered method. (Can only choose a single method).
-#define FF_ALLOC_DEFAULT // Only allocate as much as is needed. (Provides good performance, without wasting space).
-//#define FF_ALLOC_DOUBLE // Doubles the size of a file each time allocation is required. (When high-performance writing is required).
-
-//---------- Use Native STDIO.h
-//#define FF_USE_NATIVE_STDIO // Makes FullFAT conform to values provided by your native STDIO.h file.
-
-//---------- FREE SPACE CALCULATION
-//#define FF_MOUNT_FIND_FREE // Uncomment this option to check for Freespace on a volume mount. (Performance Penalty while mounting).
- // If not done in the mount, it will be done on the first call to FF_GetFreeSize() function.
-
-//---------- PATH CACHE
-#define FF_PATH_CACHE // Enables a simply Path Caching mechanism that increases performance of repeated operations
- // within the same path. E.g. a copy \dir1\*.* \dir2\*.* command.
- // This command requires FF_MAX_PATH number of bytes of memory. (Defined below, default 2600).
-
-
-#define FF_PATH_CACHE_DEPTH 2 // The Number of PATH's to Cache.
-
-//---------- DON'T USE MALLOC
-//#define FF_NO_MALLOC
-
-//---------- DON'T
-
-
-//---------- Hash Table Support
-//#define FF_HASH_TABLE_SUPPORT // Enable HASH to speed up file creation.
-#ifdef FF_HASH_TABLE_SUPPORT
-#define FF_HASH_FUNCTION CRC16
-//#define FF_HASH_FUNCTION CRC8
-#endif
-
-
-
-//---------- FAT12 SUPPORT
-#define FF_FAT12_SUPPORT // Enable FAT12 Suppport. You can reduce the code-size by commenting this out.
- // If you don't need FAT12 support, why have it. FAT12 is more complex to process,
- // therefore savings can be made by not having it.
-
-//---------- 64-Bit Number Support
-#define FF_64_NUM_SUPPORT // This helps to give information about the FreeSpace and VolumeSize of a partition or volume.
- // If you cannot support 64-bit integers, then FullFAT still works, its just that the functions:
- // FF_GetFreeSize() and FF_GetVolumeSize() don't make sense when reporting sizes > 4GB.
-
-//---------- Driver Sleep Time // How long FullFAT should sleep the thread for in ms, if FF_ERR_DRIVER_BUSY is recieved.
-#define FF_DRIVER_BUSY_SLEEP 20
-
-//---------- Debugging Features
-#define FF_DEBUG // Enable the Error Code string functions. const FF_T_INT8 *FF_GetErrMessage( FF_T_SINT32 iErrorCode);
- // Uncommenting this just stops FullFAT error strings being compiled.
-
-//---------- Actively Determine if partition is FAT
-#define FF_FAT_CHECK // This is experimental, so if FullFAT won't mount your volume, comment this out
- // Also report the problem to james(a)worm.me.uk
-
-
-//---------- AUTOMATIC SETTINGS DO NOT EDIT -- These configure your options from above, and check sanity!
-
-#ifdef FF_LFN_SUPPORT
-#define FF_MAX_FILENAME 260
-#else
-#define FF_MAX_FILENAME 13
-#endif
-
-#ifdef FF_USE_NATIVE_STDIO
-#ifdef MAX_PATH
-#define FF_MAX_PATH MAX_PATH
-#else
-#define FF_MAX_PATH 2600
-#endif
-#else
-#define FF_MAX_PATH 2600
-#endif
-
-#ifndef FF_ALLOC_DOUBLE
-#ifndef FF_ALLOC_DEFAULT
-#error FullFAT Invalid ff_config.h file: A file allocation method must be specified. See ff_config.h file.
-#endif
-#endif
-
-#ifdef FF_ALLOC_DOUBLE
-#ifdef FF_ALLOC_DEFAULT
-#error FullFAT Invalid ff_config.h file: Must choose a single option for File Allocation Method. DOUBLE or DEFAULT. See ff_config.h file.
-#endif
-#endif
-
-#ifndef FF_LITTLE_ENDIAN
-#ifndef FF_BIG_ENDIAN
-#error FullFAT Invalid ff_config.h file: An ENDIANESS must be defined for your platform. See ff_config.h file.
-#endif
-#endif
-
-#ifdef FF_LITTLE_ENDIAN
-#ifdef FF_BIG_ENDIAN
-#error FullFAT Invalid ff_config.h file: Cannot be BIG and LITTLE ENDIAN, choose either or BIG or LITTLE. See ff_config.h file.
-#endif
-#endif
-
-#ifdef FF_HASH_TABLE_SUPPORT
-
-#if FF_HASH_FUNCTION == CRC16
-#define FF_HASH_TABLE_SIZE 8192
-#elif FF_HASH_FUNCTION == CRC8
-#define FF_HASH_TABLE_SIZE 32
-#else
-#error Invalid Hashing function selected. CRC16 or CRC8!
-#endif
-
-#endif
-
-#endif
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_crc.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_crc.h?rev=4321…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_crc.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_crc.h (removed)
@@ -1,49 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_crc.h
- * @author James Walmsley
- * @ingroup CRC
- *
- **/
-
-#ifndef _FF_CRC_H_
-#define _FF_CRC_H_
-
-#include "ff_types.h"
-#include "ff_config.h"
-
-FF_T_UINT8 FF_GetCRC8 (FF_T_UINT8 *pbyData, FF_T_UINT32 stLength);
-FF_T_UINT16 FF_GetCRC16 (FF_T_UINT8 *pbyData, FF_T_UINT32 stLength);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_error.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_error.h?rev=43…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_error.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_error.h (removed)
@@ -1,98 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-#ifndef _FF_ERROR_H_
-#define _FF_ERROR_H_
-
-/**
- * @file ff_error.h
- * @author James Walmsley
- * @ingroup ERROR
- **/
-
-#include "ff_config.h"
-#include "ff_types.h"
-
-/* FullFAT defines different Error-Code spaces for each module. This ensures
- that all error codes remain unique, and their meaning can be quickly identified.
-*/
-// Global Error Codes
-#define FF_ERR_NONE 0 ///< No Error
-#define FF_ERR_NULL_POINTER -2 ///< pIoman was NULL.
-#define FF_ERR_NOT_ENOUGH_MEMORY -3 ///< malloc() failed! - Could not allocate handle memory.
-#define FF_ERR_DEVICE_DRIVER_FAILED -4 ///< The Block Device driver reported a FATAL error, cannot continue.
-
-
-// IOMAN Error Codes
-#define FF_ERR_IOMAN_BAD_BLKSIZE -11 ///< The provided blocksize was not a multiple of 512.
-#define FF_ERR_IOMAN_BAD_MEMSIZE -12 ///< The memory size was not a multiple of the blocksize.
-#define FF_ERR_IOMAN_DEV_ALREADY_REGD -13 ///< Device was already registered. Use FF_UnRegister() to re-use this IOMAN with another device.
-#define FF_ERR_IOMAN_NO_MOUNTABLE_PARTITION -14 ///< A mountable partition could not be found on the device.
-#define FF_ERR_IOMAN_INVALID_FORMAT -15 ///< The
-#define FF_ERR_IOMAN_INVALID_PARTITION_NUM -16 ///< The partition number provided was out of range.
-#define FF_ERR_IOMAN_NOT_FAT_FORMATTED -17 ///< The partition did not look like a FAT partition.
-#define FF_ERR_IOMAN_DEV_INVALID_BLKSIZE -18 ///< IOMAN object BlkSize is not compatible with the blocksize of this device driver.
-#define FF_ERR_IOMAN_PARTITION_MOUNTED -19 ///< Device is in use by an actively mounted partition. Unmount the partition first.
-#define FF_ERR_IOMAN_ACTIVE_HANDLES -20 ///< The partition cannot be unmounted until all active file handles are closed. (There may also be active handles on the cache).
-
-
-// File Error Codes -30 +
-#define FF_ERR_FILE_ALREADY_OPEN -30 ///< File is in use.
-#define FF_ERR_FILE_NOT_FOUND -31 ///< File was not found.
-#define FF_ERR_FILE_OBJECT_IS_A_DIR -32 ///< Tried to FF_Open() a Directory.
-#define FF_ERR_FILE_IS_READ_ONLY -33 ///< Tried to FF_Open() a file marked read only.
-#define FF_ERR_FILE_INVALID_PATH -34 ///< The path of the file was not found.
-#define FF_ERR_FILE_NOT_OPENED_IN_WRITE_MODE -35
-#define FF_ERR_FILE_NOT_OPENED_IN_READ_MODE -36
-#define FF_ERR_FILE_EXTEND_FAILED -37 ///< Could not extend the file.
-#define FF_ERR_FILE_DESTINATION_EXISTS -38
-#define FF_ERR_FILE_SOURCE_NOT_FOUND -39
-#define FF_ERR_FILE_DIR_NOT_FOUND -40
-#define FF_ERR_FILE_COULD_NOT_CREATE_DIRENT -41
-
-// Directory Error Codes -50 +
-#define FF_ERR_DIR_OBJECT_EXISTS -50 ///< A file or folder of the same name already exists in the current directory.
-#define FF_ERR_DIR_DIRECTORY_FULL -51 ///< No more items could be added to the directory.
-#define FF_ERR_DIR_END_OF_DIR -52 ///
-#define FF_ERR_DIR_NOT_EMPTY -53 ///< Cannot delete a directory that contains files or folders.
-#define FF_ERR_DIR_INVALID_PATH -54 ///< Could not find the directory specified by the path.
-#define FF_ERR_DIR_CANT_EXTEND_ROOT_DIR -55 ///< Can't extend the root dir.
-
-// Fat Error Codes -70 +
-#define FF_ERR_FAT_NO_FREE_CLUSTERS -70 ///< No more free space is available on the disk.
-
-#ifdef FF_DEBUG
-const FF_T_INT8 *FF_GetErrMessage(FF_ERROR iErrorCode);
-#else
-#define FF_GetErrMessage(X) "" // A special MACRO incase FF_GetErrMessage() isn't gated with FF_DEBUG
-#endif // Function call is safely replaced with a NULL string.
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_fat.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_fat.h?rev=4321…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_fat.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_fat.h (removed)
@@ -1,77 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_fat.h
- * @author James Walmsley
- * @ingroup FAT
- **/
-
-#ifndef _FF_FAT_H_
-#define _FF_FAT_H_
-
-#include "ff_config.h"
-#include "fat.h"
-#include "ff_ioman.h"
-#include "ff_blk.h"
-#include "ff_types.h"
-
-//---------- ERROR CODES
-
-
-//---------- PROTOTYPES
-
- FF_T_UINT32 FF_getRealLBA (FF_IOMAN *pIoman, FF_T_UINT32 LBA);
- FF_T_UINT32 FF_Cluster2LBA (FF_IOMAN *pIoman, FF_T_UINT32 Cluster);
- FF_T_UINT32 FF_LBA2Cluster (FF_IOMAN *pIoman, FF_T_UINT32 Address);
- FF_T_SINT32 FF_getFatEntry (FF_IOMAN *pIoman, FF_T_UINT32 nCluster);
- FF_T_BOOL FF_isEndOfChain (FF_IOMAN *pIoman, FF_T_UINT32 fatEntry);
- FF_T_SINT8 FF_putFatEntry (FF_IOMAN *pIoman, FF_T_UINT32 nCluster, FF_T_UINT32 Value);
- FF_T_UINT32 FF_FindFreeCluster (FF_IOMAN *pIoman);
- FF_T_UINT32 FF_ExtendClusterChain (FF_IOMAN *pIoman, FF_T_UINT32 StartCluster, FF_T_UINT32 Count);
- FF_T_SINT8 FF_UnlinkClusterChain (FF_IOMAN *pIoman, FF_T_UINT32 StartCluster, FF_T_UINT16 Count);
- FF_T_UINT32 FF_TraverseFAT (FF_IOMAN *pIoman, FF_T_UINT32 Start, FF_T_UINT32 Count);
- FF_T_UINT32 FF_CreateClusterChain (FF_IOMAN *pIoman);
- FF_T_UINT32 FF_GetChainLength (FF_IOMAN *pIoman, FF_T_UINT32 pa_nStartCluster, FF_T_UINT32 *piEndOfChain);
- FF_T_UINT32 FF_FindEndOfChain (FF_IOMAN *pIoman, FF_T_UINT32 Start);
- FF_T_SINT8 FF_ClearCluster (FF_IOMAN *pIoman, FF_T_UINT32 nCluster);
-#ifdef FF_64_NUM_SUPPORT
- FF_T_UINT64 FF_GetFreeSize (FF_IOMAN *pIoman);
-#else
- FF_T_UINT32 FF_GetFreeSize (FF_IOMAN *pIoman);
-#endif
- FF_T_UINT32 FF_FindFreeCluster (FF_IOMAN *pIoman);
- FF_T_UINT32 FF_CountFreeClusters (FF_IOMAN *pIoman);
- void FF_lockFAT (FF_IOMAN *pIoman);
- void FF_unlockFAT (FF_IOMAN *pIoman);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_file.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_file.h?rev=432…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_file.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_file.h (removed)
@@ -1,95 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_file.h
- * @author James Walmsley
- * @ingroup FILEIO
- **/
-#ifndef _FF_FILE_H_
-#define _FF_FILE_H_
-
-#include "ff_config.h"
-#include "ff_types.h"
-#include "ff_ioman.h"
-#include "ff_dir.h"
-
-#ifdef FF_USE_NATIVE_STDIO
-#include <stdio.h>
-#define FF_SEEK_SET SEEK_SET
-#define FF_SEEK_CUR SEEK_CUR
-#define FF_SEEK_END SEEK_END
-#else
-#define FF_SEEK_SET 1
-#define FF_SEEK_CUR 2
-#define FF_SEEK_END 3
-#endif
-
-typedef struct _FF_FILE {
- FF_IOMAN *pIoman; ///< Ioman Pointer!
- FF_T_UINT32 Filesize; ///< File's Size.
- FF_T_UINT32 ObjectCluster; ///< File's Start Cluster.
- FF_T_UINT32 iChainLength; ///< Total Length of the File's cluster chain.
- FF_T_UINT32 CurrentCluster; ///< Prevents FAT Thrashing.
- FF_T_UINT32 AddrCurrentCluster;///< Address of the current cluster.
- FF_T_UINT32 iEndOfChain; ///< Address of the last cluster in the chain.
- FF_T_UINT32 FilePointer; ///< Current Position Pointer.
- //FF_T_UINT32 AppendPointer; ///< Points to the Append from position. (The original filesize at open).
- FF_T_UINT8 Mode; ///< Mode that File Was opened in.
- FF_T_UINT32 DirCluster; ///< Cluster Number that the Dirent is in.
- FF_T_UINT16 DirEntry; ///< Dirent Entry Number describing this file.
- //FF_T_UINT8 NumLFNs; ///< Number of LFNs associated with this file.
- FF_T_BOOL FileDeleted;
- struct _FF_FILE *Next; ///< Pointer to the next file object in the linked list.
-} FF_FILE,
-*PFF_FILE;
-
-//---------- PROTOTYPES
-// PUBLIC (Interfaces):
-
-FF_FILE *FF_Open (FF_IOMAN *pIoman, const FF_T_INT8 *path, FF_T_UINT8 Mode, FF_ERROR *pError);
-FF_ERROR FF_Close (FF_FILE *pFile);
-FF_T_SINT32 FF_GetC (FF_FILE *pFile);
-FF_T_SINT32 FF_Read (FF_FILE *pFile, FF_T_UINT32 ElementSize, FF_T_UINT32 Count, FF_T_UINT8 *buffer);
-FF_T_SINT32 FF_Write (FF_FILE *pFile, FF_T_UINT32 ElementSize, FF_T_UINT32 Count, FF_T_UINT8 *buffer);
-FF_T_BOOL FF_isEOF (FF_FILE *pFile);
-FF_ERROR FF_Seek (FF_FILE *pFile, FF_T_SINT32 Offset, FF_T_INT8 Origin);
-FF_T_SINT32 FF_PutC (FF_FILE *pFile, FF_T_UINT8 Value);
-FF_T_UINT32 FF_Tell (FF_FILE *pFile);
-FF_ERROR FF_RmFile (FF_IOMAN *pIoman, const FF_T_INT8 *path);
-FF_ERROR FF_RmDir (FF_IOMAN *pIoman, const FF_T_INT8 *path);
-FF_T_BOOL FF_isDirEmpty (FF_IOMAN *pIoman, const FF_T_INT8 *Path);
-FF_ERROR FF_Move (FF_IOMAN *pIoman, const FF_T_INT8 *szSourceFile, const FF_T_INT8 *szDestinationFile);
-FF_T_UINT8 FF_GetModeBits (FF_T_INT8 *Mode);
-
-// Private :
-
-#endif
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_hash.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_hash.h?rev=432…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_hash.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_hash.h (removed)
@@ -1,56 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_hash.h
- * @author James Walmsley
- * @ingroup HASH
- *
- **/
-
-#ifndef _FF_HASH_H_
-#define _FF_HASH_H_
-
-#include "ff_config.h"
-#include "ff_types.h"
-#include "ff_error.h"
-
-struct _FF_HASH_TABLE;
-typedef struct _FF_HASH_TABLE *FF_HASH_TABLE;
-
-FF_HASH_TABLE FF_CreateHashTable ();
-FF_ERROR FF_DestroyHashTable (FF_HASH_TABLE pHash);
-FF_ERROR FF_ClearHashTable (FF_HASH_TABLE pHash);
-FF_ERROR FF_ClearHash (FF_HASH_TABLE pHash, FF_T_UINT32 nHash);
-FF_ERROR FF_SetHash (FF_HASH_TABLE pHash, FF_T_UINT32 nHash);
-FF_T_BOOL FF_isHashSet (FF_HASH_TABLE pHash, FF_T_UINT32 nHash);
-
-#endif
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_ioman.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_ioman.h?rev=43…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_ioman.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_ioman.h (removed)
@@ -1,232 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_ioman.h
- * @author James Walmsley
- * @ingroup IOMAN
- **/
-
-#ifndef _FF_IOMAN_H_
-#define _FF_IOMAN_H_
-
-#include <stdlib.h> // Use of malloc()
-#include "ff_error.h"
-#include "ff_config.h"
-#include "ff_types.h"
-#include "ff_safety.h" // Provide thread-safety via semaphores.
-#include "ff_memory.h" // Memory access routines for ENDIAN independence.
-#include "ff_hash.h"
-
-//#define FF_MAX_PARTITION_NAME 5 ///< Partition name length.
-
-#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!)
-
-/**
- * I/O Driver Definitions
- * Provide access to any Block Device via the following interfaces.
- * Returns the number of blocks actually read or written.
- **/
-
-/**
- * A special information structure for the FullFAT mass storage device
- * driver model.
- **/
-typedef struct {
- FF_T_UINT16 BlkSize;
- FF_T_UINT32 TotalBlocks;
-} FF_DEVICE_INFO;
-
-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);
-
-#define FF_ERR_DRIVER_BUSY -10
-#define FF_ERR_DRIVER_FATAL_ERROR -11
-
-/**
- * @public
- * @brief Describes the block device driver interface to FullFAT.
- **/
-typedef struct {
- FF_WRITE_BLOCKS fnWriteBlocks; ///< Function Pointer, to write a block(s) from a block device.
- FF_READ_BLOCKS fnReadBlocks; ///< Function Pointer, to read a block(s) from a block device.
- FF_T_UINT16 devBlkSize; ///< Block size that the driver deals with.
- void *pParam; ///< Pointer to some parameters e.g. for a Low-Level Driver Handle
-} FF_BLK_DEVICE;
-
-/**
- * @private
- * @brief FullFAT handles memory with buffers, described as below.
- * @note This may change throughout development.
- **/
-typedef struct {
- FF_T_UINT32 Sector; ///< The LBA of the Cached sector.
- FF_T_UINT8 Mode; ///< Read or Write mode.
- FF_T_UINT16 NumHandles; ///< Number of objects using this buffer.
- FF_T_UINT16 Persistance; ///< For the persistance algorithm.
- FF_T_UINT32 LRU; ///< For the Least Recently Used algorithm.
- FF_T_BOOL Modified; ///< If the sector was modified since read.
- FF_T_BOOL Valid; ///< Initially FALSE.
- FF_T_UINT8 *pBuffer; ///< Pointer to the cache block.
-} FF_BUFFER;
-
-typedef struct {
- FF_T_INT8 Path[FF_MAX_PATH];
- FF_T_UINT32 DirCluster;
-#ifdef FF_HASH_TABLE_SUPPORT
- FF_HASH_TABLE pHashTable;
- FF_T_BOOL bHashed;
-#endif
-} FF_PATHCACHE;
-
-/**
- * @private
- * @brief FullFAT identifies a partition with the following data.
- * @note This may shrink as development and optimisation goes on.
- **/
-typedef struct {
- //FF_T_UINT8 ID; ///< Partition Incremental ID number.
- FF_T_UINT8 Type; ///< Partition Type Identifier.
- FF_T_UINT16 BlkSize; ///< Size of a Sector Block in bytes.
- FF_T_UINT8 BlkFactor; ///< Scale Factor for blocksizes above 512!
- //FF_T_INT8 Name[FF_MAX_PARTITION_NAME]; ///< Partition Identifier e.g. c: sd0: etc.
- //FF_T_INT8 VolLabel[12]; ///< Volume Label of the partition.
- FF_T_UINT32 BeginLBA; ///< LBA start address of the partition.
- FF_T_UINT32 PartSize; ///< Size of Partition in number of sectors.
- FF_T_UINT32 FatBeginLBA; ///< LBA of the FAT tables.
- FF_T_UINT8 NumFATS; ///< Number of FAT tables.
- FF_T_UINT32 SectorsPerFAT; ///< Number of sectors per Fat.
- FF_T_UINT8 SectorsPerCluster; ///< Number of sectors per Cluster.
- FF_T_UINT32 TotalSectors;
- FF_T_UINT32 DataSectors;
- FF_T_UINT32 RootDirSectors;
- FF_T_UINT32 FirstDataSector;
- FF_T_UINT16 ReservedSectors;
- FF_T_UINT32 ClusterBeginLBA; ///< LBA of first cluster.
- FF_T_UINT32 NumClusters; ///< Number of clusters.
- FF_T_UINT32 RootDirCluster; ///< Cluster number of the root directory entry.
- FF_T_UINT32 LastFreeCluster;
- FF_T_UINT32 FreeClusterCount; ///< Records free space on mount.
- FF_T_BOOL PartitionMounted; ///< FF_TRUE if the partition is mounted, otherwise FF_FALSE.
-#ifdef FF_PATH_CACHE
- FF_PATHCACHE PathCache[FF_PATH_CACHE_DEPTH];
- FF_T_UINT32 PCIndex;
-#endif
-} FF_PARTITION;
-
-
-
-/**
- * @public
- * @brief FF_IOMAN Object description.
- *
- * FullFAT functions around an object like this.
- **/
-#define FF_FAT_LOCK 0x01 ///< Lock bit mask for FAT table locking.
-#define FF_DIR_LOCK 0x02 ///< Lock bit mask for DIR modification locking.
-//#define FF_PATHCACHE_LOCK 0x04
-
-/**
- * @public
- * @brief FF_IOMAN Object. A developer should not touch these values.
- *
- * In the commercial version these values are encapsulated. In the open-source
- * version they are left completely open, in case someone really "needs" :P to
- * do something stupid and access their members themselves. Also to help the
- * open-source community help me improve FullFAT, and aid understanding.
- *
- * THIS WOULD BE VERY STUPID, SO DON'T DO IT. Unless your're writing a patch or
- * something!
- *
- **/
-typedef struct {
- FF_BLK_DEVICE *pBlkDevice; ///< Pointer to a Block device description.
- FF_PARTITION *pPartition; ///< Pointer to a partition description.
- FF_BUFFER *pBuffers; ///< Pointer to the first buffer description.
- FF_T_UINT32 LastReplaced; ///< Marks which sector was last replaced in the cache.
- FF_T_UINT16 BlkSize; ///< The Block size that IOMAN is configured to.
- FF_T_UINT8 *pCacheMem; ///< Pointer to a block of memory for the cache.
- FF_T_UINT16 CacheSize; ///< Size of the cache in number of Sectors.
- FF_T_UINT8 MemAllocation; ///< Bit-Mask identifying allocated pointers.
- FF_T_UINT8 Locks; ///< Lock Flag for FAT & DIR Locking etc (This must be accessed via a semaphore).
- void *pSemaphore; ///< Pointer to a Semaphore object. (For buffer description modifications only!).
- void *FirstFile; ///< Pointer to the first File object.
-} FF_IOMAN;
-
-// Bit-Masks for Memory Allocation testing.
-#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.
-
-
-//---------- PROTOTYPES (in order of appearance)
-
-// PUBLIC (Interfaces):
-FF_IOMAN *FF_CreateIOMAN (FF_T_UINT8 *pCacheMem, FF_T_UINT32 Size, FF_T_UINT16 BlkSize, FF_ERROR *pError);
-FF_ERROR FF_DestroyIOMAN (FF_IOMAN *pIoman);
-FF_ERROR FF_RegisterBlkDevice (FF_IOMAN *pIoman, FF_T_UINT16 BlkSize, FF_WRITE_BLOCKS fnWriteBlocks, FF_READ_BLOCKS fnReadBlocks, void *pParam);
-FF_ERROR FF_UnregisterBlkDevice (FF_IOMAN *pIoman);
-FF_ERROR FF_MountPartition (FF_IOMAN *pIoman, FF_T_UINT8 PartitionNumber);
-FF_ERROR FF_UnmountPartition (FF_IOMAN *pIoman);
-FF_ERROR FF_FlushCache (FF_IOMAN *pIoman);
-FF_T_SINT32 FF_GetPartitionBlockSize(FF_IOMAN *pIoman);
-
-#ifdef FF_64_NUM_SUPPORT
-FF_T_UINT64 FF_GetVolumeSize(FF_IOMAN *pIoman);
-#else
-FF_T_UINT32 FF_GetVolumeSize(FF_IOMAN *pIoman);
-#endif
-
-// PUBLIC (To FullFAT Only):
-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);
-
-// PRIVATE (For this module only!):
-
-
-#endif
-
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_memory.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_memory.h?rev=4…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_memory.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_memory.h (removed)
@@ -1,56 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_memory.h
- * @author James Walmsley
- * @ingroup MEMORY
- **/
-
-#ifndef _FF_MEMORY_H_
-#define _FF_MEMORY_H_
-
-#include "ff_config.h"
-#include "ff_types.h"
-
-
-//---------- PROTOTYPES
-
-FF_T_UINT8 FF_getChar (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset);
-FF_T_UINT16 FF_getShort (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset);
-FF_T_UINT32 FF_getLong (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset);
-
-void FF_putChar (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset, FF_T_UINT8 Value);
-void FF_putShort (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset, FF_T_UINT16 Value);
-void FF_putLong (FF_T_UINT8 *pBuffer, FF_T_UINT16 offset, FF_T_UINT32 Value);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_safety.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_safety.h?rev=4…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_safety.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_safety.h (removed)
@@ -1,59 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_safety.h
- * @author James Walmsley
- * @ingroup SAFETY
- **/
-
-#ifndef _FF_SAFETY_H_
-#define _FF_SAFETY_H_
-
-#include <stdlib.h>
-#include "ff_types.h"
-
-
-//---------- PROTOTYPES (in order of appearance)
-
-// PUBLIC:
-
-
-// PRIVATE:
-void *FF_CreateSemaphore (void);
-void FF_PendSemaphore (void *pSemaphore);
-void FF_ReleaseSemaphore (void *pSemaphore);
-void FF_DestroySemaphore (void *pSemaphore);
-void FF_Yield (void);
-void FF_Sleep (FF_T_UINT32 TimeMs);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_string.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_string.h?rev=4…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_string.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_string.h (removed)
@@ -1,54 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_string.c
- * @author James Walmsley
- * @ingroup STRING
- *
- * @defgroup STRING FullFAT String Library
- * @brief Portable String Library for FullFAT
- *
- *
- **/
-
-#ifndef _FF_STRING_H_
-#define _FF_STRING_H_
-
-#include "ff_types.h"
-
-void FF_tolower (FF_T_INT8 *string, FF_T_UINT32 strLen);
-void FF_toupper (FF_T_INT8 *string, FF_T_UINT32 strLen);
-FF_T_BOOL FF_strmatch (const FF_T_INT8 *str1, const FF_T_INT8 *str2, FF_T_UINT16 len);
-FF_T_INT8 *FF_strtok (const FF_T_INT8 *string, FF_T_INT8 *token, FF_T_UINT16 *tokenNumber, FF_T_BOOL *last, FF_T_UINT16 Length);
-FF_T_BOOL FF_wildcompare(const FF_T_INT8 *pszWildCard, const FF_T_INT8 *pszString);
-
-#endif
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_time.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_time.h?rev=432…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_time.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_time.h (removed)
@@ -1,65 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * @file ff_time.h
- * @author James Walmsley
- * @ingroup TIME
- *
- * Provides a means for receiving the time on any platform.
- **/
-
-#ifndef _FF_TIME_H_
-#define _FF_TIME_H_
-
-#include "ff_config.h"
-#include "ff_types.h"
-
-/**
- * @public
- * @brief A TIME and DATE object for FullFAT. A FullFAT time driver must populate these values.
- *
- **/
-typedef struct {
- FF_T_UINT16 Year; ///< Year (e.g. 2009).
- FF_T_UINT16 Month; ///< Month (e.g. 1 = Jan, 12 = Dec).
- FF_T_UINT16 Day; ///< Day (1 - 31).
- FF_T_UINT16 Hour; ///< Hour (0 - 23).
- FF_T_UINT16 Minute; ///< Min (0 - 59).
- FF_T_UINT16 Second; ///< Second (0 - 59).
-} FF_SYSTEMTIME;
-
-//---------- PROTOTYPES
-
-FF_T_SINT32 FF_GetSystemTime(FF_SYSTEMTIME *pTime);
-
-#endif
-
Removed: trunk/reactos/lib/3rdparty/fullfat/ff_types.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/ff_types.h?rev=43…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/ff_types.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/ff_types.h (removed)
@@ -1,74 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-/**
- * This file defines some portable types.
- * You should change these as appropriate for your platform, as necessary.
- *
- **/
-
-#ifndef _FF_TYPES_H_
-#define _FF_TYPES_H_
-
-#include "ff_config.h"
-
-//---------------- BOOLEAN TYPES
-typedef char FF_T_BOOL; ///< This can be a char if your compiler isn't C99.
-
-#define FF_TRUE 1 ///< 1 if bool not supported.
-#define FF_FALSE 0 ///< 0 if bool not supported.
-
-//---------------- 8 BIT INTEGERS
-typedef char FF_T_INT8; ///< 8 bit default integer.
-typedef unsigned char FF_T_UINT8; ///< 8 bit unsigned integer.
-typedef signed char FF_T_SINT8; ///< 8 bit signed integer.
-
-//---------------- 16 BIT INTEGERS
-typedef short FF_T_INT16; ///< 16 bit default integer.
-typedef unsigned short FF_T_UINT16; ///< 16 bit unsigned integer.
-typedef signed short FF_T_SINT16; ///< 16 bit signed integer.
-
-//---------------- 32 BIT INTEGERS
-typedef long FF_T_INT32; ///< 32 bit default integer.
-typedef unsigned long FF_T_UINT32; ///< 32 bit unsigned integer.
-typedef signed long FF_T_SINT32; ///< 32 bit signed integer.
-
-#ifdef FF_64_NUM_SUPPORT
-//---------------- 64 BIT INTEGERS // If you cannot define these, then make sure you see ff_config.h
-typedef long long FF_T_INT64; // about 64-bit number support.
-typedef unsigned long long FF_T_UINT64; // It means that FF_GetVolumeSize() cannot return a size
-typedef signed long long FF_T_SINT64; // > 4GB in bytes if you cannot support 64-bits integers.
- // No other function makes use of 64-bit numbers.
-#endif
-
-typedef FF_T_SINT32 FF_ERROR; ///< A special error code type to ease some inconsistencies in Error reporting.
-
-#endif // end of include guard
Removed: trunk/reactos/lib/3rdparty/fullfat/fullfat.h
URL: http://svn.reactos.org/svn/reactos/vendor/fullfat/current/fullfat.h?rev=432…
==============================================================================
--- trunk/reactos/lib/3rdparty/fullfat/fullfat.h [iso-8859-1] (original)
+++ trunk/reactos/lib/3rdparty/fullfat/fullfat.h (removed)
@@ -1,46 +1,0 @@
-/*****************************************************************************
- * FullFAT - High Performance, Thread-Safe Embedded FAT File-System *
- * Copyright (C) 2009 James Walmsley (james(a)worm.me.uk) *
- * *
- * This program is free software: you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation, either version 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- * *
- * IMPORTANT NOTICE: *
- * ================= *
- * Alternative Licensing is available directly from the Copyright holder, *
- * (James Walmsley). For more information consult LICENSING.TXT to obtain *
- * a Commercial license. *
- * *
- * See RESTRICTIONS.TXT for extra restrictions on the use of FullFAT. *
- * *
- * Removing the above notice is illegal and will invalidate this license. *
- *****************************************************************************
- * See http://worm.me.uk/fullfat for more information. *
- * Or http://fullfat.googlecode.com/ for latest releases and the wiki. *
- *****************************************************************************/
-
-#ifndef _FULLFAT_H_
-#define _FULLFAT_H_
-
-#include "ff_config.h"
-#include "ff_ioman.h"
-#include "ff_fat.h"
-#include "ff_file.h"
-#include "ff_dir.h"
-#include "ff_time.h"
-#include "ff_crc.h"
-#include "ff_hash.h"
-#include "ff_string.h"
-
-
-#endif