00001
00004 #ifndef MINIFAT_H
00005 #define MINIFAT_H
00006
00007 #define MINIFAT_H
00008
00009 #include <vstypes.h>
00010 #include "fat.h"
00011
00016 auto u_int16 FatGetByte(register __c0 u_int16 n);
00021 auto u_int16 FatGetWord(register __c0 u_int16 n);
00026 auto u_int32 FatGetLong(register __c0 u_int16 n);
00030 auto u_int16 FatInitFileSystem(void);
00036 auto __y struct FRAGMENT *FatFragmentList(
00037 register __i2 __y struct FRAGMENT *frag,
00038 register __reg_b u_int32 fatCluster);
00046 auto s_int16 FatHandleDir(register __y struct FRAGMENT *curFragment,
00047 __y struct FRAGMENT *nextFragment);
00055 auto s_int16 FatOpenFile(register __c0 u_int16 fileNum);
00063 auto s_int16 FatReadFile(register __i3 u_int16 *buf,
00064 register __c1 s_int16 byteOff,
00065 register __c0 s_int16 byteSize);
00069 u_int32 FatTell(void);
00074 u_int32 FatSeek(register __reg_a u_int32 pos);
00079 auto u_int32 FatFindSector(register __reg_d u_int32 pos);
00084 auto s_int16 FatCheckFileType(register __reg_a u_int32 suffix);
00085
00086
00094 void MemCopyPackedBigEndian(register __i0 u_int16 *dst,
00095 register __a0 u_int16 dstidx,
00096 register __i1 u_int16 *src,
00097 register __a1 u_int16 srcidx,
00098 register __b0 u_int16 byteSize);
00101 void MemCopyPackedLittleEndian(register __i0 u_int16 *dst,
00102 register __a0 u_int16 dstidx,
00103 register __i1 u_int16 *src,
00104 register __a1 u_int16 srcidx,
00105 register __b0 u_int16 byteSize);
00108 void MemWritePacked(register __a0 void *dst, register __a1 u_int16 dstidx,
00109 register __b0 u_int16 dat);
00112 u_int16 MemReadPacked(register __a0 const void *src,
00113 register __a1 u_int16 srcidx);
00119 void MemWritePackedY(register __a0 __y void *dst, register __a1 u_int16 dstidx,
00120 register __b0 u_int16 dat);
00123 u_int16 MemReadPackedY(register __a0 __y const void *src,
00124 register __a1 u_int16 srcidx);
00125
00126 typedef s_int16 (*freeSectorCallback)(void *private, u_int32 sector, u_int32 numSecs);
00132 s_int16 FatIterateOverFreeSectors(freeSectorCallback callBackFunction,
00133 void *private);
00134
00142 auto u_int16 ReadDiskSector(register __i0 u_int16 *buffer,
00143 register __reg_a u_int32 sector);
00144
00152 #endif