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 Fs *fsOpen(char*, VtSession*, long, int); 18 void fsClose(Fs*); 19 File *fsGetRoot(Fs*); 20 int fsSnapshot(Fs*, char*, char*, int); 21 void fsSnapshotRemove(Fs*); 22 void fsSnapshotCleanup(Fs*, u32int); 23 int fsSync(Fs*); 24 int fsHalt(Fs*); 25 int fsUnhalt(Fs*); 26 int fsVac(Fs*, char*, uchar[VtScoreSize]); 27 int fsRedial(Fs*, char*); 28 int fsEpochLow(Fs*, u32int); 29 30 File *fileOpen(Fs*, char*); 31 File *fileCreate(File*, char*, ulong, char*); 32 File *fileWalk(File*, char*); 33 File *_fileWalk(File*, char*, int); 34 int fileRemove(File*, char*); 35 int fileClri(File*, char*, char*); 36 int fileClriPath(Fs*, char*, char*); 37 int fileRead(File*, void *, int, vlong); 38 int fileWrite(File*, void *, int, vlong, char*); 39 int fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong); 40 uvlong fileGetId(File*); 41 ulong fileGetMcount(File*); 42 int fileIsDir(File*); 43 int fileGetSize(File*, uvlong*); 44 int fileGetDir(File*, DirEntry*); 45 int fileSetDir(File*, DirEntry*, char*); 46 int fileSetSize(File*, uvlong); 47 File *fileGetParent(File*); 48 int fileSync(File*); 49 File *fileIncRef(File*); 50 int fileDecRef(File*); 51 int fileIsRoot(File*); 52 int fileMetaFlush(File*, int); 53 int fileSetQidSpace(File*, u64int, u64int); 54 int fileTruncate(File*, char*); 55 int fileIsRoFs(File*); 56 ulong fileGetMode(File*); 57 DirEntryEnum *deeOpen(File*); 58 int deeRead(DirEntryEnum*, DirEntry*); 59 void deeClose(DirEntryEnum*); 60 int fileWalkSources(File*); 61