27 unsigned short int SectorSize;
31typedef void (*usbmass_cb_t)(
int cause);
51 unsigned int sectorSize;
52 unsigned int indexLimit;
53 unsigned char *sectorBuf;
56#ifdef SCACHE_RECORD_STATS
58 unsigned int cacheAccess;
59 unsigned int cacheHits;
61 unsigned int writeFlag;
70 unsigned char configId;
72 unsigned char interfaceNumber;
73 unsigned char interfaceAlt;
74 unsigned int sectorSize;
78 usbmass_cb_t callback;
83 unsigned int sectorSize;
84 unsigned char clusterSize;
85 unsigned int resSectors;
86 unsigned char fatCount;
87 unsigned int rootSize;
89 unsigned int trackSize;
90 unsigned int headCount;
91 unsigned int sectorCount;
92 unsigned int partStart;
93 unsigned int rootDirStart;
94 unsigned int rootDirCluster;
95 unsigned int activeFat;
96 unsigned char fatType;
97 unsigned char fatId[9];
98 unsigned int dataStart;
107#define MAX_DIR_CLUSTER 512
108 unsigned int cbuf[MAX_DIR_CLUSTER];
110 unsigned int lastChainCluster;
114#define MAX_DE_STACK 21
115 unsigned int deSec[MAX_DE_STACK];
116 int deOfs[MAX_DE_STACK];
119#define SEQ_MASK_SIZE 2048
120 u8 seq_mask[SEQ_MASK_SIZE / 8];
121#define DIR_MASK_SIZE 2048 * 11
122 u8 dir_used_mask[DIR_MASK_SIZE / 8];
124#define MAX_CLUSTER_STACK 128
125 unsigned int clStack[MAX_CLUSTER_STACK];
127 unsigned int clStackLast;
132extern int UsbMassRegisterCallback(
int device, usbmass_cb_t callback);
133extern fat_driver *UsbMassFatGetData(
int device);
134extern int UsbMassReadSector(
fat_driver *fatd,
void **buffer, u32 sector);
135extern int UsbMassWriteSector(
fat_driver *fatd, u32 sector);
136extern void UsbMassFlushCache(
fat_driver *fatd);
137extern int UsbMassFatGetClusterChain(
fat_driver *fatd,
unsigned int cluster,
unsigned int *buf,
unsigned int bufSize,
int startFlag);
139#define usbmass_IMPORTS_start DECLARE_IMPORT_TABLE(usbmass, 1, 2)
140#define usbmass_IMPORTS_end END_IMPORT_TABLE
142#define I_UsbMassGetDeviceInfo DECLARE_IMPORT(4, UsbMassGetDeviceInfo)
143#define I_UsbMassRegisterCallback DECLARE_IMPORT(5, UsbMassRegisterCallback)
144#define I_UsbMassFatGetData DECLARE_IMPORT(6, UsbMassFatGetData)
145#define I_UsbMassReadSector DECLARE_IMPORT(7, UsbMassReadSector)
146#define I_UsbMassWriteSector DECLARE_IMPORT(8, UsbMassWriteSector)
147#define I_UsbMassFlushCache DECLARE_IMPORT(9, UsbMassFlushCache)
148#define I_UsbMassFatGetClusterChain DECLARE_IMPORT(10, UsbMassFatGetClusterChain)
unsigned short int status