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 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 unsigned int num_nodes; 24 unsigned int num_alloc_nodes; 25 unsigned int p; 26 unsigned int pmax; 27 unsigned long up_load; /* load times 256 */ 28 unsigned long down_load; /* load times 256 */ 29 unsigned long num_items; 30 int error; 31 }; 32