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