1 typedef struct Fs Fs; 2 typedef struct File File; 3 typedef struct DirEntryEnum DirEntryEnum; 4 5 #pragma incomplete Fs 6 #pragma incomplete File 7 #pragma incomplete DirEntryEnum 8 9 /* modes */ 10 11 enum { 12 OReadOnly, 13 OReadWrite, 14 OOverWrite, 15 }; 16 17 void fsClose(Fs*); 18 int fsEpochLow(Fs*, u32int); 19 File *fsGetRoot(Fs*); 20 int fsHalt(Fs*); 21 Fs *fsOpen(char*, VtSession*, long, int); 22 int fsRedial(Fs*, char*); 23 void fsSnapshotCleanup(Fs*, u32int); 24 int fsSnapshot(Fs*, char*, char*, int); 25 void fsSnapshotRemove(Fs*); 26 int fsSync(Fs*); 27 int fsUnhalt(Fs*); 28 int fsVac(Fs*, char*, uchar[VtScoreSize]); 29 30 void deeClose(DirEntryEnum*); 31 DirEntryEnum *deeOpen(File*); 32 int deeRead(DirEntryEnum*, DirEntry*); 33 int fileClri(File*, char*, char*); 34 int fileClriPath(Fs*, char*, char*); 35 File *fileCreate(File*, char*, ulong, char*); 36 int fileDecRef(File*); 37 int fileGetDir(File*, DirEntry*); 38 uvlong fileGetId(File*); 39 ulong fileGetMcount(File*); 40 ulong fileGetMode(File*); 41 File *fileGetParent(File*); 42 int fileGetSize(File*, uvlong*); 43 File *fileIncRef(File*); 44 int fileIsDir(File*); 45 int fileIsRoFs(File*); 46 int fileIsRoot(File*); 47 int fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong); 48 int fileMetaFlush(File*, int); 49 char *fileName(File *f); 50 File *fileOpen(Fs*, char*); 51 int fileRead(File*, void *, int, vlong); 52 int fileRemove(File*, char*); 53 int fileSetDir(File*, DirEntry*, char*); 54 int fileSetQidSpace(File*, u64int, u64int); 55 int fileSetSize(File*, uvlong); 56 int fileSync(File*); 57 int fileTruncate(File*, char*); 58 File *fileWalk(File*, char*); 59 File *_fileWalk(File*, char*, int); 60 int fileWalkSources(File*); 61 int fileWrite(File*, void *, int, vlong, char*); 62