externhashtable_tfilesystemhash;//this table is the one to build your hash references into
externintfs_hash_dups;//for tracking efficiency. no functional use.
externintfs_hash_files;//for tracking efficiency. no functional use.
typedefstruct{
void(*PrintPath)(void*handle);
void(*ClosePath)(void*handle);
void(*BuildHash)(void*handle);
qboolean(*FindFile)(void*handle,flocation_t*loc,constchar*name,void*hashedresult);//true if found (hashedresult can be NULL)
//note that if rawfile and offset are set, many Com_FileOpens will read the raw file
//otherwise ReadFile will be called instead.
void(*ReadFile)(void*handle,flocation_t*loc,char*buffer);//reads the entire file in one go (size comes from loc, so make sure the loc is valid, this is for performance with compressed archives)