lhash_lcl.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the OpenSSL license (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. #include <openssl/crypto.h>
  10. struct lhash_node_st {
  11. void *data;
  12. struct lhash_node_st *next;
  13. unsigned long hash;
  14. };
  15. struct lhash_st {
  16. OPENSSL_LH_NODE **b;
  17. OPENSSL_LH_COMPFUNC comp;
  18. OPENSSL_LH_HASHFUNC hash;
  19. unsigned int num_nodes;
  20. unsigned int num_alloc_nodes;
  21. unsigned int p;
  22. unsigned int pmax;
  23. unsigned long up_load; /* load times 256 */
  24. unsigned long down_load; /* load times 256 */
  25. unsigned long num_items;
  26. unsigned long num_expands;
  27. unsigned long num_expand_reallocs;
  28. unsigned long num_contracts;
  29. unsigned long num_contract_reallocs;
  30. unsigned long num_hash_calls;
  31. unsigned long num_comp_calls;
  32. unsigned long num_insert;
  33. unsigned long num_replace;
  34. unsigned long num_delete;
  35. unsigned long num_no_delete;
  36. unsigned long num_retrieve;
  37. unsigned long num_retrieve_miss;
  38. unsigned long num_hash_comps;
  39. int error;
  40. };