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 11 #include "internal/tsan_assist.h" 12 13 struct lhash_node_st { 14 void *data; 15 struct lhash_node_st *next; 16 unsigned long hash; 17 }; 18 19 struct lhash_st { 20 OPENSSL_LH_NODE **b; 21 OPENSSL_LH_COMPFUNC comp; 22 OPENSSL_LH_HASHFUNC hash; 23 OPENSSL_LH_HASHFUNCTHUNK hashw; 24 OPENSSL_LH_COMPFUNCTHUNK compw; 25 OPENSSL_LH_DOALL_FUNC_THUNK daw; 26 OPENSSL_LH_DOALL_FUNCARG_THUNK daaw; 27 unsigned int num_nodes; 28 unsigned int num_alloc_nodes; 29 unsigned int p; 30 unsigned int pmax; 31 unsigned long up_load; /* load times 256 */ 32 unsigned long down_load; /* load times 256 */ 33 unsigned long num_items; 34 int error; 35 }; 36