fns.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /*
  2. * sorted by 4,/^$/|sort -bd +1
  3. */
  4. int addArena(Arena *name);
  5. ZBlock *allocZBlock(u32int size, int zeroed);
  6. Arena *amapItoA(Index *index, u64int a, u64int *aa);
  7. u64int arenaDirSize(Arena *arena, u32int clumps);
  8. void arenaUpdate(Arena *arena, u32int size, u8int *score);
  9. void backSumArena(Arena *arena);
  10. u32int buildBucket(Index *ix, IEStream *ies, IBucket *ib);
  11. void checkDCache(void);
  12. void checkLumpCache(void);
  13. int clumpInfoEq(ClumpInfo *c, ClumpInfo *d);
  14. int clumpInfoEq(ClumpInfo *c, ClumpInfo *d);
  15. u32int clumpMagic(Arena *arena, u64int aa);
  16. int delArena(Arena *arena);
  17. void *emalloc(ulong);
  18. void *erealloc(void *, ulong);
  19. char *estrdup(char*);
  20. void *ezmalloc(ulong);
  21. void fatal(char *fmt, ...);
  22. Arena *findArena(char *name);
  23. ISect *findISect(Index *ix, u32int buck);
  24. int flushCIBlocks(Arena *arena);
  25. void fmtZBInit(Fmt *f, ZBlock *b);
  26. void freeArena(Arena *arena);
  27. void freeArenaPart(ArenaPart *ap, int freeArenas);
  28. void freeIEStream(IEStream *ies);
  29. void freeIFile(IFile *f);
  30. void freeISect(ISect *is);
  31. void freeIndex(Index *index);
  32. void freePart(Part *part);
  33. void freeZBlock(ZBlock *b);
  34. DBlock *getDBlock(Part *part, u64int addr, int read);
  35. u32int hashBits(u8int *score, int nbits);
  36. int httpdInit(char *address);
  37. int iAddrEq(IAddr *ia1, IAddr *ia2);
  38. int ientryCmp(void *vie1, void *vie2);
  39. char *ifileLine(IFile *f);
  40. int ifileName(IFile *f, char *dst);
  41. int ifileU32Int(IFile *f, u32int *r);
  42. int indexSect(Index *ix, u8int *score);
  43. Arena *initArena(Part *part, u64int base, u64int size, u32int blockSize);
  44. ArenaPart *initArenaPart(Part *part);
  45. int initArenaSum(void);
  46. void initDCache(u32int mem);
  47. void initICache(int bits, int depth);
  48. IEStream *initIEStream(Part *part, u64int off, u64int clumps, u32int size);
  49. ISect *initISect(Part *part);
  50. Index *initIndex(char *name, ISect **sects, int n);
  51. void initLumpCache(u32int size, u32int nblocks);
  52. int initLumpQueues(int nq);
  53. Part* initPart(char *name, int writable);
  54. int initVenti(char *file, Config *conf);
  55. void insertLump(Lump *lump, Packet *p);
  56. int insertScore(u8int *score, IAddr *ia, int write);
  57. ZBlock *loadClump(Arena *arena, u64int aa, int blocks, Clump *cl, u8int *score, int verify);
  58. int loadIEntry(Index *index, u8int *score, int type, IEntry *ie);
  59. void logErr(int severity, char *fmt, ...);
  60. Lump *lookupLump(u8int *score, int type);
  61. int lookupScore(u8int *score, int type, IAddr *ia, int *rac);
  62. int mapArenas(AMap *am, Arena **arenas, int n, char *what);
  63. void nameCp(char *dst, char *src);
  64. int nameEq(char *s, char *t);
  65. int nameOk(char *name);
  66. Arena *newArena(Part *part, char *name, u64int base, u64int size, u32int blockSize);
  67. ArenaPart *newArenaPart(Part *part, u32int blockSize, u32int tabSize);
  68. ISect *newISect(Part *part, char *name, u32int blockSize, u32int tabSize);
  69. Index *newIndex(char *name, ISect **sects, int n);
  70. u32int now(void);
  71. int okAMap(AMap *am, int n, u64int start, u64int stop, char *what);
  72. int outputAMap(Fmt *f, AMap *am, int n);
  73. int outputIndex(Fmt *f, Index *ix);
  74. int packArena(Arena *arena, u8int *buf);
  75. int packArenaHead(ArenaHead *head, u8int *buf);
  76. int packArenaPart(ArenaPart *as, u8int *buf);
  77. int packClump(Clump *c, u8int *buf);
  78. void packClumpInfo(ClumpInfo *ci, u8int *buf);
  79. void packIBucket(IBucket *b, u8int *buf);
  80. void packIEntry(IEntry *i, u8int *buf);
  81. int packISect(ISect *is, u8int *buf);
  82. void packMagic(u32int magic, u8int *buf);
  83. ZBlock *packet2ZBlock(Packet *p, u32int size);
  84. int parseAMap(IFile *f, AMapN *amn);
  85. int parseIndex(IFile *f, Index *ix);
  86. void partBlockSize(Part *part, u32int blockSize);
  87. int partIFile(IFile *f, Part *part, u64int start, u32int size);
  88. void printArenaPart(int fd, ArenaPart *ap);
  89. void printArena(int fd, Arena *arena);
  90. void printIndex(int fd, Index *ix);
  91. void printStats(void);
  92. void putDBlock(DBlock *b);
  93. void putLump(Lump *b);
  94. void queueFlush(void);
  95. int queueWrite(Lump *b, Packet *p, int creator);
  96. u32int readArena(Arena *arena, u64int aa, u8int *buf, long n);
  97. int readArenaMap(AMapN *amn, Part *part, u64int base, u32int size);
  98. int readClumpInfo(Arena *arena, int clump, ClumpInfo *ci);
  99. int readClumpInfos(Arena *arena, int clump, ClumpInfo *cis, int n);
  100. ZBlock *readFile(char *name);
  101. int readIFile(IFile *f, char *name);
  102. Packet *readLump(u8int *score, int type, u32int size);
  103. int readPart(Part *part, u64int addr, u8int *buf, u32int n);
  104. int runConfig(char *config, Config*);
  105. int scoreEq(u8int *, u8int *);
  106. void scoreMem(u8int *score, u8int *buf, int size);
  107. void setErr(int severity, char *fmt, ...);
  108. u64int sortRawIEntries(Index *ix, Part *tmp, u64int *tmpOff);
  109. void statsInit(void);
  110. int storeClump(Index *index, ZBlock *b, u8int *score, int type, u32int creator, IAddr *ia);
  111. int storeIEntry(Index *index, IEntry *m);
  112. int strScore(char *s, u8int *score);
  113. int strU32Int(char *s, u32int *r);
  114. int strU64Int(char *s, u64int *r);
  115. void sumArena(Arena *arena);
  116. int syncArena(Arena *arena, u32int n, int zok, int fix);
  117. int syncArenaIndex(Index *ix, Arena *arena, u32int clump, u64int a, int fix);
  118. int syncIndex(Index *ix, int fix);
  119. int u64log2(u64int v);
  120. u64int unittoull(char *s);
  121. int unpackArena(Arena *arena, u8int *buf);
  122. int unpackArenaHead(ArenaHead *head, u8int *buf);
  123. int unpackArenaPart(ArenaPart *as, u8int *buf);
  124. int unpackClump(Clump *c, u8int *buf);
  125. void unpackClumpInfo(ClumpInfo *ci, u8int *buf);
  126. void unpackIBucket(IBucket *b, u8int *buf);
  127. void unpackIEntry(IEntry *i, u8int *buf);
  128. int unpackISect(ISect *is, u8int *buf);
  129. u32int unpackMagic(u8int *buf);
  130. int vtTypeValid(int type);
  131. int wbArena(Arena *arena);
  132. int wbArenaHead(Arena *arena);
  133. int wbArenaMap(AMap *am, int n, Part *part, u64int base, u64int size);
  134. int wbArenaPart(ArenaPart *ap);
  135. int wbISect(ISect *is);
  136. int wbIndex(Index *ix);
  137. int whackblock(u8int *dst, u8int *src, int ssize);
  138. u64int writeAClump(Arena *a, Clump *c, u8int *clbuf);
  139. u32int writeArena(Arena *arena, u64int aa, u8int *clbuf, u32int n);
  140. int writeClumpInfo(Arena *arean, int clump, ClumpInfo *ci);
  141. u64int writeIClump(Index *ix, Clump *c, u8int *clbuf);
  142. int writeLump(Packet *p, u8int *score, int type, u32int creator);
  143. int writePart(Part *part, u64int addr, u8int *buf, u32int n);
  144. int writeQLump(Lump *u, Packet *p, int creator);
  145. Packet *zblock2Packet(ZBlock *zb, u32int size);
  146. void zeroPart(Part *part, int blockSize);
  147. #pragma varargck argpos fatal 1
  148. #pragma varargck argpos logErr 2
  149. #pragma varargck argpos SetErr 2
  150. #define scoreEq(h1,h2) (memcmp((h1),(h2),VtScoreSize)==0)
  151. #define scoreCp(h1,h2) memmove((h1),(h2),VtScoreSize)
  152. #define MK(t) ((t*)emalloc(sizeof(t)))
  153. #define MKZ(t) ((t*)ezmalloc(sizeof(t)))
  154. #define MKN(t,n) ((t*)emalloc((n)*sizeof(t)))
  155. #define MKNZ(t,n) ((t*)ezmalloc((n)*sizeof(t)))
  156. #define MKNA(t,at,n) ((t*)emalloc(sizeof(t) + (n)*sizeof(at)))