xref: /plan9-contrib/sys/src/cmd/fossil/fs.h (revision 906943f9f6b8411972abb5e3a03ed19f74be7ccc)
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