fns.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. Block* sourceBlock(Source*, uint32_t, int);
  10. Block* _sourceBlock(Source*, uint32_t, int, int, uint32_t);
  11. void sourceClose(Source*);
  12. Source* sourceCreate(Source*, int, int, uint32_t);
  13. uint32_t sourceGetDirSize(Source*);
  14. int sourceGetEntry(Source*, Entry*);
  15. uint64_t sourceGetSize(Source*);
  16. int sourceLock2(Source*, Source*, int);
  17. int sourceLock(Source*, int);
  18. char *sourceName(Source *s);
  19. Source* sourceOpen(Source*, uint32_t, int, int);
  20. int sourceRemove(Source*);
  21. Source* sourceRoot(Fs*, uint32_t, int);
  22. int sourceSetDirSize(Source*, uint32_t);
  23. int sourceSetEntry(Source*, Entry*);
  24. int sourceSetSize(Source*, uint64_t);
  25. int sourceTruncate(Source*);
  26. void sourceUnlock(Source*);
  27. Block* cacheAllocBlock(Cache*, int, uint32_t, uint32_t, uint32_t);
  28. Cache* cacheAlloc(Disk*, VtSession*, uint32_t, int);
  29. void cacheCountUsed(Cache*, uint32_t, uint32_t*, uint32_t*, uint32_t*);
  30. int cacheDirty(Cache*);
  31. void cacheFlush(Cache*, int);
  32. void cacheFree(Cache*);
  33. Block* cacheGlobal(Cache*, unsigned char[VtScoreSize], int, uint32_t, int);
  34. Block* cacheLocal(Cache*, int, uint32_t, int);
  35. Block* cacheLocalData(Cache*, uint32_t, int, uint32_t, int, uint32_t);
  36. uint32_t cacheLocalSize(Cache*, int);
  37. int readLabel(Cache*, Label*, uint32_t addr);
  38. Block* blockCopy(Block*, uint32_t, uint32_t, uint32_t);
  39. void blockDependency(Block*, Block*, int, unsigned char*, Entry*);
  40. int blockDirty(Block*);
  41. void blockDupLock(Block*);
  42. void blockPut(Block*);
  43. void blockRemoveLink(Block*, uint32_t, int, uint32_t, int);
  44. unsigned char* blockRollback(Block*, unsigned char*);
  45. void blockSetIOState(Block*, int);
  46. Block* _blockSetLabel(Block*, Label*);
  47. int blockSetLabel(Block*, Label*, int);
  48. int blockWrite(Block*, int);
  49. Disk* diskAlloc(int);
  50. int diskBlockSize(Disk*);
  51. int diskFlush(Disk*);
  52. void diskFree(Disk*);
  53. void diskRead(Disk*, Block*);
  54. int diskReadRaw(Disk*, int, uint32_t, unsigned char*);
  55. uint32_t diskSize(Disk*, int);
  56. void diskWriteAndWait(Disk*, Block*);
  57. void diskWrite(Disk*, Block*);
  58. int diskWriteRaw(Disk*, int, uint32_t, unsigned char*);
  59. char* bioStr(int);
  60. char* bsStr(int);
  61. char* btStr(int);
  62. uint32_t globalToLocal(unsigned char[VtScoreSize]);
  63. void localToGlobal(uint32_t, unsigned char[VtScoreSize]);
  64. void headerPack(Header*, unsigned char*);
  65. int headerUnpack(Header*, unsigned char*);
  66. int labelFmt(Fmt*);
  67. void labelPack(Label*, unsigned char*, int);
  68. int labelUnpack(Label*, unsigned char*, int);
  69. int scoreFmt(Fmt*);
  70. void superPack(Super*, unsigned char*);
  71. int superUnpack(Super*, unsigned char*);
  72. void entryPack(Entry*, unsigned char*, int);
  73. int entryType(Entry*);
  74. int entryUnpack(Entry*, unsigned char*, int);
  75. Periodic* periodicAlloc(void (*)(void*), void*, int);
  76. void periodicKill(Periodic*);
  77. int fileGetSources(File*, Entry*, Entry*);
  78. File* fileRoot(Source*);
  79. int fileSnapshot(File*, File*, uint32_t, int);
  80. int fsNextQid(Fs*, uint64_t*);
  81. int mkVac(VtSession*, uint, Entry*, Entry*, DirEntry*, unsigned char[VtScoreSize]);
  82. Block* superGet(Cache*, Super*);
  83. void archFree(Arch*);
  84. Arch* archInit(Cache*, Disk*, Fs*, VtSession*);
  85. void archKick(Arch*);
  86. void bwatchDependency(Block*);
  87. void bwatchInit(void);
  88. void bwatchLock(Block*);
  89. void bwatchReset(unsigned char[VtScoreSize]);
  90. void bwatchSetBlockSize(uint);
  91. void bwatchUnlock(Block*);
  92. void initWalk(WalkPtr*, Block*, uint);
  93. int nextWalk(WalkPtr*, unsigned char[VtScoreSize], unsigned char*, uint32_t*, Entry**);
  94. void snapGetTimes(Snap*, uint32_t*, uint32_t*, uint32_t*);
  95. void snapSetTimes(Snap*, uint32_t, uint32_t, uint32_t);
  96. void fsCheck(Fsck*);