lhash_local.h 860 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (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. #include "internal/tsan_assist.h"
  11. struct lhash_node_st {
  12. void *data;
  13. struct lhash_node_st *next;
  14. unsigned long hash;
  15. };
  16. struct lhash_st {
  17. OPENSSL_LH_NODE **b;
  18. OPENSSL_LH_COMPFUNC comp;
  19. OPENSSL_LH_HASHFUNC hash;
  20. unsigned int num_nodes;
  21. unsigned int num_alloc_nodes;
  22. unsigned int p;
  23. unsigned int pmax;
  24. unsigned long up_load; /* load times 256 */
  25. unsigned long down_load; /* load times 256 */
  26. unsigned long num_items;
  27. int error;
  28. };