
/*--------------------------------------------------------------------*/
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*--------------------------------------------------------------------*/

ULONG FATOpen( PVOL pVol, PBYTE pFileName, PHFILE phFile );

ULONG FATSearchRootDir( PFILE pFile, PBYTE pFileName, PBYTE pDirBuf,
                        PFATDIRENT *pDirEnt );

ULONG FATSearchSubDir( PFILE pFile, PBYTE pFileName, PBYTE pDirBuf,
                       PFATDIRENT *pDirEnt );

ULONG FATFindDirEnt( PFILE pFile, PBYTE pFileName, PBYTE pDirBuf,
                     ULONG MaxDirEnt, PFATDIRENT *ppDirEnt );


VOID FATDirEntToFileName( PBYTE pFileName, PFATDIRENT pDir );

LONG FATNameCmp( PBYTE s1, PBYTE s2 );

ULONG FATClose( PFILE pFile );

ULONG FATGetFSInfo( PVOL pVol, PBYTE pFileName, PMFSFILEINFO pFileInfo );


/*------------------*/
/* FATRW.C          */
/*------------------*/

ULONG FATReadSec( PFILE pFile, ULONG SecPos, PBYTE pBuf, ULONG Size );

ULONG FATWriteSec( PFILE pFile, ULONG SecPos, PBYTE pBuf, ULONG Size );

ULONG FATExtentIO( PFILE pFile, ULONG IOTYpe, PFATCLMAP pCLMap, ULONG FilePos,
                   PBYTE pBuf, ULONG IOBytes );

ULONG FATBuildCLMap( PFILE pFile, PFATCLMAP pCLMap, ULONG FileSecPos );

ULONG FATGetCLNum( PFILE pFile, ULONG ReqCLNum );

ULONG FATClusterToLSN( PFILE pFile, ULONG Cluster );
