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.rbuil... ============================================================================== --- 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&am... ============================================================================== --- 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@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=43210... ============================================================================== --- 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@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=43... ============================================================================== --- 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@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@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=43210... ============================================================================== --- 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@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=432... ============================================================================== --- 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@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=43210... ============================================================================== --- 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@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=4321... ============================================================================== --- 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@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=4321... ============================================================================== --- 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@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=432... ============================================================================== --- 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@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=43... ============================================================================== --- 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@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=43... ============================================================================== --- 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@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=43... ============================================================================== --- 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@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=4321... ============================================================================== --- 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@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=432... ============================================================================== --- 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@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=4321... ============================================================================== --- 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@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