xref: /netbsd-src/external/mpl/bind/dist/lib/isc/mem_p.h (revision 2f62cc9c12bc202c40224f32c879f81443fee079)
1 /*	$NetBSD: mem_p.h,v 1.6 2024/02/21 22:52:28 christos Exp $	*/
2 
3 /*
4  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
5  *
6  * SPDX-License-Identifier: MPL-2.0
7  *
8  * This Source Code Form is subject to the terms of the Mozilla Public
9  * License, v. 2.0. If a copy of the MPL was not distributed with this
10  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
11  *
12  * See the COPYRIGHT file distributed with this work for additional
13  * information regarding copyright ownership.
14  */
15 
16 #pragma once
17 
18 #include <stdio.h>
19 
20 #include <isc/mem.h>
21 
22 /*! \file */
23 
24 void
25 isc__mem_printactive(isc_mem_t *mctx, FILE *file);
26 /*%<
27  * For use by unit tests, prints active memory blocks for
28  * a single memory context.
29  */
30 
31 void *
32 isc__mem_alloc_noctx(size_t size);
33 void
34 isc__mem_free_noctx(void *ptr, size_t size);
35 /*%<
36  * Allocate memory that is not associated with an isc_mem memory context.
37  *
38  * For use purely in the isc_trampoline unit, to avoid the need of copying
39  * multiple #ifdef lines from lib/isc/mem.c to lib/isc/trampoline.c.
40  */
41 
42 void
43 isc__mem_checkdestroyed(void);
44 
45 void
46 isc__mem_initialize(void);
47 
48 void
49 isc__mem_shutdown(void);
50