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