lhash_local.h 1010 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright 1995-2024 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. OPENSSL_LH_HASHFUNCTHUNK hashw;
  21. OPENSSL_LH_COMPFUNCTHUNK compw;
  22. OPENSSL_LH_DOALL_FUNC_THUNK daw;
  23. OPENSSL_LH_DOALL_FUNCARG_THUNK daaw;
  24. unsigned int num_nodes;
  25. unsigned int num_alloc_nodes;
  26. unsigned int p;
  27. unsigned int pmax;
  28. unsigned long up_load; /* load times 256 */
  29. unsigned long down_load; /* load times 256 */
  30. unsigned long num_items;
  31. int error;
  32. };