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