hash/extern.h

Go to the documentation of this file.
00001 /*-
00002  * Copyright (c) 1991, 1993, 1994
00003  * The Regents of the University of California.  All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright
00011  *    notice, this list of conditions and the following disclaimer in the
00012  *    documentation and/or other materials provided with the distribution.
00013  * 3. All advertising materials mentioning features or use of this software
00014  *    must display the following acknowledgement:
00015  * This product includes software developed by the University of
00016  * California, Berkeley and its contributors.
00017  * 4. Neither the name of the University nor the names of its contributors
00018  *    may be used to endorse or promote products derived from this software
00019  *    without specific prior written permission.
00020  *
00021  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
00022  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00023  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00024  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
00025  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00026  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00027  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00028  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00029  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00030  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00031  * SUCH DAMAGE.
00032  *
00033  * @(#)extern.h   8.4 (Berkeley) 6/16/94
00034  */
00035 
00036 BUFHEAD  *__add_ovflpage __P((HTAB *, BUFHEAD *));
00037 int    __addel __P((HTAB *, BUFHEAD *, const DBT *, const DBT *));
00038 int    __big_delete __P((HTAB *, BUFHEAD *));
00039 int    __big_insert __P((HTAB *, BUFHEAD *, const DBT *, const DBT *));
00040 int    __big_keydata __P((HTAB *, BUFHEAD *, DBT *, DBT *, int));
00041 int    __big_return __P((HTAB *, BUFHEAD *, int, DBT *, int));
00042 int    __big_split __P((HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *,
00043       int, u_int32_t, SPLIT_RETURN *));
00044 int    __buf_free __P((HTAB *, int, int));
00045 void   __buf_init __P((HTAB *, int));
00046 u_int32_t    __call_hash __P((HTAB *, char *, int));
00047 int    __delpair __P((HTAB *, BUFHEAD *, int));
00048 int    __expand_table __P((HTAB *));
00049 int    __find_bigpair __P((HTAB *, BUFHEAD *, int, char *, int));
00050 u_int16_t    __find_last_page __P((HTAB *, BUFHEAD **));
00051 void   __free_ovflpage __P((HTAB *, BUFHEAD *));
00052 BUFHEAD  *__get_buf __P((HTAB *, u_int32_t, BUFHEAD *, int));
00053 int    __get_page __P((HTAB *, char *, u_int32_t, int, int, int));
00054 int    __ibitmap __P((HTAB *, int, int, int));
00055 u_int32_t    __hash_log2 __P((u_int32_t));
00056 int    __put_page __P((HTAB *, char *, u_int32_t, int, int));
00057 void   __reclaim_buf __P((HTAB *, BUFHEAD *));
00058 int    __split_page __P((HTAB *, u_int32_t, u_int32_t));
00059 
00060 /* Default hash routine. */
00061 extern u_int32_t (*__default_hash) __P((const void *, size_t));
00062 
00063 #ifdef HASH_STATISTICS
00064 extern int hash_accesses, hash_collisions, hash_expansions, hash_overflows;
00065 #endif

Generated on Thu Apr 16 06:27:34 2015 for Asterisk - The Open Source Telephony Project by  doxygen 1.5.6