1.\" $OpenBSD: CRYPTO_get_mem_functions.3,v 1.7 2019/06/10 09:49:48 schwarze Exp $ 2.\" 3.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: June 10 2019 $ 18.Dt CRYPTO_GET_MEM_FUNCTIONS 3 19.Os 20.Sh NAME 21.Nm CRYPTO_get_mem_functions , 22.Nm CRYPTO_set_mem_functions , 23.Nm CRYPTO_mem_ctrl , 24.Nm CRYPTO_mem_leaks , 25.Nm CRYPTO_mem_leaks_fp , 26.Nm CRYPTO_mem_leaks_cb 27.Nd legacy OpenSSL memory allocation control 28.Sh SYNOPSIS 29.In openssl/crypto.h 30.Ft void 31.Fo CRYPTO_get_mem_functions 32.Fa "void *(**m)(size_t)" 33.Fa "void *(**r)(void *, size_t)" 34.Fa "void (**f)(void *)" 35.Fc 36.Ft int 37.Fo CRYPTO_set_mem_functions 38.Fa "void *(*m)(size_t)" 39.Fa "void *(*r)(void *, size_t)" 40.Fa "void (*f)(void *)" 41.Fc 42.Ft int 43.Fo CRYPTO_mem_ctrl 44.Fa "int mode" 45.Fc 46.Ft int 47.Fo CRYPTO_mem_leaks 48.Fa "BIO *b" 49.Fc 50.Ft int 51.Fo CRYPTO_mem_leaks_fp 52.Fa "FILE *fp" 53.Fc 54.Ft typedef int * 55.Fo CRYPTO_MEM_LEAK_CB 56.Fa "unsigned long" 57.Fa "const char *" 58.Fa int 59.Fa int 60.Fa "void *" 61.Fc 62.Ft int 63.Fo CRYPTO_mem_leaks_cb 64.Fa "CRYPTO_MEM_LEAK_CB *cb" 65.Fc 66.Sh DESCRIPTION 67Do not use any of the interfaces documented here. 68They are provided purely for compatibility with legacy application code. 69.Pp 70.Fn CRYPTO_get_mem_functions 71assigns pointers to the C library functions 72.Xr malloc 3 , 73.Xr realloc 3 , 74and 75.Xr free 3 76to those of its arguments that are not 77.Dv NULL . 78.Pp 79.Fn CRYPTO_set_mem_functions , 80.Fn CRYPTO_mem_ctrl , 81.Fn CRYPTO_mem_leaks , 82.Fn CRYPTO_mem_leaks_fp , 83and 84.Fn CRYPTO_mem_leaks_cb 85have no effect. 86.Sh RETURN VALUES 87.Fn CRYPTO_set_mem_functions 88always returns 0. 89.Pp 90.Fn CRYPTO_mem_ctrl 91always returns 92.Dv CRYPTO_MEM_CHECK_OFF . 93.Pp 94.Fn CRYPTO_mem_leaks , 95.Fn CRYPTO_mem_leaks_fp , 96and 97.Fn CRYPTO_mem_leaks_cb 98always return -1. 99.Sh SEE ALSO 100.Xr crypto 3 101.Sh HISTORY 102.Fn CRYPTO_mem_ctrl , 103.Fn CRYPTO_mem_leaks , 104and 105.Fn CRYPTO_mem_leaks_fp 106first appeared in SSLeay 0.6.4. 107.Fn CRYPTO_get_mem_functions 108and 109.Fn CRYPTO_set_mem_functions 110first appeared in SSLeay 0.6.5. 111.Fn CRYPTO_mem_leaks_cb 112first appeared in SSLeay 0.6.6. 113All these functions have all been available since 114.Ox 2.4 . 115