; 
; Exports of file UFAT.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY UFAT.dll
EXPORTS
; public: __cdecl CLUSTER_CHAIN::CLUSTER_CHAIN(void) __ptr64
??0CLUSTER_CHAIN@@QEAA@XZ
; public: __cdecl EA_HEADER::EA_HEADER(void) __ptr64
??0EA_HEADER@@QEAA@XZ
; public: __cdecl EA_SET::EA_SET(void) __ptr64
??0EA_SET@@QEAA@XZ
; public: __cdecl FAT_DIRENT::FAT_DIRENT(void) __ptr64
??0FAT_DIRENT@@QEAA@XZ
; public: __cdecl FAT_SA::FAT_SA(void) __ptr64
??0FAT_SA@@QEAA@XZ
; public: __cdecl FILEDIR::FILEDIR(void) __ptr64
??0FILEDIR@@QEAA@XZ
; public: __cdecl REAL_FAT_SA::REAL_FAT_SA(void) __ptr64
??0REAL_FAT_SA@@QEAA@XZ
; public: __cdecl ROOTDIR::ROOTDIR(void) __ptr64
??0ROOTDIR@@QEAA@XZ
; public: virtual __cdecl CLUSTER_CHAIN::~CLUSTER_CHAIN(void) __ptr64
??1CLUSTER_CHAIN@@UEAA@XZ
; public: virtual __cdecl EA_HEADER::~EA_HEADER(void) __ptr64
??1EA_HEADER@@UEAA@XZ
; public: virtual __cdecl EA_SET::~EA_SET(void) __ptr64
??1EA_SET@@UEAA@XZ
; public: virtual __cdecl FAT_DIRENT::~FAT_DIRENT(void) __ptr64
??1FAT_DIRENT@@UEAA@XZ
; public: virtual __cdecl FAT_SA::~FAT_SA(void) __ptr64
??1FAT_SA@@UEAA@XZ
; public: virtual __cdecl FILEDIR::~FILEDIR(void) __ptr64
??1FILEDIR@@UEAA@XZ
; public: virtual __cdecl REAL_FAT_SA::~REAL_FAT_SA(void) __ptr64
??1REAL_FAT_SA@@UEAA@XZ
; public: virtual __cdecl ROOTDIR::~ROOTDIR(void) __ptr64
??1ROOTDIR@@UEAA@XZ
; public: unsigned long __cdecl FAT::AllocChain(unsigned long,unsigned long * __ptr64) __ptr64
?AllocChain@FAT@@QEAAKKPEAK@Z
; public: void __cdecl FAT::FreeChain(unsigned long) __ptr64
?FreeChain@FAT@@QEAAXK@Z
; public: struct _EA * __ptr64 __cdecl EA_SET::GetEa(unsigned long,long * __ptr64,unsigned char * __ptr64) __ptr64
?GetEa@EA_SET@@QEAAPEAU_EA@@KPEAJPEAE@Z
; private: unsigned long __cdecl FAT::Index12(unsigned long)const  __ptr64
?Index12@FAT@@AEBAKK@Z
; public: unsigned char __cdecl REAL_FAT_SA::InitFATChkDirty(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64) __ptr64
?InitFATChkDirty@REAL_FAT_SA@@QEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@@Z
; public: unsigned char __cdecl CLUSTER_CHAIN::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
?Initialize@CLUSTER_CHAIN@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
; public: unsigned char __cdecl EA_HEADER::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
?Initialize@EA_HEADER@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
; public: unsigned char __cdecl EA_SET::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long,unsigned long) __ptr64
?Initialize@EA_SET@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@KK@Z
; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64) __ptr64
?Initialize@FAT_DIRENT@@QEAAEPEAX@Z
; public: unsigned char __cdecl FAT_DIRENT::Initialize(void * __ptr64,unsigned char) __ptr64
?Initialize@FAT_DIRENT@@QEAAEPEAXE@Z
; public: unsigned char __cdecl FILEDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,class FAT_SA * __ptr64,class FAT const * __ptr64,unsigned long) __ptr64
?Initialize@FILEDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@PEAVFAT_SA@@PEBVFAT@@K@Z
; public: virtual unsigned char __cdecl REAL_FAT_SA::Initialize(class LOG_IO_DP_DRIVE * __ptr64,class MESSAGE * __ptr64,unsigned char) __ptr64
?Initialize@REAL_FAT_SA@@UEAAEPEAVLOG_IO_DP_DRIVE@@PEAVMESSAGE@@E@Z
; public: unsigned char __cdecl ROOTDIR::Initialize(class MEM * __ptr64,class LOG_IO_DP_DRIVE * __ptr64,unsigned long,long) __ptr64
?Initialize@ROOTDIR@@QEAAEPEAVMEM@@PEAVLOG_IO_DP_DRIVE@@KJ@Z
; public: unsigned char __cdecl FAT_DIRENT::IsValidCreationTime(void)const  __ptr64
?IsValidCreationTime@FAT_DIRENT@@QEBAEXZ
; public: unsigned char __cdecl FAT_DIRENT::IsValidLastAccessTime(void)const  __ptr64
?IsValidLastAccessTime@FAT_DIRENT@@QEBAEXZ
; public: unsigned char __cdecl FAT_DIRENT::IsValidLastWriteTime(void)const  __ptr64
?IsValidLastWriteTime@FAT_DIRENT@@QEBAEXZ
; public: unsigned long __cdecl FAT::QueryAllocatedClusters(void)const  __ptr64
?QueryAllocatedClusters@FAT@@QEBAKXZ
; public: unsigned char __cdecl FAT_SA::QueryCensusAndRelocate(struct _CENSUS_REPORT * __ptr64,class INTSTACK * __ptr64,unsigned char * __ptr64) __ptr64
?QueryCensusAndRelocate@FAT_SA@@QEAAEPEAU_CENSUS_REPORT@@PEAVINTSTACK@@PEAE@Z
; public: unsigned char __cdecl FAT_DIRENT::QueryCreationTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
?QueryCreationTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
; public: unsigned short __cdecl EA_HEADER::QueryEaSetClusterNumber(unsigned short)const  __ptr64
?QueryEaSetClusterNumber@EA_HEADER@@QEBAGG@Z
; public: unsigned long __cdecl FAT_SA::QueryFileStartingCluster(class WSTRING const * __ptr64,class HMEM * __ptr64,class FATDIR * __ptr64 * __ptr64,unsigned char * __ptr64,class FAT_DIRENT * __ptr64) __ptr64
?QueryFileStartingCluster@FAT_SA@@QEAAKPEBVWSTRING@@PEAVHMEM@@PEAPEAVFATDIR@@PEAEPEAVFAT_DIRENT@@@Z
; public: unsigned long __cdecl REAL_FAT_SA::QueryFreeSectors(void)const  __ptr64
?QueryFreeSectors@REAL_FAT_SA@@QEBAKXZ
; public: unsigned char __cdecl FAT_DIRENT::QueryLastAccessTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
?QueryLastAccessTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
; public: unsigned char __cdecl FAT_DIRENT::QueryLastWriteTime(union _LARGE_INTEGER * __ptr64)const  __ptr64
?QueryLastWriteTime@FAT_DIRENT@@QEBAEPEAT_LARGE_INTEGER@@@Z
; public: unsigned long __cdecl FAT::QueryLengthOfChain(unsigned long,unsigned long * __ptr64)const  __ptr64
?QueryLengthOfChain@FAT@@QEBAKKPEAK@Z
; public: unsigned char __cdecl FATDIR::QueryLongName(long,class WSTRING * __ptr64) __ptr64
?QueryLongName@FATDIR@@QEAAEJPEAVWSTRING@@@Z
; public: unsigned char __cdecl FAT_DIRENT::QueryName(class WSTRING * __ptr64)const  __ptr64
?QueryName@FAT_DIRENT@@QEBAEPEAVWSTRING@@@Z
; public: unsigned long __cdecl FAT::QueryNthCluster(unsigned long,unsigned long)const  __ptr64
?QueryNthCluster@FAT@@QEBAKKK@Z
; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Read(void) __ptr64
?Read@CLUSTER_CHAIN@@UEAAEXZ
; public: virtual unsigned char __cdecl EA_SET::Read(void) __ptr64
?Read@EA_SET@@UEAAEXZ
; public: virtual unsigned char __cdecl REAL_FAT_SA::Read(class MESSAGE * __ptr64) __ptr64
?Read@REAL_FAT_SA@@UEAAEPEAVMESSAGE@@@Z
; public: void * __ptr64 __cdecl FATDIR::SearchForDirEntry(class WSTRING const * __ptr64) __ptr64
?SearchForDirEntry@FATDIR@@QEAAPEAXPEBVWSTRING@@@Z
; private: void __cdecl FAT::Set12(unsigned long,unsigned long) __ptr64
?Set12@FAT@@AEAAXKK@Z
; public: virtual unsigned char __cdecl CLUSTER_CHAIN::Write(void) __ptr64
?Write@CLUSTER_CHAIN@@UEAAEXZ
Chkdsk
ChkdskEx
Format
FormatEx
Recover
