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