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