aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/fossil/fs.h
blob: 67792ce7b0a988c078991e929804dbc7d86599d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
typedef struct Fs Fs;
typedef struct File File;
typedef struct DirEntryEnum DirEntryEnum;

#pragma incomplete Fs
#pragma incomplete File
#pragma incomplete DirEntryEnum

enum
{
	STACK = 32*1024,
};

enum
{
	// XXX What to do here?
	VtMaxLumpSize = 65536,
};

/* modes */

enum {
	OReadOnly,
	OReadWrite,
	OOverWrite,
};

extern char *currfsysname;
extern char *foptname;

void	fsClose(Fs*);
int	fsEpochLow(Fs*, u32int);
File	*fsGetRoot(Fs*);
int	fsHalt(Fs*);
Fs	*fsOpen(char*, VtConn*, long, int);
int	fsRedial(Fs*, char*);
void	fsSnapshotCleanup(Fs*, u32int);
int	fsSnapshot(Fs*, char*, char*, int);
void	fsSnapshotRemove(Fs*);
int	fsSync(Fs*);
int	fsUnhalt(Fs*);
int	fsVac(Fs*, char*, uchar[VtScoreSize]);

void	deeClose(DirEntryEnum*);
DirEntryEnum *deeOpen(File*);
int	deeRead(DirEntryEnum*, DirEntry*);
int	fileClri(File*, char*, char*);
int	fileClriPath(Fs*, char*, char*);
File	*fileCreate(File*, char*, ulong, char*);
int	fileDecRef(File*);
int	fileGetDir(File*, DirEntry*);
uvlong	fileGetId(File*);
ulong	fileGetMcount(File*);
ulong	fileGetMode(File*);
File	*fileGetParent(File*);
int	fileGetSize(File*, uvlong*);
File	*fileIncRef(File*);
int	fileIsDir(File*);
int	fileIsTemporary(File*);
int	fileIsAppend(File*);
int	fileIsExclusive(File*);
int	fileIsRoFs(File*);
int	fileIsRoot(File*);
int	fileMapBlock(File*, ulong, uchar[VtScoreSize], ulong);
int	fileMetaFlush(File*, int);
char	*fileName(File *f);
File	*fileOpen(Fs*, char*);
int	fileRead(File*, void *, int, vlong);
int	fileRemove(File*, char*);
int	fileSetDir(File*, DirEntry*, char*);
int	fileSetQidSpace(File*, u64int, u64int);
int	fileSetSize(File*, uvlong);
int	fileSync(File*);
int	fileTruncate(File*, char*);
File	*fileWalk(File*, char*);
File	*_fileWalk(File*, char*, int);
int	fileWalkSources(File*);
int	fileWrite(File*, void *, int, vlong, char*);