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