july.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_JULY_H
  3. #define NETDATA_JULY_H 1
  4. #include "../libnetdata.h"
  5. // #define PDC_USE_JULYL 1
  6. PPvoid_t JulyLGet(Pcvoid_t PArray, Word_t Index, PJError_t PJError);
  7. PPvoid_t JulyLIns(PPvoid_t PPArray, Word_t Index, PJError_t PJError);
  8. PPvoid_t JulyLFirst(Pcvoid_t PArray, Word_t *Index, PJError_t PJError);
  9. PPvoid_t JulyLNext(Pcvoid_t PArray, Word_t *Index, PJError_t PJError);
  10. PPvoid_t JulyLLast(Pcvoid_t PArray, Word_t *Index, PJError_t PJError);
  11. PPvoid_t JulyLPrev(Pcvoid_t PArray, Word_t *Index, PJError_t PJError);
  12. Word_t JulyLFreeArray(PPvoid_t PPArray, PJError_t PJError);
  13. static inline PPvoid_t JulyLFirstThenNext(Pcvoid_t PArray, Word_t * PIndex, bool *first) {
  14. if(unlikely(*first)) {
  15. *first = false;
  16. return JulyLFirst(PArray, PIndex, PJE0);
  17. }
  18. return JulyLNext(PArray, PIndex, PJE0);
  19. }
  20. static inline PPvoid_t JulyLLastThenPrev(Pcvoid_t PArray, Word_t * PIndex, bool *first) {
  21. if(unlikely(*first)) {
  22. *first = false;
  23. return JulyLLast(PArray, PIndex, PJE0);
  24. }
  25. return JulyLPrev(PArray, PIndex, PJE0);
  26. }
  27. void julyl_cleanup1(void);
  28. size_t julyl_cache_size(void);
  29. size_t julyl_bytes_moved(void);
  30. #endif // NETDATA_JULY_H