14366bb71SDavid du Colombier Data* allocdata(File*, uint, uint); 24366bb71SDavid du Colombier SFid* allocsfid(void); 34366bb71SDavid du Colombier SFid* alreadyopen(Fid*, uint); 44366bb71SDavid du Colombier int askserver(Fcall*, Fid*); 54366bb71SDavid du Colombier void badpath(Path*, char*, char*); 64366bb71SDavid du Colombier void cacheinval(File*); 74366bb71SDavid du Colombier void closefile(Fid*, int, int); 84366bb71SDavid du Colombier void cachemerge(Data*, char*, int, int); 94366bb71SDavid du Colombier void copystat(File*, Dir*, int); 104366bb71SDavid du Colombier int cacheread(File*, void*, vlong, int); 114366bb71SDavid du Colombier int ctltest(Fid*); 124366bb71SDavid du Colombier void cachewrite(File*, void*, vlong, int); 134366bb71SDavid du Colombier void datainit(void); 144366bb71SDavid du Colombier int delegate(Fcall*, Fid*, SFid*); 154366bb71SDavid du Colombier void dumpdata(Data*, int); 164366bb71SDavid du Colombier String* dupstr(String*); 174366bb71SDavid du Colombier void error(char*, ...); 184366bb71SDavid du Colombier void fileinval(Path*); 194366bb71SDavid du Colombier Data* finddata(File*, uvlong, int*); 204366bb71SDavid du Colombier Fid* findfid(Host*, u32int, int); 214366bb71SDavid du Colombier void freedata(Data*); 22*518acb85SDavid du Colombier void freeinval(Path*); 234366bb71SDavid du Colombier void freepath(Path*); 244366bb71SDavid du Colombier void freesfid(SFid*); 254366bb71SDavid du Colombier void freestr(String*); 264366bb71SDavid du Colombier void genstats(void); 274366bb71SDavid du Colombier void io(void); 284366bb71SDavid du Colombier int localwalk(Fid*, Fcall*, Fcall*, Path**); 29*518acb85SDavid du Colombier void mountinit(char*, char*, char*); 304366bb71SDavid du Colombier Path* newpath(Path*, char*, Qid); 314366bb71SDavid du Colombier String* newstr(char*); 324366bb71SDavid du Colombier void openfile(Fid*, int, u32int, SFid*); 334366bb71SDavid du Colombier int openmode(uint); 344366bb71SDavid du Colombier char* pathstr(Path*); 354366bb71SDavid du Colombier void printpath(Path*, int); 364366bb71SDavid du Colombier void putfid(Fid*); 374366bb71SDavid du Colombier void putfile(File*); 384366bb71SDavid du Colombier void rattach(Fcall*); 394366bb71SDavid du Colombier void rauth(Fcall*); 404366bb71SDavid du Colombier void rclunk(Fcall*); 414366bb71SDavid du Colombier void rcreate(Fcall*); 424366bb71SDavid du Colombier void rcvmsg(P9fs*, Fcall*); 434366bb71SDavid du Colombier void rflush(Fcall*); 444366bb71SDavid du Colombier void ropen(Fcall*); 454366bb71SDavid du Colombier void rread(Fcall*); 464366bb71SDavid du Colombier void rremove(Fcall*); 474366bb71SDavid du Colombier void rstat(Fcall*); 484366bb71SDavid du Colombier void rversion(Fcall*); 494366bb71SDavid du Colombier void rwalk(Fcall*); 504366bb71SDavid du Colombier void rwrite(Fcall*); 514366bb71SDavid du Colombier void rwstat(Fcall*); 524366bb71SDavid du Colombier void sendmsg(P9fs*, Fcall*); 534366bb71SDavid du Colombier void sendreply(char*); 544366bb71SDavid du Colombier void setinval(Path*, char*); 554366bb71SDavid du Colombier SFid* sfclone(SFid*); 564366bb71SDavid du Colombier void sfclunk(SFid*); 574366bb71SDavid du Colombier Data* storedata(File*, uvlong, int*); 584366bb71SDavid du Colombier void warning(char*); 59