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