xref: /freebsd/sys/dev/zlib/zcalloc.c (revision 0ed1d6fb00b8f22c82c3f9054c6dd16eb12469d2)
1*0ed1d6fbSXin LI /*
2*0ed1d6fbSXin LI  * This file is in the public domain.
3*0ed1d6fbSXin LI  * $FreeBSD$
4*0ed1d6fbSXin LI  */
5*0ed1d6fbSXin LI 
6*0ed1d6fbSXin LI #include <sys/param.h>
7*0ed1d6fbSXin LI #include <dev/zlib/zcalloc.h>
8*0ed1d6fbSXin LI #include <sys/kernel.h>
9*0ed1d6fbSXin LI #include <sys/malloc.h>
10*0ed1d6fbSXin LI 
11*0ed1d6fbSXin LI MALLOC_DEFINE(M_ZLIB, "zlib", "ZLIB Compressor");
12*0ed1d6fbSXin LI 
13*0ed1d6fbSXin LI void *
14*0ed1d6fbSXin LI zcalloc_waitok(void *nil, u_int items, u_int size)
15*0ed1d6fbSXin LI {
16*0ed1d6fbSXin LI 
17*0ed1d6fbSXin LI 	return mallocarray(items, size, M_ZLIB, M_WAITOK);
18*0ed1d6fbSXin LI }
19*0ed1d6fbSXin LI 
20*0ed1d6fbSXin LI void *
21*0ed1d6fbSXin LI zcalloc_nowait(void *nil, u_int items, u_int size)
22*0ed1d6fbSXin LI {
23*0ed1d6fbSXin LI 
24*0ed1d6fbSXin LI 	return mallocarray(items, size, M_ZLIB, M_NOWAIT);
25*0ed1d6fbSXin LI }
26*0ed1d6fbSXin LI 
27*0ed1d6fbSXin LI void
28*0ed1d6fbSXin LI zcfree(void *nil, void *ptr)
29*0ed1d6fbSXin LI {
30*0ed1d6fbSXin LI 
31*0ed1d6fbSXin LI         free(ptr, M_ZLIB);
32*0ed1d6fbSXin LI }
33