xref: /plan9/sys/src/cmd/fossil/fns.h (revision e12a987081f10894b49298514b3a97b41db862b0)
1 Block*	sourceBlock(Source*, ulong, int);
2 Block*	_sourceBlock(Source*, ulong, int, int, ulong);
3 void	sourceClose(Source*);
4 Source*	sourceCreate(Source*, int, int, u32int);
5 ulong	sourceGetDirSize(Source*);
6 int	sourceGetEntry(Source*, Entry*);
7 uvlong	sourceGetSize(Source*);
8 int	sourceLock2(Source*, Source*, int);
9 int	sourceLock(Source*, int);
10 char	*sourceName(Source *s);
11 Source*	sourceOpen(Source*, ulong, int, int);
12 int	sourceRemove(Source*);
13 Source*	sourceRoot(Fs*, u32int, int);
14 int	sourceSetDirSize(Source*, ulong);
15 int	sourceSetEntry(Source*, Entry*);
16 int	sourceSetSize(Source*, uvlong);
17 int	sourceTruncate(Source*);
18 void	sourceUnlock(Source*);
19 
20 Block*	cacheAllocBlock(Cache*, int, u32int, u32int, u32int);
21 Cache*	cacheAlloc(Disk*, VtSession*, ulong, int);
22 void	cacheCountUsed(Cache*, u32int, u32int*, u32int*, u32int*);
23 int	cacheDirty(Cache*);
24 void	cacheFlush(Cache*, int);
25 void	cacheFree(Cache*);
26 Block*	cacheGlobal(Cache*, uchar[VtScoreSize], int, u32int, int);
27 Block*	cacheLocal(Cache*, int, u32int, int);
28 Block*	cacheLocalData(Cache*, u32int, int, u32int, int, u32int);
29 u32int	cacheLocalSize(Cache*, int);
30 int	readLabel(Cache*, Label*, u32int addr);
31 
32 Block*	blockCopy(Block*, u32int, u32int, u32int);
33 void	blockDependency(Block*, Block*, int, uchar*, Entry*);
34 int	blockDirty(Block*);
35 void	blockDupLock(Block*);
36 void	blockPut(Block*);
37 void	blockRemoveLink(Block*, u32int, int, u32int, int);
38 uchar*	blockRollback(Block*, uchar*);
39 void	blockSetIOState(Block*, int);
40 Block*	_blockSetLabel(Block*, Label*);
41 int	blockSetLabel(Block*, Label*, int);
42 int	blockWrite(Block*, int);
43 
44 Disk*	diskAlloc(int);
45 int	diskBlockSize(Disk*);
46 int	diskFlush(Disk*);
47 void	diskFree(Disk*);
48 void	diskRead(Disk*, Block*);
49 int	diskReadRaw(Disk*, int, u32int, uchar*);
50 u32int	diskSize(Disk*, int);
51 void	diskWriteAndWait(Disk*,	Block*);
52 void	diskWrite(Disk*, Block*);
53 int	diskWriteRaw(Disk*, int, u32int, uchar*);
54 
55 char*	bioStr(int);
56 char*	bsStr(int);
57 char*	btStr(int);
58 u32int	globalToLocal(uchar[VtScoreSize]);
59 void	localToGlobal(u32int, uchar[VtScoreSize]);
60 
61 void	headerPack(Header*, uchar*);
62 int	headerUnpack(Header*, uchar*);
63 
64 int	labelFmt(Fmt*);
65 void	labelPack(Label*, uchar*, int);
66 int	labelUnpack(Label*, uchar*, int);
67 
68 int	scoreFmt(Fmt*);
69 
70 void	superPack(Super*, uchar*);
71 int	superUnpack(Super*, uchar*);
72 
73 void	entryPack(Entry*, uchar*, int);
74 int	entryType(Entry*);
75 int	entryUnpack(Entry*, uchar*, int);
76 
77 Periodic* periodicAlloc(void (*)(void*), void*, int);
78 void	periodicKill(Periodic*);
79 
80 int	fileGetSources(File*, Entry*, Entry*);
81 File*	fileRoot(Source*);
82 int	fileSnapshot(File*, File*, u32int, int);
83 int	fsNextQid(Fs*, u64int*);
84 int	mkVac(VtSession*, uint, Entry*, Entry*, DirEntry*, uchar[VtScoreSize]);
85 Block*	superGet(Cache*, Super*);
86 
87 void	archFree(Arch*);
88 Arch*	archInit(Cache*, Disk*, Fs*, VtSession*);
89 void	archKick(Arch*);
90 
91 void	bwatchDependency(Block*);
92 void	bwatchInit(void);
93 void	bwatchLock(Block*);
94 void	bwatchReset(uchar[VtScoreSize]);
95 void	bwatchSetBlockSize(uint);
96 void	bwatchUnlock(Block*);
97 
98 void	initWalk(WalkPtr*, Block*, uint);
99 int	nextWalk(WalkPtr*, uchar[VtScoreSize], uchar*, u32int*, Entry**);
100 
101 void	snapGetTimes(Snap*, u32int*, u32int*, u32int*);
102 void	snapSetTimes(Snap*, u32int, u32int, u32int);
103 
104 void	fsCheck(Fsck*);
105 
106 #pragma varargck type "L" Label*
107