xref: /freebsd/sys/dev/zlib/zcalloc.c (revision a15cb219c6f2b8ed16179c2fce882a2ff327b753)
10ed1d6fbSXin LI /*
20ed1d6fbSXin LI  * This file is in the public domain.
30ed1d6fbSXin LI  * $FreeBSD$
40ed1d6fbSXin LI  */
50ed1d6fbSXin LI 
60ed1d6fbSXin LI #include <sys/param.h>
70ed1d6fbSXin LI #include <dev/zlib/zcalloc.h>
80ed1d6fbSXin LI #include <sys/kernel.h>
90ed1d6fbSXin LI #include <sys/malloc.h>
100ed1d6fbSXin LI 
110ed1d6fbSXin LI MALLOC_DEFINE(M_ZLIB, "zlib", "ZLIB Compressor");
120ed1d6fbSXin LI 
130ed1d6fbSXin LI void *
140ed1d6fbSXin LI zcalloc_waitok(void *nil, u_int items, u_int size)
150ed1d6fbSXin LI {
160ed1d6fbSXin LI 
170ed1d6fbSXin LI 	return mallocarray(items, size, M_ZLIB, M_WAITOK);
180ed1d6fbSXin LI }
190ed1d6fbSXin LI 
200ed1d6fbSXin LI void *
210ed1d6fbSXin LI zcalloc_nowait(void *nil, u_int items, u_int size)
220ed1d6fbSXin LI {
230ed1d6fbSXin LI 
240ed1d6fbSXin LI 	return mallocarray(items, size, M_ZLIB, M_NOWAIT);
250ed1d6fbSXin LI }
260ed1d6fbSXin LI 
27*a15cb219SXin LI void *
28*a15cb219SXin LI zcalloc(void *nil, u_int items, u_int size)
29*a15cb219SXin LI {
30*a15cb219SXin LI 
31*a15cb219SXin LI 	return zcalloc_nowait(nil, items, size);
32*a15cb219SXin LI }
33*a15cb219SXin LI 
340ed1d6fbSXin LI void
350ed1d6fbSXin LI zcfree(void *nil, void *ptr)
360ed1d6fbSXin LI {
370ed1d6fbSXin LI 
380ed1d6fbSXin LI         free(ptr, M_ZLIB);
390ed1d6fbSXin LI }
40