1.\" $OpenBSD: CRYPTO_get_mem_functions.3,v 1.5 2018/03/27 17:35:50 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: March 27 2018 $ 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 void 47.Fo CRYPTO_mem_leaks 48.Fa "BIO *b" 49.Fc 50.Ft void 51.Fo CRYPTO_mem_leaks_fp 52.Fa "FILE *fp" 53.Fc 54.Ft typedef void * 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 void 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.Sh HISTORY 94.Fn CRYPTO_mem_ctrl , 95.Fn CRYPTO_mem_leaks , 96and 97.Fn CRYPTO_mem_leaks_fp 98first appeared in SSLeay 0.6.4. 99.Fn CRYPTO_get_mem_functions 100and 101.Fn CRYPTO_set_mem_functions 102first appeared in SSLeay 0.6.5. 103.Fn CRYPTO_mem_leaks_cb 104first appeared in SSLeay 0.6.6. 105All these functions have all been available since 106.Ox 2.4 . 107