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