xref: /openbsd/share/man/man9/hashinit.9 (revision db3296cf)
1.\"	$OpenBSD: hashinit.9,v 1.3 2003/04/17 05:08:39 jmc Exp $
2.\"
3.\" Copyright (c) 2001 Tobias Weingartner
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. The name of the author may not be used to endorse or promote products
15.\"    derived from this software without specific prior written permission.
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27.\"
28.Dd December 8, 2001
29.Dt HASHINIT 9
30.Os
31.Sh NAME
32.Nm hashinit
33.\" This should be ported from netbsd as well...
34.\" .Nm hashdone
35.Nd kernel hashtable functions
36.Sh SYNOPSIS
37.Fd #include <sys/systm.h>
38.Ft void *
39.Fn hashinit "int num" "int type" "int flags" "u_long *mask"
40.Sh DESCRIPTION
41The
42.Fn hashinit
43function is used to allocate a hashtable of a desired size given by the
44.Fa num
45argument.
46The
47.Fn hashinit
48function will round this number to the next power of two, and
49allocate and initialize the requested hashtable.
50The
51.Fa type
52and
53.Fa flags
54arguments are passed to the
55.Xr malloc 9
56function unchanged.
57The
58.Fa mask
59argument is used to pass back the mask for use with the allocated
60hashing table.
61For an example of its use, see
62.Xr hash 9 .
63.Sh RETURN VALUES
64The
65.Fn hashinit
66function returns a pointer to the allocated and initialized hash table.
67.Sh SEE ALSO
68.Xr free 9 ,
69.Xr hash 9 ,
70.Xr malloc 9
71.Sh LIMITATIONS
72The
73.Fn hashinit
74function currently only allocates hash tables with LIST bucket pointers
75at this time.
76Future enhancements to allocate QUEUE bucket pointers may be warranted.
77This may necessitate an API change to accommodate.
78.Sh HISTORY
79The
80.Nm
81function first appeared in
82.Bx 4.4 .
83