fs.h (1824B)
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 enum 10 { 11 STACK = 32*1024, 12 }; 13 14 enum 15 { 16 // XXX What to do here? 17 VtMaxLumpSize = 65536, 18 }; 19 20 /* modes */ 21 22 enum { 23 OReadOnly, 24 OReadWrite, 25 OOverWrite, 26 }; 27 28 extern char *currfsysname; 29 extern char *foptname; 30 31 void fsClose(Fs*); 32 int fsEpochLow(Fs*, u32int); 33 File *fsGetRoot(Fs*); 34 int fsHalt(Fs*); 35 Fs *fsOpen(char*, VtConn*, long, int); 36 int fsRedial(Fs*, char*); 37 void fsSnapshotCleanup(Fs*, u32int); 38 int fsSnapshot(Fs*, char*, char*, int); 39 void fsSnapshotRemove(Fs*); 40 int fsSync(Fs*); 41 int fsUnhalt(Fs*); 42 int fsVac(Fs*, char*, uchar[VtScoreSize]); 43 44 void deeClose(DirEntryEnum*); 45 DirEntryEnum *deeOpen(File*); 46 int deeRead(DirEntryEnum*, DirEntry*); 47 int fileClri(File*, char*, char*); 48 int fileClriPath(Fs*, char*, char*); 49 File *fileCreate(File*, char*, ulong, char*); 50 int fileDecRef(File*); 51 int fileGetDir(File*, DirEntry*); 52 uvlong fileGetId(File*); 53 ulong fileGetMcount(File*); 54 ulong fileGetMode(File*); 55 File *fileGetParent(File*); 56 int fileGetSize(File*, uvlong*); 57 File *fileIncRef(File*); 58 int fileIsDir(File*); 59 int fileIsTemporary(File*); 60 int fileIsAppend(File*); 61 int fileIsExclusive(File*); 62 int fileIsRoFs(File*); 63 int fileIsRoot(File*); 64 int fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong); 65 int fileMetaFlush(File*, int); 66 char *fileName(File *f); 67 File *fileOpen(Fs*, char*); 68 int fileRead(File*, void *, int, vlong); 69 int fileRemove(File*, char*); 70 int fileSetDir(File*, DirEntry*, char*); 71 int fileSetQidSpace(File*, u64int, u64int); 72 int fileSetSize(File*, uvlong); 73 int fileSync(File*); 74 int fileTruncate(File*, char*); 75 File *fileWalk(File*, char*); 76 File *_fileWalk(File*, char*, int); 77 int fileWalkSources(File*); 78 int fileWrite(File*, void *, int, vlong, char*);