Blob


1 typedef struct Fs Fs;
2 typedef struct File File;
3 typedef struct DirEntryEnum DirEntryEnum;
5 #pragma incomplete Fs
6 #pragma incomplete File
7 #pragma incomplete DirEntryEnum
9 enum
10 {
11 STACK = 32*1024,
12 };
14 enum
15 {
16 // XXX What to do here?
17 VtMaxLumpSize = 65536,
18 };
20 /* modes */
22 enum {
23 OReadOnly,
24 OReadWrite,
25 OOverWrite,
26 };
28 extern char *currfsysname;
29 extern char *foptname;
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]);
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*);