Path: blob/main/crypto/krb5/src/plugins/kdb/db2/libdb2/hash/extern.h
34928 views
/*-1* Copyright (c) 1991, 1993, 19942* The Regents of the University of California. All rights reserved.3*4* Redistribution and use in source and binary forms, with or without5* modification, are permitted provided that the following conditions6* are met:7* 1. Redistributions of source code must retain the above copyright8* notice, this list of conditions and the following disclaimer.9* 2. Redistributions in binary form must reproduce the above copyright10* notice, this list of conditions and the following disclaimer in the11* documentation and/or other materials provided with the distribution.12* 3. All advertising materials mentioning features or use of this software13* must display the following acknowledgement:14* This product includes software developed by the University of15* California, Berkeley and its contributors.16* 4. Neither the name of the University nor the names of its contributors17* may be used to endorse or promote products derived from this software18* without specific prior written permission.19*20* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND21* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE22* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE23* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE24* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL25* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS26* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)27* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT28* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY29* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF30* SUCH DAMAGE.31*32* @(#)extern.h 8.8 (Berkeley) 11/7/9533*/3435#define __add_bigpage __kdb2_add_bigpage36#define __add_ovflpage __kdb2_add_ovflpage37#define __addel __kdb2_addel38#define __alloc_tmp __kdb2_alloc_tmp39#define __big_delete __kdb2_big_delete40#define __big_insert __kdb2_big_insert41#define __big_keydata __kdb2_big_keydata42#define __big_return __kdb2_big_return43#define __call_hash __kdb2_call_hash44#define __cursor_creat __kdb2_cursor_creat45#define __delete_page __kdb2_delete_page46#define __delpair __kdb2_delpair47#define __expand_table __kdb2_expand_table48#define __find_bigpair __kdb2_find_bigpair49#define __free_ovflpage __kdb2_free_ovflpage50#define __get_bigkey __kdb2_get_bigkey51#define __get_buf __kdb2_get_buf52#define __get_item __kdb2_get_item53#define __get_item_done __kdb2_get_item_done54#define __get_item_first __kdb2_get_item_first55#define __get_item_next __kdb2_get_item_next56#define __get_item_reset __kdb2_get_item_reset57#define __get_page __kdb2_get_page58#define __ibitmap __kdb2_ibitmap59#define __log2 __kdb2_log260#define __new_page __kdb2_new_page61#define __pgin_routine __kdb2_pgin_routine62#define __pgout_routine __kdb2_pgout_routine63#define __put_buf __kdb2_put_buf64#define __put_page __kdb2_put_page65#define __reclaim_tmp __kdb2_reclaim_tmp66#define __split_page __kdb2_split_page6768PAGE16 *__add_bigpage __P((HTAB *, PAGE16 *, indx_t, const u_int8_t));69PAGE16 *__add_ovflpage __P((HTAB *, PAGE16 *));70int32_t __addel __P((HTAB *, ITEM_INFO *,71const DBT *, const DBT *, u_int32_t, const u_int8_t));72u_int32_t __alloc_tmp __P((HTAB*));73int32_t __big_delete __P((HTAB *, PAGE16 *, indx_t));74int32_t __big_insert __P((HTAB *, PAGE16 *, const DBT *, const DBT *));75int32_t __big_keydata __P((HTAB *, PAGE16 *, DBT *, DBT *, int32_t));76int32_t __big_return __P((HTAB *, ITEM_INFO *, DBT *, int32_t));77u_int32_t __call_hash __P((HTAB *, int8_t *, int32_t));78CURSOR *__cursor_creat __P((const DB *));79int32_t __delete_page __P((HTAB *, PAGE16 *, int32_t));80int32_t __delpair __P((HTAB *, CURSOR *, ITEM_INFO *));81int32_t __expand_table __P((HTAB *));82int32_t __find_bigpair __P((HTAB *, CURSOR *, int8_t *, int32_t));83void __free_ovflpage __P((HTAB *, PAGE16 *));84int32_t __get_bigkey __P((HTAB *, PAGE16 *, indx_t, DBT *));85PAGE16 *__get_buf __P((HTAB *, u_int32_t, int32_t));86u_int32_t __get_item __P((HTAB *, CURSOR *, DBT *, DBT *, ITEM_INFO *));87u_int32_t __get_item_done __P((HTAB *, CURSOR *));88u_int32_t __get_item_first __P((HTAB *, CURSOR *, DBT *, DBT *, ITEM_INFO *));89u_int32_t __get_item_next __P((HTAB *, CURSOR *, DBT *, DBT *, ITEM_INFO *));90u_int32_t __get_item_reset __P((HTAB *, CURSOR *));91PAGE16 *__get_page __P((HTAB *, u_int32_t, int32_t));92int32_t __ibitmap __P((HTAB *, int32_t, int32_t, int32_t));93u_int32_t __log2 __P((u_int32_t));94int32_t __new_page __P((HTAB *, u_int32_t, int32_t));95void __pgin_routine __P((void *, db_pgno_t, void *));96void __pgout_routine __P((void *, db_pgno_t, void *));97u_int32_t __put_buf __P((HTAB *, PAGE16 *, u_int32_t));98int32_t __put_page __P((HTAB *, PAGE16 *, int32_t, int32_t));99void __reclaim_tmp __P((HTAB *));100int32_t __split_page __P((HTAB *, u_int32_t, u_int32_t));101102/* Default hash routine. */103extern u_int32_t (*__default_hash) __P((const void *, size_t));104105#ifdef HASH_STATISTICS106extern long hash_accesses, hash_bigpages, hash_collisions, hash_expansions;107extern long hash_overflow;108#endif109110111